-
-
Kinetwist — a friendly face for small movement breaks.
-
One movement, one clear goal. Follow the illustration, confirm when you're done, and undo whenever needed.
-
Today: One movement at a time, with a clear target, illustrated guidance, and a completion you can undo.
-
Rituals: Make room for small movement breaks with a daily plan that fits your rhythm.
-
Journey: Watch your pocket adventure grow with the movements you confirm. Your progress stays on your device.
-
Movement packs: Choose a starting point for your day, from desk breaks to football, climbing, and quieter moments at home.
-
Kine: Meet your little cube companion. A friendly face for everyday breaks, with no physical cube required.
Inspiration
Before finding my way into IT, I explored economics, marketing, tourism, communication, and several other directions. Then I tried programming, and something clicked: I could create things myself. For the first time, I felt that spark.
After graduating, I accepted the first opportunity available: a software testing job. Somewhere along the way, I stopped creating for myself. I eventually became a developer, but years of stress and sitting at a desk had taken their toll. I gained weight and experienced burnout that affected me physically as well as mentally.
My twin brother gave me advice that was simple, difficult, and exactly what I needed to hear: “Keep moving.”
So I did, little by little. Anxiety often came along for the ride. There was panic walking, panic football, panic tennis, and climbing—or, on some days, panic falling. Giving those moments ridiculous names helped me find some humour in a difficult period.
Over time, I gradually found energy again. Movement became easier to fit into my day. That personal experience became the starting point for Kinetwist.
I had always liked the “grease the groove” idea of practising small amounts regularly. I wanted to bring that rhythm into everyday life, with gentle accountability and a little personality. Something cute, welcoming, and not too intrusive.
That is where Kine, Mochi, and Roko came in.
What it does
Kinetwist offers short movement, breathing, and meditation breaks for busy days. Choose a movement pack that fits your context, follow a target or timer, and confirm completion yourself. Your confirmed movements contribute to a pocket adventure, and every confirmation can be undone.
Kine, Mochi, and Roko are playful cube companions at the heart of the project. I wanted taking a break to feel like spending a moment with a little friend.
The app works without an account or physical cube. Core plans and progress stay on your device. It does not use a camera to judge your form or claim to count your repetitions.
Kinetwist Pro adds features for saving, reusing, and rotating movement plans through a one-time lifetime purchase powered by RevenueCat. The core movement, breathing, and meditation experience remains free.
The wider vision is a companion you can keep on your desk or take with you, making the next movement visible without repeatedly opening your phone. An optional DIY cube prototype explores that idea.
How we built it
I built Kinetwist with Kotlin Multiplatform and Compose Multiplatform, sharing application logic and much of the interface across Android, iOS, and a desktop development target.
KMP made sharing code easier than I expected. Platform-specific services, including purchases and device communication, sit behind interfaces so the core application can remain independent of them.
RevenueCat handles the optional Pro purchase and entitlement on mobile, including restoration. The project is divided into modules for domain logic, local data, purchases, device communication, the design system, and individual features.
I worked with AI tools including Codex, Claude, and Gemini for development, debugging, exploration, and iteration. They helped me move faster, while reviewing the results, testing the behaviour, and making product decisions remained my responsibility.
Android is now available in production on Google Play. iOS is going through Apple's review and testing processes. Desktop remains a development and demonstration target.
Challenges we ran into
The biggest challenge was balancing ambition with finishing. I wanted multiple platforms, expressive companions, clear exercise artwork, several languages, and a physical extension of the app. Every improvement suggested three more things I could build.
The deadline forced me to prioritise a clear first experience, understandable movement guidance, dependable completion and undo, and the purchase flow.
Visual consistency took considerable iteration. A companion needs coherent proportions, poses, animations, and placement across the interface. Exercise artwork also needs to communicate a movement clearly.
Sharing code did not remove the need to test each platform. Phone and tablet layouts, longer translations, permissions, signing, and store requirements all needed attention.
Another challenge was keeping the product's claims precise. My recovery inspired Kinetwist, but the app is not a treatment for burnout, anxiety, or pain. It records movements people confirm; it does not measure their physical performance.
Finally, I had to manage my own excitement. I was entering other contests too, because I had rediscovered my passion for creating. Learning when to stop polishing and ship became part of the project.
Accomplishments that we're proud of
I turned a personal idea into an Android app that people can download from Google Play.
I built a shared foundation for multiple platforms, integrated RevenueCat, and brought movement, breathing, meditation, and pocket adventures into one experience.
I am proud of the care in the small details: an undo action when someone taps by mistake, progress stored locally, translated interfaces, and companions designed to make the app feel welcoming.
Most personally, I started creating again. Kinetwist helped me reconnect with the curiosity that brought me into programming.
What we learned
I learned that a shared codebase is a strong foundation, but each platform still deserves its own testing and attention.
I learned that AI assistance works best alongside clear requirements, careful review, and real testing.
I learned how much small interactions matter. A visible button, a clear movement cue, or an understandable undo action can shape the experience as much as a larger feature.
And I learned that finishing is a skill. A product can keep improving after people start using it; it does not need every idea implemented before it can be useful.
What's next for Kinetwist: Movement Snacks
The next step is listening to people using Kinetwist in their actual days: what feels welcoming, what interrupts them, what is confusing, and what makes them want to return.
I want to use that feedback to refine the app, complete the iOS release, and improve the experience across languages and devices.
I will also continue exploring the physical companions and their personalities, while keeping the app useful on its own.
The idea that started it all still guides the project: keep moving, little by little.
Built With
- android
- compose-multiplatform
- ios
- kotlin
- kotlin-multiplatform
- revenuecat
- sveltekit
- typescript

Log in or sign up for Devpost to join the conversation.