Shon J.

Projects For fun

Rep

A fitness band rebuilt around its raw signal, and honest about every number.

Role
Designed and built with AI, solo
Years
2026
Status
Live
Platform
iPhone app, web dashboard and server

A derived score never pretends to be a measurement.

The raw signal, read honestly

Today at a glance: how last night went
Rep's sleep staging beside the band's own

From samples to verdicts

Recovery, strain and sleep are worked out here, against your own baseline.

Every thirty-second sample, unsmoothed
Lost contact stays a gap, never filled in
Recovery against your own baseline
Strain, computed here, not read off the vendor

Decisions

  1. Decision 1

    Three questions for every series

    I ask every decoded series: does it read back against the app, fit the day and stay possible?

  2. Decision 2

    Three bands, shown quietly

    Each reading gets a small mark: confirmed, likely or unknown. Unknown stays out of the figures.

    Considered Showing every decoded series the same way

  3. Decision 3

    Archive raw, decode later

    I store every raw message before decoding, so a fixed decoder can re-run over history.

How it was made

I designed and built it with AI. The band speaks an undocumented protocol, so I read it off the wire, then checked every series before drawing anything.

  1. 1

    Decoded

    I captured the band's Bluetooth messages from its own app's traffic, then decoded them.

  2. 2

    Designed

    Bento tiles, one bold colour per metric, and a quiet provenance mark on every number.

  3. 3

    Built with AI

    I built the iPhone app, server and dashboard with Claude Code.

Made with: Swift iPhone app over Bluetooth LE, a Python server with SQLite, and a React dashboard behind a Cloudflare Worker.

Get in touch