Most focus timers are either too minimal to be motivating or too gamified to feel calm. Lumeo sits in between — a quiet, no-pressure app where the only reward for finishing a session is a flower at full bloom.
My role
I was the sole designer, illustrator, and builder on this project — responsible for the full product from concept to Play Store submission. I designed in Figma, illustrated all assets by hand, then built the entire app using Flutter and Claude Code, completing it in 3 weeks.
What I built
Lumeo is an offline-first Android focus timer. Users set a session, name their task, optionally choose a flower to grow, then put their phone down. The flower blooms in stages as the session progresses — bud at 30%, opening at 60%, fully bloomed at completion. Stop early and the flower reflects exactly how far you got.
All flower illustrations are original — hand-crafted by me. Three flower types (Lumina, Solstice, Ethereal), each with three bloom stages, giving the app nine unique illustrated states that bring the core mechanic to life.
Key features: 3 flower types each with 3 bloom stages, background foreground service so the timer survives screen lock, task list, session history with calendar view, personal flower album, and full offline support — no accounts required, no ads, no subscriptions.
3 stages of blooming during focus session
Profile, tasks activity and focus start screens
3 unique flower illustrations
Stack & tools
Designed in Figma. Illustrated by hand — all 9 flower assets are original artwork. Built with Flutter (Dart), SQLite for local data, Firebase Analytics and Crashlytics for event tracking, and Claude Code as the AI coding environment. Android-first, targeting API 24+.
Challenges
Building Lumeo meant working across disciplines I don't usually occupy simultaneously. The hardest part wasn't any single screen — it was maintaining design integrity through the build phase. Decisions that looked clean in Figma sometimes needed rethinking once implemented in Flutter, particularly around the flower bloom animations and the foreground service behaviour on different Android versions.
One of the most concrete technical hurdles was image handling. Flutter processes SVGs and PNGs differently, and getting the nine flower illustration assets to render correctly — at the right sizes, with the right opacity behaviour, across different screen densities — took significantly more iteration than expected. What felt like a solved design problem kept reopening on the build side.
Illustrating nine flower states that needed to feel like a coherent progression also required several iterations to get the visual logic right. The bloom staging had to communicate growth intuitively without any written explanation in the UI.
Learnings
Coming in with close to zero development knowledge, the testing and debugging process was entirely new territory. Learning to read error logs, isolate what was actually breaking, and understand why — rather than just what — was both the most frustrating and the most rewarding part of the project. It fundamentally changed how I think about handoff and implementation when I'm working purely as a designer.
Working with Claude Code also taught me that precise, structured briefs produce better results than vague prompts — which turned out to be a design skill in itself. The quality of what got built was directly tied to how clearly I could describe intended behaviour, edge cases included.
Shipping a product end-to-end reinforced that calm, opinionated products are harder to design than feature-rich ones. Deciding what not to build — no streaks, no leaderboards, no premium tier — required as much thought as what to include. When you're also the person implementing the design, you stop treating edge cases as someone else's problem.
Status
Submitted to the Google Play Store. Currently in review.
Like this project
Posted May 15, 2026
Designed, illustrated, and built Lumeo — a calm, offline Android focus timer where finishing sessions grows flowers.