MontessoriArc

Calm Coloring

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.

Template gallery — six calm, outline-art template cards on a muted background    Sunny Day template mid-coloring — sky filled sage green, sun and cloud still blank, six-swatch palette below

▶ 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).

Why this exists

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.

Design

Full product rationale: calm-coloring-app-PRD.md. Implementation plan: docs/superpowers/plans/2026-09-13-calm-coloring-mvp.md.

Features

OTA content pipeline

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:

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.

Tech stack

Project structure

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

Building

./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).

Status

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.