See it in action
Each screen paired with what it does. No filler gallery.
A live camera on his bedroom. Tap him to say hi. Food, fun, energy, and health drop at their own pace, and the glowing button is whatever he wants right now.


Nine breeds, each with its own personality line. Choose well: his coat is his for life.


A short animated film tells how he found you, then you give him a name.


Special moments get a page in his album: growing up, the first rain, a candid photo, one hundred days together.


How it's built
Cutti has no server. His stats fall at a known pace, so the app can work out his state at any moment in the future. The widget timeline, local notifications, and the Live Activity all come from that one prediction, which is why he keeps living while the app is closed.
The widget is a timeline of snapshots, not a running app: a security camera on his bedroom with a REC clock, refreshing through the day. AppIntents let you pet, feed, or throw his ball without opening the app.
Everything is drawn in SwiftUI: the cat, his expressions, the furniture, the sky. That's what lets the same art render in widgets and the Dynamic Island. There are no audio files either. Meows and purrs are synthesized when first needed, and the music box score is composed as it plays, following the time of day in his window.
Cutti started as a Mac app that lives in the notch. The breeds, face, outfits, music, and story film sit in a shared CatKit source folder, so the iPhone and Mac versions draw the same cat.
Stack