Personal body-recomposition tracker
Translation pending
HealthTypeScript · HTMLGitHub @BandyBarbecueOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The fitness tracker app I've made.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A full-stack personal body-recomposition tracker with two AI features: Claude vision reads a screenshot from a nutrition app and fills in your macros, and an AI coach streams a weekly check-in based on everything you've logged.
Live: https://fitness-tracker-steel-tau.vercel.app (single-user app, so it needs a login)Read the full README ↗A full-stack personal body-recomposition tracker with two AI features: Claude vision reads a screenshot from a nutrition app and fills in your macros, and an AI coach streams a weekly check-in based on everything you've logged.
Live: https://fitness-tracker-steel-tau.vercel.app (single-user app, so it needs a login)
| Layer | Choice |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript |
| Styling | Tailwind CSS v4 |
| Data | Supabase Postgres, with row-level security on every table (rows scoped to auth.uid()) |
| Auth | Supabase Auth via @supabase/ssr. A request proxy gates every route except /login |
| Storage | Private Supabase buckets. Images are served via short-lived signed URLs |
| Client data | TanStack Query v5 (caching and optimistic updates) |
| Charts | Recharts |
| AI | Anthropic SDK (Claude Sonnet), called only from server API routes, so the key never reaches the browser |
| Tests | Vitest (68 unit tests: rolling averages, date helpers, analytics stats, check-in prompt builder, meal logs) |
| Hosting | Vercel |
POST /api/ai/extract-macros (vision extraction) and POST /api/ai/weekly-checkin (streamed response). Both are auth-gated.supabase/migrations/ (0001_schema.sql, 0002_meal_logs.sql).npm install
cp .env.local.example .env.local # add your Supabase URL/anon key and Anthropic API key
npm run dev # http://localhost:3000
npm test # Vitest
Apply the SQL migrations in supabase/migrations/ to your Supabase project first.
I built this with Claude Code in June 2026, using a spec-driven workflow from the Superpowers plugin:
The MVP (17 tasks) was built in one afternoon. Three follow-up features were each specced, planned and built the same way over the next two days: date navigation, per-meal nutrition, and analytics. The specs and plans are in docs/superpowers/.
I was the product owner and user: I set the goals and requirements, made the design decisions, set up Supabase and Vercel, and tested the app day to day. Claude Code wrote most of the implementation.