Projects

Click on any project card below to view the live application

April 2026

RecipeStash

https://recipestash.food

Product Documentation

Overview

RecipeStash is a modern recipe management application that allows users to capture, organize, and manage recipes effortlessly using AI-powered tools and intuitive features. It is designed for everyday users who want a centralized, smart, and personalized cooking companion.

Core Features

1. AI Recipe Extraction (Image to Recipe)

  • Upload an image of a recipe (for example: screenshot, cookbook, handwritten notes)
  • AI automatically extracts ingredients, instructions, and recipe title
  • Eliminates manual typing and speeds up recipe creation

2. Recipe Import via URL

  • Paste a recipe link from any website
  • Automatically parses and imports structured data: ingredients list, cooking steps, and metadata (if available)

3. Manual Recipe Creation

  • Users can create recipes from scratch
  • Structured input fields: title, ingredients, instructions, and notes or tips
  • Designed for flexibility and ease of use

4. Recipe Organization

  • Store all recipes in one place
  • Clean and intuitive UI for browsing
  • Quick access to saved recipes

5. Smart Shopping List

  • Convert ingredients into a shopping list
  • Helps users prepare before cooking
  • Reduces friction in meal planning

6. Meal Planning

  • Plan meals ahead of time
  • Assign recipes to specific days
  • Helps with time management, grocery planning, and diet consistency

7. News Feed / Discovery

  • Displays recipe-related updates or content
  • Keeps users engaged and inspired
  • Supports future scalability (for example: community features)

8. User Profiles

  • Personalized user experience
  • Stores user-specific data: recipes, preferences, and activity

RecipeStash Feature Videos

Built a recipe management platform powered by AI to simplify recipe creation, organization, and meal planning.

AI Powered Image Recipe Extraction

Extracts recipe details directly from uploaded images using AI. Automatically identifies ingredients, instructions, and formatting, turning screenshots or photos into structured, usable recipes in seconds.

AI Powered Recipe via Link

Generates complete recipes from a shared URL. The system scans the webpage, extracts relevant cooking data, and converts it into a clean, standardized recipe format for easy use and saving.

All Recipe Feature

Centralized recipe management system where users can view, organize, and access all saved recipes in one place. Designed for easy navigation and efficient content management.

Create Post with Linked Recipe

Allows users to create and share posts connected to specific recipes. Combines content creation with functionality, making it easy to showcase recipes while keeping them structured and accessible.

Grocery Lists Feature

Automatically generates grocery lists based on selected recipes. Helps users streamline meal prep by organizing ingredients into a convenient, actionable checklist.

Manual Create Recipe Feature

Enables users to manually input and customize recipes. Ideal for adding original or unique recipes with full control over ingredients, steps, and formatting.

Meal Plan Feature

Provides a structured way to plan meals in advance by organizing recipes into a schedule. Helps users stay consistent, save time, and manage their weekly or daily food planning efficiently.

April 2026

FlickBook - Full-Stack Pickleball Matchmaking App

Overview

FlickBook is a full-stack mobile application built for the pickleball community. It combines social networking, competitive matchmaking, real-time messaging, and court discovery into a single platform. It is purpose-built for players who want to find games, track their performance, and connect with others.

Tech Stack

Frontend

  • React Native (TypeScript): Cross-platform mobile app (iOS and Android)
  • React Navigation: Stack and bottom tab navigation
  • socket.io-client: Real-time WebSocket for chat and notifications
  • react-native-maps: Interactive Google Maps with custom markers
  • react-native-geolocation-service: Precise GPS location detection
  • react-native-image-picker: Camera and photo library access
  • lucide-react-native: Icon library
  • Parkinsans: Custom app-wide font

Backend

  • NestJS (TypeScript): Modular REST API framework
  • MongoDB and Mongoose: Primary database with TTL indexes
  • Socket.io: Real-time events for chat and notifications
  • JWT: Access and refresh auth tokens
  • bcrypt: Password hashing
  • AWS S3: Image storage for posts, day stories, and avatars
  • Google Places API: Court discovery and location autocomplete
  • @nestjs/schedule: Cron jobs for post expiry and ELO decay

Features

1. Authentication: Full email/password signup and login with JWT access and refresh tokens, Google OAuth sign-in, password reset via email, and persistent sessions using AsyncStorage.

2. Social Feed: Scrollable feed with posts, likes, comments, and nested replies. Supports S3 image uploads and profile navigation from author taps.

3. My Day (Stories): 24-hour story feature with up to 10 photos, captions, horizontal story bar, full-screen viewer, and TTL-based auto expiry.

