Fitzen – AI-Powered Nutrition Tracker
Fitzen is a progressive web app that helps users achieve their fitness goals through strategic nutrition tracking. Whether the goal is fat loss or muscle gain, Fitzen offers a fast, intuitive experience powered by AI and built with cutting-edge web technologies.
Features
- AI Meal Analysis: Users can upload a photo of their meal, and the AI analyzes it to estimate calories and macros.
- Personalized Tracking: Users track daily meals, weight, goals, and progress.
- Dynamic Onboarding Flow: A motivational and reflective questionnaire helps personalize the journey.
- Multi-language Support: Optimized for Spanish and English speakers.
- Progressive Web App: Installable and mobile-friendly with offline support.
- Stripe Payments: Monthly, annual, and lifetime subscription options with checkout page optimizations.
- Educational Content: In-app guides and AI-generated insights for sustainable fat loss and fitness.
Tech Stack
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS, shadcn/ui
- Backend: Supabase (PostgreSQL, Auth, Storage)
- AI: OpenAI (via Vercel AI SDK) for and meal image and description analysis
- Payments: Stripe with secure subscription flows
- Monitoring: Sentry for error tracking monitoring
- Deployment: Vercel (optimized for speed and global access)
Key Components
Meal Analyzer
The meal analyzer uses OpenAI's Vision model and structured prompt engineering to return:
- Calories and macronutrients
- Food category and portion size
- Language-aware responses
Smart Onboarding
A 10-question flow captures the user's goals, challenges, lifestyle, and preferences to offer a customized experience and higher conversion into paid plans.
Tracking Dashboard
Clean UI for tracking:
- Meals by photo or text
- Weight and goal progress
- History, trends, and motivational nudges
Development Process
- Research: Validated the problem with fitness enthusiasts and nutritionists
- MVP Build: Focused on core features — onboarding, tracking, and AI meal input
- AI Integration: Used OpenAI and Vercel AI SDK to create intelligent, fast experiences
- Monetization: Implemented Stripe for paywall and subscription handling
- Marketing Foundation: Built a lean landing page and onboarding flow with conversion in mind
Challenges & Solutions
Challenge: Optimizing AI Cost and Speed
Some requests (e.g. image analysis) were expensive or slow using OpenAI's Vision model.
Solution: Fine-tuned prompts, used streaming responses, and optimized front-end feedback to keep user experience snappy.
Challenge: Balancing Simplicity and Power
Users needed both ease of use and depth of tracking.
Solution: Designed a mobile-first UI with clean flows, optional advanced features, and gamified progress tracking.
Challenge: Trial-to-Paid Conversion
Many users dropped off before subscribing after trying the app.
Solution: Refined onboarding flow, added personalized call-to-action, and introduced email sequences and urgency-driven pricing models.
Future Enhancements
- [ ] Native app via Expo or Flutter wrapper
- [ ] Real-time meal database matching
- [ ] Daily email reminders with AI content
- [ ] AI-powered coaching insights
- [ ] Affiliate program with referral tracking
Lessons Learned
- Shipping > Perfection: Iterating fast while live helped identify blockers early.
- AI isn't magic: User context and feedback loops make it truly useful.
- Monetization is a design problem: Pricing, timing, and messaging are just as important as features.
- Mobile-first is non-negotiable: 90%+ users came from mobile devices — performance and simplicity were critical.
Fitzen represents everything I believe in as a developer: using modern tools, building fast, and solving real problems with thoughtful, lean products. It's more than a side project — it's a mission to help thousands live better through smart nutrition.