All projects

FableVita

FableVita — an AI fitness coach with leagues, quests and a fraud-safe rewards economy.

Vue 3webedge-dbSwiftKotlinWearables
FableVita app screenshot with the AI coachDev-story
01

Challenge

FableVita is one product across many surfaces — web, coach tools, iOS, Android, Apple Watch and a dozen wearable integrations — and it rewards real activity, which invites cheating if the economy is naive.

02

What we did

A core real-time platform (our own webedge-db backend) feeds an AI coach, a coach marketplace and a gamification layer — levels, streaks, quests, seasonal leagues with promotion/relegation, team challenges and a trophy cabinet — on top of a rewards economy: provider-neutral fulfillment (discount / store-credit / sponsor), idempotent payouts with refund/reversal on an append-only audit ledger, deterministic suspicious-activity signals and moderator triage so bots and segment-cheats do not drain rewards.

03

Result

Every surface works off the same athlete data — from logging one workout to a season of leagues — while the reward side stays auditable and hard to game.

Dev-story article

FableVita: how the project was built

FableVita is one product spread across many surfaces — web, coach tools, iOS, Android, Apple Watch and a dozen wearable integrations — and it does something most fitness apps do not: it pays out real rewards for real activity. The moment an app rewards behaviour, people try to game it, so the interesting engineering is less the coach and more the economy that has to survive being attacked.

Sections

05

Modules

05

Stack

Vue 3 + webedge-db

01

Why the project exists

FableVita is one product across many surfaces — web, coach tools, iOS, Android, Apple Watch and a dozen wearable integrations — and it rewards real activity, which invites cheating if the economy is naive.

FableVita is one product spread across many surfaces — web, coach tools, iOS, Android, Apple Watch and a dozen wearable integrations — and it does something most fitness apps do not: it pays out real rewards for real activity. The moment an app rewards behaviour, people try to game it, so the interesting engineering is less the coach and more the economy that has to survive being attacked.

02

What was built

A core real-time platform (our own webedge-db backend) feeds an AI coach, a coach marketplace and a gamification layer — levels, streaks, quests, seasonal leagues with promotion/relegation, team challenges and a trophy cabinet — on top of a rewards economy: provider-neutral fulfillment (discount / store-credit / sponsor), idempotent payouts with refund/reversal on an append-only audit ledger, deterministic suspicious-activity signals and moderator triage so bots and segment-cheats do not drain rewards.

On top of a core real-time backend, FableVita layers an AI coach, a coach marketplace and a gamification system — levels, streaks, quests, seasonal leagues with promotion and relegation, team challenges and a trophy cabinet — and under all of that a rewards economy: provider-neutral fulfillment (discount, store-credit or sponsor), idempotent payouts with refund and reversal recorded on an append-only audit ledger, and a fraud layer that decides which activity actually counts.

03

Main modules and user path

M01

Rewards fulfillment is provider-neutral and idempotent: a single interface issues a discount, store-credit or sponsor reward, a state machine handles local and manual fulfillment, and refunds and reversals are appended to an audit ledger rather than mutating history.

M02

Anti-fraud is deterministic, not vibes: centralized suspicious-activity signals (impossible speeds, segment, quest and league anomalies) feed a moderator triage queue that never auto-bans — a human confirms, and every activity carries a provenance label explaining why it did or did not count.

M03

Leagues run a real season: standings materialize with stable rank and tie rules, season close is idempotent (it can be re-run safely) and handles rewards, promotion and relegation in one pass.

M04

Challenges are guarded against the model itself: personalized challenge drafts have deterministic bounds and a preview-then-validate-then-confirm flow, so model text can never override the scoring engines.

M05

Imports are safe by construction: a partial-commit-safe path means a session insert never flips to failed halfway, and failure-injection tests prove side effects never break core writes.

04

Architecture and technology decisions

Built with Vue 3, webedge-db, Swift, Kotlin, Wearables.

A core real-time backend feeds separate coach apps, mobile clients and wearable adapters (Apple Watch, Garmin, Polar, Whoop, Oura, Fitbit, Withings, Coros and more); Wave-1 hardening closed root-authorization gaps and made secrets production-strict; the Cloudflare Pages 25MB limit even forced dropping an on-device nutrition model — a real constraint, handled honestly.

05

Result and lessons

Every surface works off the same athlete data — from logging one workout to a season of leagues — while the reward side stays auditable and hard to game.

A fitness super-app where the reward side is auditable and hard to game: one athlete data model from a single logged workout to a full season of leagues, with an economy that assumes it will be attacked and is built to survive it.

Read next

These projects share nearby technical or product decisions, so they show how the same principle behaves in another context.

Have a similar idea?

Discuss your project