Cal AI
Track your calories with just a picture
Health & Fitness
The verdict
Build a personal nutrition logging wrapper in a couple of weekends, but skip trying to replicate their $40M TikTok marketing machine.
The core software loop of snapping a photo, sending it to a vision model, and parsing JSON for calories is straightforward for a single developer using modern AI agents. However, achieving high accuracy on messy food plates requires rigorous prompt tuning and fallback handling. For personal use, building a web-based PWA or React Native app that hits an LLM vision endpoint is entirely practical; just don't expect to magically bootstrap millions of downloads without their influencer ad spend.
Estimated effort: 2-3 weekends of focused work
What you can't replicate
- $30M-$40M ARR marketing engine and TikTok affiliate army
- Corporate backing and acquisition by MyFitnessPal
- Proprietary fine-tuning data across 15 million downloads
Founded
2024
Raised
unknown
Team
Extremely lean startup origin (2 founders)
Cheapest paid tier
$3.99/week
What Cal AI does
AI-powered nutrition and calorie tracking application that estimates food volume and calculates nutrients from photos.
Core features
- Photo capture & multimodal LLM vision analysis for food identification
- Portion size estimation via visual estimation / heuristics
- Macronutrient calculation (calories, protein, carbs, fat)
- Barcode scanning for packaged foods
- Manual food entry and recipe builder
- Apple Health and Google Fit health metrics sync
- Daily calorie streak tracking and history dashboard
The business
Pricing
- Free TierFree
- Weekly Subscription$3.99/week
- Monthly Subscription$9.99/mo
- Annual Subscription$19.99 - $29.99/yr
Funding
unknown from MyFitnessPal (Acquirer)
Pay vs build, cumulative
Break-even at month 13 — after that, every month is money kept.
The hard parts of vibe coding Cal AI
- Multimodal prompt engineering to handle poorly lit, mixed-plate food photos with consistent calorie accuracy
- Aggressive marketing funnel & social media acquisition engine (the real moat)
- App Store & Google Play in-app purchase subscriptions, restore flows, and state synchronization
- Cross-platform native mobile wrapper performance and offline caching
How to vibecode Cal AI
Prerequisites
Node.jsfree
Runtime environment for building the full-stack web and mobile application.
GitHubfree
Source control and deployment pipeline integration.
OpenAI or Anthropic API Keypay-as-you-go
Required for multimodal vision analysis of meal photos.
AI coding tools
Recommended stack
| Frontend | React / Next.js with Tailwind CSS, configured as a Progressive Web App (PWA) for mobile camera access |
|---|---|
| Backend | Next.js API routes or Cloudflare Workers |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Payments | None needed for personal use (Stripe optional if exposing to others) |
| Other | OpenAI GPT-4o API for vision analysis, Open Food Facts API for barcodes |
Hosting & infrastructure
| Cloudflare | Full-stack hosting, edge functions, and database via D1 or external Supabase | $0-5/mo |
| Supabase | PostgreSQL database and user authentication | $0/mo (Free tier) |
Build guide
01Project Scaffolding & Database Schema
Initialize a full-stack Next.js project with Tailwind CSS and Supabase integration, setting up tables for users, meals, food items, and daily goals.
Scaffold a new Next.js 16 project with Tailwind CSS v4, TypeScript, and Supabase client configuration. Create a Supabase SQL migration file for a nutrition tracking app with tables: 'profiles' (id, user_id, target_calories, target_protein, target_carbs, target_fat), 'meals' (id, user_id, meal_type, image_url, logged_at, total_calories, total_protein, total_carbs, total_fat), and 'food_items' (id, meal_id, name, portion_grams, calories, protein, carbs, fat). Implement Supabase Auth helpers for email/password sign-in. Ensure all configurations are clean and ready for deployment.02Camera Capture & Mobile-First UI Dashboard
Build a responsive, mobile-first dashboard featuring a bottom navigation bar, daily progress rings for calories and macros, and a prominent camera capture button.
Create a mobile-first dashboard page in Next.js styled with Tailwind CSS. Include a header showing daily streak and date, circular progress bars for calories remaining and macros (protein, carbs, fat), a chronological list of logged meals for today, and a prominent floating action button (+ button) to log a new meal. Build a responsive modal or dedicated view for capturing photos directly from a mobile device camera or uploading an image file from the gallery. Implement proper loading skeletons and error states.03Multimodal AI Vision Integration
Implement a backend API route that accepts food photos, sends them to OpenAI GPT-4o with structured prompt engineering, and returns parsed nutritional data.
Build a server-side API endpoint in Next.js that accepts a base64 image or image URL of a meal. Use the OpenAI SDK to call GPT-4o with a specialized prompt instructing the model to act as an expert nutritionist and calorie estimator. The model must return a strictly validated JSON response containing: meal description, estimated total weight in grams, total calories, protein (g), carbs (g), fat (g), and an array of individual food items detected with their respective macro breakdown. Handle invalid images, network timeouts, and malformed JSON fallbacks gracefully.04Meal Logging & Confirmation Flow
Connect the AI vision analysis output to an interactive review screen where users can inspect detected items, adjust portion sizes, and save the meal to Supabase.
Implement the meal logging confirmation flow. When the vision API returns macro data from a photo, display an interactive review screen showing the preview image, estimated totals, and an editable list of detected food items. Allow users to edit item names, portion sizes, or delete items, which dynamically recalculates total calories and macros. Add a 'Save Meal' button that writes the record and associated items into the Supabase 'meals' and 'food_items' tables, then redirects back to the dashboard with an updated daily summary.05Barcode Scanner & Manual Search Fallback
Integrate barcode scanning capabilities and manual text search using public food databases to handle packaged goods and items unsuitable for photo estimation.
Add alternative logging methods: a barcode scanner using the browser's camera (via html5-qrcode or equivalent lightweight library) that queries the Open Food Facts API to retrieve product nutrition, and a manual search input that queries a mock or external food database. When a food item is found via barcode or manual search, allow the user to adjust serving sizes and save it directly to their daily log using the same data structure as the photo scanner.06Dashboard Analytics & Polish
Add historical weekly charts, dark mode styling, and data export features to round out the personal tracker experience.
Enhance the application with a weekly analytics tab showing calorie and macro trends over the last 7 days using simple SVG charts or Tailwind-based progress bars. Ensure full support for a sleek dark mode theme matching modern fitness apps. Add user settings to update daily calorie and macro goals, and implement a data export feature to download nutrition logs as CSV or JSON.
Cost vs paying for Cal AI
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Claude Pro / Cursor Pro (AI coding tools)$20
- OpenAI API credits (Vision testing)$10
Total~$30 one-time
Ongoing costs (monthly)
- Cloudflare / Supabase hosting$0-5/mo
- OpenAI API usage (personal logging)~$3-5/mo
Total~$5-10/mo
Paying for Cal AI
$9.99/mo (~$120/yr or $200/yr weekly)
Your time to build
12-16 hours
AI tool credits
$20
Break-even
1 month
Sources
Vibecoded copycats
All copies →Loading…