Inspiration Our team was inspired by the everyday struggle of maintaining healthy habits while balancing school, work, and personal life. We realized most fitness and nutrition apps are either too generic or overwhelming. They track numbers but don't adapt to your real behavior — whether you skipped the gym, had a long workday, or just didn't feel motivated. That's how FareFit was born: a personal AI-powered nutrition and fitness assistant that learns from your habits to keep you consistent, not perfect.
What it does FareFit is an AI-integrated wellness platform that helps users track meals, workouts, and overall health in one unified experience.
Core Features: Smart Nutrition Tracking
- Barcode Scanner: Instant food logging via Open Food Facts API integration
- Nutrition Label OCR: Snap photos of nutrition labels for automatic macro extraction using Google Gemini Vision AI
- Manual Entry: Flexible logging with customizable servings and meal categories
- Real-time Macro Dashboard: Beautiful circular progress indicators showing calories, protein, carbs, fat, and fiber with visual targets (90-110% range glows when hit)
Intelligent Workout System
- Comprehensive Exercise Logger: Track sets, reps, weights, and workout duration
- Workout Analysis Engine: Automatic detection of plateaus, volume overload, and strength progression
- One-Rep Max Calculator: Uses Epley formula to estimate max lifts
- Progress Tracking: Historical data showing weight progression, volume trends, and muscle group balance
Dual AI Assistant System
- Food Assistant AI - Personalized meal suggestions based on remaining macros, dietary goals, and eating patterns
- Coach AI - Data-driven workout feedback that references your actual training history, detects plateaus (3+ workouts stuck at same weight), and provides progressive overload recommendations with specific numbers
FareScore: The Fitness Credit Score™ Our unique gamification system that treats consistency like creditworthiness:
- Increases Gradually: Log meals (+1), complete workouts (+2), hit macro targets (+3), maintain streaks (+5)
- Decreases with Inactivity: Miss daily logs (-2), break streaks (-5), inactive for a week (-10)
- Updates Daily: Your score reflects consistency over time, not perfection. Small daily actions compound into big results.
Additional Features
- 4-Week AI-Generated Fitness Plans: Personalized workout and nutrition roadmaps based on goals, TDEE, and activity level
- Daily Timeline: Visual history of meals and workouts with macro summaries
- Dark Mode: Automatic theme switching with system preferences
- Progress Analytics: Charts showing weight trends, macro adherence, and workout volume over time
How we built it
Frontend
- React 18 with TypeScript for type safety
- Vite for blazing-fast development and optimized builds
- Tailwind CSS + shadcn/ui component library for consistent design
- Framer Motion for smooth animations
- Recharts for data visualization
- React-ZXing for barcode scanning
Backend & Infrastructure
- Firebase Authentication (email/password with secure session management)
- Cloud Firestore (NoSQL database with real-time sync)
- Firebase Storage (user-uploaded images)
- Serverless architecture ready for Cloud Functions
AI & Machine Learning
- Google Gemini 2.5 Flash: Meal suggestions, nutrition analysis
- Google Gemini 2.0 Flash (Experimental): Advanced workout coaching with full training history context
- Gemini Vision API: Nutrition label OCR with structured JSON extraction
- Custom prompt engineering for context-aware responses
APIs & Integrations
- Open Food Facts API: 2M+ product barcode database
- TDEE Calculator: Mifflin-St Jeor equation for metabolic rate
- Workout Analysis Service: Custom algorithms for plateau detection and progressive overload
** Challenges we ran into**
- Real-time Data Synchronization: Managing complex state across meals, workouts, and AI responses while keeping Firebase reads efficient
- AI Context Management: Feeding Gemini entire workout histories (sometimes 50+ exercises) without hitting token limits
- Barcode Scanner Reliability: Handling low-quality images, missing products, and API rate limits
- Nutrition Label OCR Accuracy: Training prompts to extract structured JSON from diverse label formats (some labels have weird layouts)
- Macro Calculation Edge Cases: Handling zero targets, incomplete data, and serving size conversions
- Workout Analysis Algorithms: Detecting plateaus without false positives, calculating meaningful volume metrics
- UI Performance: Rendering 100+ meals/workouts without lag, optimizing React re-renders
- Firebase Security Rules: Preventing unauthorized access while allowing real-time updates
- Git Merge Conflicts: Coordinating feature branches during rapid development (especially during the pull request merge earlier!)
- API Versioning: Gemini experimental models require v1beta endpoints while stable models use v1
Accomplishments we're proud of
- Built a fully functional AI-based nutrition and fitness tracker.
- Designed an intuitive UI that makes food logging feel satisfying (those glowing macro rings when you hit targets!)
- Created FareScore - a unique "fitness credit score" gamification system
- Implemented dual AI assistants (Food + Coach) with distinct personalities and purposes
- Nutrition Label OCR that extracts macros from photos with 90%+ accuracy
- Workout Analysis Engine that detects plateaus, calculates 1RM, and tracks volume progression
- Real-time macro dashboard with animated progress rings and target hit detection
- Barcode scanner integration with 2M+ product database
- 4-week AI-generated personalized plans with progressive training and nutrition advice
What we learned
- AI Prompt Engineering: How to structure prompts for consistent, actionable fitness advice (especially getting Gemini to reference specific workout data)
- Firebase at Scale: Optimizing Firestore queries, structuring data for real-time sync, and managing security rules
- Computer Vision with LLMs: Using Gemini Vision for OCR is more flexible than traditional OCR libraries
- UX Psychology: People stick to systems that feel good to use - visual feedback (glowing targets) > raw numbers
- Progressive Overload Science: Implementing real training principles (Epley formula, volume landmarks, deload weeks)
- TypeScript Best Practices: Strict typing prevents runtime errors in complex data flows
- State Management: React hooks + Firebase listeners can replace Redux for most use cases
- Gamification Design: FareScore teaches us that negative reinforcement (losing points) motivates consistency more than positive-only systems
- API Reliability: Always have fallbacks (our streaming API fell back to regular chat when it failed)
- Team Collaboration: Clear communication and frequent commits prevent merge conflicts

Log in or sign up for Devpost to join the conversation.