Vibecode Bevel

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $14.99/moyou'd save $179.88/yrbuild time a weekendcategory 🧘 wellnessreplaced by 0 people

Bevel is not sitting on secret data: it reads the same HealthKit records your watch already wrote, then does math and draws charts. An agent can absolutely build you a local dashboard over an Apple Health export that computes rolling averages, sleep and HRV trends, and lag correlations between habits and recovery. The gap is delivery, not analysis: real HealthKit access means an actual iOS app, Xcode, a developer account and background sync, and manual export zips get stale fast. You also lose the part Bevel spends most of its effort on, which is turning noisy sensor data into something you glance at once a day and actually understand. Fine for a curious quantified-self person, annoying for anyone who wants a phone widget.

the project pack5 files · written for this build, step by step
README.md
# Bevel · indie build

A local analytics dashboard over your own health export whose hard problems are ingesting a file too large to hold in memory, resolving two devices that both recorded the same day, and presenting each metric at the resolution the published validation supports rather than the resolution the file happens to have.

Estimated effort: **weekend**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Python 3.12 with a local web dashboard, nothing leaving the machine | this is a record of your body and it belongs on your disk |
| Ingest | An incremental XML parser writing straight to SQLite in batches | the export is hundreds of megabytes and a document parser will not survive it |
| Storage | SQLite, one row per exported record, source and device retained | you cannot resolve a double count without knowing which device wrote what |
| Analysis | A declared set of comparisons with intervals and sample sizes | a dashboard that tries every pair is a machine for generating findings |
| Presentation | Every figure carries its device, its sample size and its known agreement | the number is only as good as the classifier that produced it |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Python 3.12 or newer** · free
  - Why: Runs the importer, the analysis and the local dashboard.
  - Get it: python.org, or your package manager.
  - Verify: python3 --version prints 3.12 or higher
- [ ] **Your own health export archive** · free, plus the wait while it generates
  - Why: Everything here is built against the real file, and the real file is far larger and far messier than any sample you will find.
  - Get it: From the health application on your phone, request a full export and transfer the archive to the machine running this.
  - Verify: The archive extracts and the importer reports a record count and export date
- [ ] **Enough disk for the archive, the extraction and the database** · free
  - Why: The extracted export and the database together are several times the archive, and running out part way through an import is the most common first failure.
  - Get it: Check free space against the archive size multiplied by a factor you measured on the first import.
  - Verify: A full import completes and the measured total size is written in the README
- [ ] **What each metric is allowed to display** · free
  - Why: The published validation differs sharply by metric, and deciding presentation after the charts exist means deciding it from whatever looked best.
  - Get it: Write down, per metric, whether it is shown as a value, a band or a baseline, and which published figure justifies that.
  - Verify: The table is in the README and each rule is asserted in a test
- [ ] **The comparison pairs and lags, declared in advance** · free
  - Why: Declaring them afterwards turns a dashboard into a search for whatever matches the story you already had.
  - Get it: List the metric pairs and lags you care about in the configuration file with today's date.
  - Verify: The dashboard shows only declared pairs and prints the total comparison count

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Live background synchronisation.
- A composite readiness or recovery score.
- Clinical interpretation of any kind.
- Non-Apple device sources.
- Live background sync; you are re-exporting a zip by hand
- A phone app, widgets and notifications
- Their opinionated composite scores and plain-English daily readouts
- Non-Apple device integrations and whatever normalisation they do across sources
- Charts that a designer looked at

If one of those is essential to you, that is the reason to keep paying for Bevel, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

Because the value of health metrics collapses if you have to go fetch them. Bevel's job is to be already updated when you open your phone, with a number you trust and a sentence that explains it. A local notebook that needs a manual export every two weeks answers different questions: interesting once, abandoned by month two. People pay for the part that keeps running when their curiosity does not.

what you lose

xLive background sync; you are re-exporting a zip by hand

xA phone app, widgets and notifications

xTheir opinionated composite scores and plain-English daily readouts

xNon-Apple device integrations and whatever normalisation they do across sources

xCharts that a designer looked at

prior art · use these instead of building, if you'd rather

Nothing worth pointing at. That's why the prompt exists.

share on X ↗"I just replaced Bevel ($14.99/mo) with one prompt"
questions
Vibecode Bevel

Kinda. The core of Bevel is buildable in a weekend with the prompt on this page, but there are real gaps: Live background sync; you are re-exporting a zip by hand, A phone app, widgets and notifications. Read the honest list above before committing.

How much does Bevel cost?

Bevel costs about $14.99/month (Bevel Pro, checked 2026-08-18), which is $179.88 per year.

What do I lose by replacing Bevel?

Honestly: Live background sync; you are re-exporting a zip by hand; A phone app, widgets and notifications; Their opinionated composite scores and plain-English daily readouts; Non-Apple device integrations and whatever normalisation they do across sources; Charts that a designer looked at. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Bevel?

No mature open-source alternative worth pointing at, which is exactly why the one-shot prompt on this page exists.