Lab · exploring · July 5, 2026
Novel - bringing a Bevel-class health app to Android with AI
Hypothesis
Screenshot-driven AI planning, followed by routing phases across multiple coding agents by cost and speed, can produce a working version of a complex, data-heavy app in days instead of months.
Outcome
A working Bevel-style recovery app in 1-2 days. The planning step mattered more than raw coding speed - good specs produced good output. The last 20% (edge cases, sync reliability, polish) is still where the real time goes.
Bevel is one of the best health/recovery apps out there - and it’s iOS-only. I built the Android equivalent, mostly with AI, to see how far screenshot-driven planning and multi-agent execution could actually take a complex, chart-heavy app.
The gap
Bevel turns wearable data into a daily recovery score and tells you whether to train hard or rest - Whoop-grade analytics without a Whoop. Android has nothing that matches it: existing options are either raw data dumps or locked behind subscriptions. I’ve been on a health journey for 8 months, which made me the ideal user to build this for - building for yourself means you already know what “good” looks like.
It’s also a genuinely hard test for AI-assisted development: multi-screen, chart-rich, data-heavy. Most AI-build demos are a landing page or a to-do app. This isn’t that.
The method: screens → plan → agents
- Analyze the reference. Captured about 80 screenshots covering every Bevel surface - recovery dashboard, sleep stages and debt, strain/load, HRV and resting heart rate trends, nutrition logging, settings - and fed them to Claude Fable to extract the information architecture, metric definitions, scoring logic, and visual patterns behind each screen.
- Turn the analysis into a phased plan. Foundation first, then the data layer, then feature screens, then polish. Each phase was scoped as a self-contained spec any coding agent could execute independently.
- Route phases across agents by cost and speed. Heavier architectural phases went to the stronger, pricier agent (Claude Code); repetitive screen-building phases went to the faster, cheaper one (Google Antigravity). GitHub kept every phase versioned so agents could pick up cleanly from each other’s work. Firebase handles auth and sync, while core health data stays on-device - the same local-first principle Bevel uses.
What it looks like
Onboarding: sign in, a Bevel-style pitch, the Health Connect permission ask, profile setup, and the one-time historical import.

Sign in. The app’s metallic “n” mark and a Sign in with Google button.

The pitch. “Know your body. Optimise every day,” introducing Recovery, Strain, and Sleep.

Why we need your data. The exact health signals it reads: sleep, heart rate, HRV, resting heart rate, workouts, steps, and a year of history.

Health Connect. Granting Android’s Health Connect permission.

Profile setup, empty. Name, date of birth, weight, height, biological profile, and sleep need.

Profile setup, filled in. The same form with sample data entered.

Importing history. A year of health history backfilling on first launch.
Home: the daily Recovery, Strain, and Sleep scores, plus the quick-add menu for logging activity, journal entries, and lab reports.

Home. Strain, Recovery, and Sleep as three daily scores, plus an Ask Novel chat bar.

Quick add. Logging activity, journal entries, or a lab report from one menu.
The Daily Journal, before and after a day is logged: mood, habits, tags, and notes.

Daily Journal, unlogged. A mood picker and daily habit toggles for a day not yet logged.

Daily Journal, logged. The same day marked complete with a mood selected.
Fitness and Trends: a monthly activity heatmap and multi-week graphs for Recovery and Strain.

Fitness. A 30 day activity heatmap by month, plus Strain and Cardio Load.

Trends. Recovery and Strain over a week, with averages, best, and latest values.
Logging an activity, and the Calendar view for scanning scores across a whole month.

Log Activity. Activity search, a duration slider, and a perceived exertion slider.

Calendar. Every day of the month at a glance, scored for Recovery.
What I learned
- The planning step was the real unlock, not raw coding speed. The screenshot-to-phased-plan step mattered more than which agent wrote the code - good specs produced good output, consistently.
- Multi-agent routing works. Matching task complexity to agent cost and capability cut both time and spend meaningfully, rather than running everything through one expensive model.
- 1-2 days is real for a first working version of a complex, data-driven app - but the last 20% (edge cases, sync reliability, polish) is still where the real time goes, same as it always has been.
What’s next
Remaining build phases (nutrition/barcode scanning, strength builder, deeper trend analytics), widgets and Wear OS complications, an AI coach layer for personalized daily recommendations, and a Play Store beta.