A low-stimulation, tap-to-fill coloring app for young children (ages 3–5) — built with Kotlin Multiplatform + Compose Multiplatform for Android and iOS.
No sound. No unprompted animation. No reward loops. No ads, accounts, or data collection. Just tap a shape, watch the color settle in.
▶ Try the interactive UI mockup — a live, click-through reference of the design system this app implements (the screenshots above are the real app, built to match it).
An initial idea — an AI photo-to-coloring-page app — scored poorly against a rigorous product-viability framework: the core feature is commoditized, and uploading a child’s photo is a real regulatory liability under COPPA’s 2026 rules. The pivot documented in calm-coloring-app-PRD.md targets a different, validated wedge instead: a genuinely calm coloring experience, in the spirit of apps like Pok Pok — low-stimulation, ad-free, privacy-first, nothing more.
Full product rationale: calm-coloring-app-PRD.md. Implementation plan: docs/superpowers/plans/2026-09-13-calm-coloring-mvp.md.
New coloring pages ship without an app-store release. The 8 launch templates stay compiled into the binary as before; everything published since is fetched, cached, and merged at runtime:
svg/*.svg markup directly into a Compose Path — no compile step.svg/manifest.json (in this repo) tracks what’s publishable and at what version.removedIds purges it from every device’s cache on the next launch, falling back to the original bundled version if one exists.See docs/content-ota.md for the publishing/rollback workflow, and docs/superpowers/plans/2026-09-14-svg-ota-content-pipeline.md for the implementation plan.
Path content pipeline for the 8 launch templates (composeApp/src/commonMain/.../content/generated/), plus a runtime SVG parser for OTA content (.../content/remote/)androidx.lifecycle.ViewModel (KMP artifact), a small hand-rolled navigation back stack (no navigation library — see the plan for why)android.graphics.pdf.PdfDocument / iOS UIGraphicsPDFRenderer) and platform share intents (expect/actual)calm-coloring-app-PRD.md Product requirements
design/calm-coloring-ui-mockup.html Interactive UI mockup (the design reference)
docs/superpowers/plans/ Implementation plans
docs/content-ota.md OTA publishing/rollback workflow
svg/ Hand-authored source templates + manifest.json (OTA catalog)
composeApp/src/
commonMain/ Shared UI, state, content pipeline (bundled + OTA/remote), navigation
androidMain/ · iosMain/ Platform-native print, share, back-gesture handling, and OTA platform drivers (HTTP client, SQLite)
commonTest/ · androidUnitTest/ Unit tests
iosApp/ iOS Xcode project wrapper
./gradlew :composeApp:assembleDebug # Android debug APK
./gradlew :composeApp:testDebugUnitTest # unit tests
iOS: open iosApp/ in Xcode (see iosApp/README.md if the project needs regenerating).
v1 MVP plus the OTA content pipeline — Android-verified (built, tested, and manually verified on real devices and emulators, including a fresh install with the OTA cache schema). iOS compiles for all targets but has not yet been linked or run on a machine with Xcode.