Aug 2026 · 3 min read
Building Aura Pilates: A Mat Workout Studio With a Player That Respects the Session
I shipped Aura Pilates — calm-strength mat training with journeys and a real in-session player. The hard part was product completeness: states, progress that actually resets, and art that can be replaced without rewriting the app.

I shipped Aura Pilates — a Flutter fitness app for guided mat workouts: personalized quick sessions, a searchable Movement Library, 28-day plans, and a Journey tab for history, calendar, and body metrics.
After KegalFlow (privacy-first adaptive wellness), Aura is the other side of the same coin: a broader fitness studio with calmer branding (ocean ink / warm sand / coral) and a player built for uninterrupted focus.
The session is the product
Detail screen → player → completion.
The player phases are explicit:
- Get-ready countdown (10s)
- Exercise timer for the current move
- Rest between moves, with +15s when you need it
- Pause / resume, previous / skip, sound toggle
- Exit guard so a mis-tap doesn’t throw away the session
- Completion summary with streak
Final seconds cue sound + haptics when timer sounds are on. Wakelock stays enabled for the life of the player so the screen doesn’t sleep mid-hold.
That’s the difference between a list of exercises and a studio.
28-day journeys and progress that doesn’t lie
Three plan levels (one premium), week grids with rest days, done/next markers, persistent progress. Journey tab: totals, monthly activity calendar, weight journal with trend chart and BMI, session history with empty states.
ProgressService owns sessions, weights, and per-plan day sets. Reset had to clear every plan_progress_* key — otherwise “reset” reloaded old days from disk and looked broken. Small bug, big trust issue.
Placeholder art as an architecture choice
Exercise illustrations are drawn by ExerciseFigure — CustomPainter stick-figure poses on soft rounded backdrops. Every screen uses the same API. Shipping final artwork means replacing that widget’s body with Image/Lottie at the same aspect ratio — not hunting twenty hard-coded asset paths.
The technique/video guide frame is the same idea: a host for a real player later. The guide screen already demonstrates connectivity: offline + retry, because streamed technique content shouldn’t pretend to work in a tunnel.
Product states on purpose
Covered deliberately: loading, empty, error + retry, offline + retry, permission denied (reminders), success/celebration, destructive-action confirmation (reset progress).
Onboarding captures goal, focus areas, level, body metrics, reminders. Me tab edits profile, units, coaching cues, timer sound. Premium paywall with restore; entitlement suppresses ads when granted. Monetization slots are remote-config driven for session start/done and native placements.
What I’d still harden
Wire production-grade reminder scheduling end-to-end if anything is still simulated on a given build. Keep wakelock and audio session behavior tested on OEM Android. Replace placeholder figures and the launcher icon before calling the visual design “final.” Stay honest in store copy: mat fitness studio, not medical advice.
Bet: fitness apps are judged in the player and the empty states — not in the onboarding screenshots.
If you’re building workout products: design the exit guard and the rest +15 before the gradient hero.
Related work
Apps, packages, and projects this piece connects to.
Wall Pilates: Home Workout
App Store · Health & Fitness
Build a stronger, more flexible body with guided Wall Pilates, core work, stretching, and at-home routines for every fitness level. WHY WALL PILATES Struggling to stay consistent with workouts, or unsure how to start Pilates safely at home? Wall Pilates: Home Workout turns any wall into support for controlled, low-impact movements that build strength, balance, mobility, and body awareness — without a gym, instructor, or specialized equipment. HOW IT WORKS Pick a routine that matches your level and the time you have, then follow clear step-by-step guidance and exercise demonstrations at your o…
- 0.0
- rating
- 0
- ratings
- 1.2.3
- version
Wall Pilates: Home Workout
Google Play · Afex Digital
Wall Pilates workouts for beginners. Build core strength, flexibility & fitness.
- 3.4
- rating
- 5,000+
- installs
More writing
Other notes from the archive.

Building Lexora: A Privacy-First Writing Keyboard That Works Offline
Lexora is an Android keyboard that helps people improve spelling, grammar, clarity, and tone wherever they write. Here is how I built its on-device writing engine, custom keyboard, and fast Android integration without sending text to a server.
Oct 2026 · 7 min read

Building iDraw: A Flutter Drawing App With Lessons, a Studio, and an AI Coach
iDraw is a Flutter app I’m building to help people learn to draw — guided lessons, a freehand studio, progress tracking, and an AI coach powered by Google Gemini. Here’s the product brief and the tech behind the strokes.
Sep 2026 · 5 min read

Building a scripting language for hardware panels
Rushabh's lab instruments speak in fixed-width serial strings, and every new panel meant another hardcoded Android screen. So I built a language instead: a lexer, a typed statement tree, an expression evaluator, and buttons you place on a photograph of the machine.
Aug 2026 · 7 min read
Discussion
Questions or notes. Comments live on GitHub Discussions.