Inspiration

It all started with a green vest. My name is Eugene, and I have this favorite vintage vest with a million pockets that I use for traveling on low-cost airlines without needing extra luggage. The only problem was - I couldn't find it for almost a year.

That frustration unlocked a bigger realization: I couldn’t find a lot of things in my apartment. When I asked my wife, she shared it was a struggle for her to keep thing organized - and for our friends and family as well. I realized that home organization, decluttering, and locating items should be easier. So I decided to create a solution: a structured home with the ability to search right on my iPhone.

From this need, Keepiko was born, and he quickly developed a personality. I developed Keepiko character as an introvert. You can see it in the app icon, with only his nose peeking out of a box. He likes to keep his things private and organizes his box in a way that makes sense to him. This philosophy drove the entire design process.

Alt text for the image

What it does

Keepiko is a home inventory app designed to bring order to everyday chaos. It helps you build a structured, searchable inventory of your belongings so you can always find what you’re looking for. The system is organized around rooms, spaces, containers, and items. The app takes a flexible approach to organization. You don’t have to catalog every single thing. Simply snap a photo of a box’s contents, add a description, and the search function will do the rest. It’s designed to fight the frustration of home organization and it works entirely offline, keeping all your data private and secure on your device.

Alt text for the image

How we built it

To make the experience of organization feel easy, I focused on these principles:

  1. One action at a time: The UX avoids overwhelming the user with complex steps. Every interaction is simplified as much as possible and always focused on the most important action.

  2. Flexible organization: The system is built so users don’t have to itemize everything. Simply snap a photo of a box’s contents, add a description, and search will still find it using text keywords.

  3. A joyful visual experience: The entire interface is built in SwiftUI. To give the app its own unique vibe, I hand-drew and curated hundreds of custom icons for rooms, spaces, and box types - because SF Symbols felt too generic and random. I also hid little illustrations and movie Easter eggs throughout the app, since Keepiko is a movie fan.

  4. Privacy-first with SwiftData and backups: All data is stored locally and securely on your device using SwiftData. Keepiko doesn’t want his stuff on some stranger’s server, so the app works entirely offline. But users can backup their data and store it where they like.

  5. Dynamic paywall with RevenueCat: I used RevenueCat not just for in-app purchases, but as a powerful remote “control panel.” The paywall’s titles, font sizes, and even complex sale promotions are all managed through Offering Metadata. This allows me to run marketing experiments without releasing a new app update.

The full tech stack includes:

Platform: iOS (Native) Language & UI: Swift, SwiftUI Database: SwiftData Monetization & remote config: RevenueCat SDK User feedback: WishKit SDK Apple frameworks: PhotosUI, NavigationStack, TabView, UniformTypeIdentifiers

Challenges we ran into

  1. Taming NavigationStack with TabView: My biggest technical hurdle was getting the new tab-based navigation to behave intuitively. I wrestled with NavigationPath state management to ensure that when a user is deep in one tab’s stack, switches to another, and then returns, they land at the root of the original tab. After several iterations, I arrived at a clean solution - similar to the native iPhone Contacts tab behavior.

  2. Mastering SwiftData relationships: Implementing nested boxes (a box within a box) was a challenge. Ensuring that parent-child relationships were correctly established, maintained during moves, and properly deleted without leaving orphaned data required a deep dive into SwiftData’s relationship management.

  3. Designing for delight, not just utility: The biggest design challenge was avoiding “feature creep” and keeping the app simple. I constantly asked myself: “Does this feature reduce stress or add complexity?” As a result, the UX was simplified as much as possible, avoiding multiple actions in a single step. Thoughtful touches - like haptic feedback, progressive illustrations that appear or disappear as you fill a space, and a welcoming, animated onboarding experience - were added to bring more visual pleasure to the user journey.

Accomplishments that we're proud of

Shipaton 2025 has been an incredible journey. I’m proud to have built an app with a clear purpose and a unique personality, born from solving our own real-world problems. I believe I’ve created a joyful and visually distinct user experience by designing hundreds of custom icons and hiding playful Easter eggs. On the technical side, I’m proud of maintaining a complex nested data structure and implementing a dynamic, flexible monetization strategy using RevenueCat’s metadata, which allows us to control the paywall remotely and run marketing experiments on the fly. Most of all, I’m proud to have built and shipped Keepiko for everyone who has ever felt the frustration of home organization and not being able to find their things.

What we learned

I learned that I need to build an app that motivates me personally to stay organized at home. After the first MVP, I realized the app felt too boring, too "utility". So I focused on giving it a special vibe, unexpected twists, and removing every possible irritating behavior. That’s how it became a true Minimum Lovable Product, not just a Minimum Viable one. I learned that the need goes beyond just “finding stuff.” For many people (including my wife), clutter and disorder create daily stress and even anxiety. This made me more motivated to help people bring calm and order into their homes. I learned that having a working version of app is only one part of the journey. But building a community around the problem is even more rewarding. I started with friends and family, but now I want to connect with more home-organization enthusiasts to share ideas and grow together.

What's next for Keepiko - home inventory app

I don’t want home organization to feel like boring, exhausting chores. That’s why I’m continuing to tackle this problem and reach more people who struggle with order in their homes. One of my key goals is to make the process feel more exciting - so users want to “stay” in the app, because Keepiko makes process of home structuring less challenging and even fun. The plan includes:

  • Adding gamification and rewards: In order to motivate users to actually organize their homes I plan to introduce a system of awards and achievements that people can earn as they organize their space, celebrating their progress along the way.
  • Introducing task-based features: I want to try a focus timer, similar to the Pomodoro technique, to help users tackle decluttering and organizing in short, effective daily bursts. This will be paired with daily advice on approaching different goals, creating a sense of “we’re doing it together.”
  • Exploring community integration: I also want to explore ways to connect with communities of home-organization enthusiasts, learning from them to ensure our roadmap aligns perfectly with what users truly need.

Built With

  • photosui
  • revenuecat
  • swiftdata
  • swiftui
  • uikit
  • wishkit
Share this project:

Updates