4. Find a Game: Matchmaking board for Looking to Play and Looking for Players posts, invite flow, auto-created 1-on-1 chat on acceptance, Google Places autocomplete, and 24-hour post expiry.

5. Real-Time Chat: Socket.io 1-on-1 chat with optimistic sends, read receipts, HTTP fallback when disconnected, and paginated message history.

6. ELO Rating System: CS2-inspired system with placements, adaptive K-factor, upset and streak modifiers, inactivity decay, 10 tiers, and leaderboard filters.

7. Court Map: Live GPS location, nearby court loading, autocomplete search, custom markers, court detail sheet, filters, and zoom controls.

8. Teams: Team roles (Owner, Captain, Member), profiles, invites by handle, join approvals, member management, and visibility controls.

9. User Profiles and Follow System: Public profiles with ELO badge and activity tabs, plus animated optimistic follow/unfollow interactions.

10. Notifications: Real-time delivery with 15 event types, deep linking, unread filters, grouped sections, mark-all-read, and preference toggles.

11. Score Tracking: Singles and doubles score submission that triggers ELO updates for all participants.

12. Settings: Dark/light theme toggle, notification preferences, and profile editing.

Architecture Highlights

  • Modular NestJS backend with self-contained feature modules (Auth, Days, Teams, GamePosts, Chat, Notifications, Rating) wired through `app.module.ts`
  • Global NotificationsModule marked with `@Global()` so any service can trigger notifications through a single injected service
  • Deferred S3 uploads keep images as local URIs until submit, avoiding orphaned objects from abandoned drafts
  • Precise GPS setup with `maximumAge: 0` and `watchPosition` updates only when accuracy improves
  • Theme system keeps layout in `StyleSheet.create()` and applies colors inline via `useTheme().colors` for instant theme switching
  • MongoDB TTL indexes automatically expire stories, game invites, and notifications without manual cleanup jobs

FlickBook Feature Videos

Find A Court Feature with Google Map

Helps players find nearby pickleball courts using Google Maps, location search, GPS, and filters like Open Now, Indoor, Outdoor, and Near Me. Users can tap map markers to view court details such as photo, rating, hours, phone number, directions, and sharing options.

Find A Game Feature with 1-on-1 Chat

A game-matching feature where players can post games, find other players, and connect based on skill level and location. Once a request is accepted, a private real-time chat opens for direct coordination.

Match Feature

Allows players to submit singles or doubles match results, enter scores, and select opponents. Results automatically update player rankings through an ELO-based rating system across multiple skill levels.

My Day Feature

A 24-hour story feature where users can share photos with captions, similar to Instagram Stories. Stories appear in the feed, play in full screen, and automatically expire after 24 hours while remaining saved in the user’s profile gallery.

Newsfeed Feature

A community feed where users can share updates, photos, and posts, while others can like, comment, and reply in threaded conversations. It also includes notifications, profile navigation, and quick posting actions.

Team Feature with Team Chat

A team management feature where players can create or join teams with different roles and visibility settings. Teams have their own profile, member system, and real-time group chat for communication.

January 2026

GoFetch - Task Marketplace Platform

🚧 Personal Project - Currently in Development (Not Yet Deployed Live)

A full-stack mobile marketplace platform that connects clients who need tasks completed with fetchers willing to complete them. Similar to TaskRabbit meets Grab, GoFetch enables anyone to post errands (grocery shopping, food delivery, pickup services) and allows other users to bid on and complete these tasks for a client-determined delivery fee.

Technology Stack

Frontend (Mobile)

  • React Native - Cross-platform mobile development (iOS & Android)
  • Expo - Development toolchain and build system
  • TypeScript - Type-safe development
  • React Navigation - Screen navigation and routing
  • Expo SecureStore - Secure credential storage
  • React Native Maps - Location services and tracking
  • Lucide React Native - Icon library

Backend (API)

  • NestJS - Progressive Node.js framework
  • TypeScript - End-to-end type safety
  • JWT (jsonwebtoken) - Secure authentication
  • bcryptjs - Password hashing
  • MongoDB - NoSQL database for flexible data models
  • Mongoose - MongoDB object modeling
  • Class Validator - DTO validation

Infrastructure & DevOps

  • Railway - Backend hosting and deployment
  • Render - Alternative backend hosting
  • MongoDB Atlas - Cloud database hosting
  • Docker - Containerization (optional)
  • Git/GitHub - Version control and CI/CD

Development Tools

  • Cursor IDE - AI-assisted development
  • Postman - API testing
  • ESLint & Prettier - Code quality
  • pnpm - Fast package manager