Inspiration

Cibella started in our own kitchen.

For years, my partner Marina and I asked the same question almost every evening: What’s for dinner? With kids and full days, that question eats time, money, and patience. We tried meal-planning apps. Most felt like work: huge recipe libraries, calorie tracking, rigid plans that fall apart the moment real family life shows up.

We didn’t need another cookbook. We needed a simple way to plan our meals for our week, and to reschedule when plans change.

So I built Cibella for us first: a warm, practical meal planner for families. Not “How do I cook this?” but “When do we eat what?”

What Cibella does

  • Save the meals your household actually eats
  • Plan a week (Saturday to Friday) in a few minutes
  • Reschedule midweek without rebuilding everything
  • Stay flexible: takeout Tuesday and leftover nights are normal, not failure
  • Unlock Cibella Plus (extra planning power) through subscriptions powered by RevenueCat

The free app stays useful. Plus is for people who want more room to plan without complexity.

How we built it

Cibella is a Kotlin Multiplatform app with Compose Multiplatform, so Android and iOS share one UI and most of the product logic.

Stack highlights:

  • Kotlin Multiplatform + Compose Multiplatform (Material 3)
  • Local persistence with Room (shared across targets)
  • Backend pieces with Supabase + Ktor
  • Monetization with RevenueCat Purchases KMP for in-app subscriptions

We deliberately kept the MVP small: meals, weekly planning, clear design, and a calm onboarding path. Every feature had to survive the “does this help a tired parent on a Tuesday?” test.

Challenges we faced

1. Shipping a real product, not a demo
Side-project time is limited. The hard part wasn’t writing screens. It was saying no: no recipe megadatabase, no calorie tracking, no overloaded calendar. Restraint was the product decision.

2. Cross-platform polish
Compose Multiplatform let us move fast on both stores, but iOS and Android still need care: navigation feel, store review flows, assets, and small platform differences that users notice immediately.

3. Monetization without pressure
Families are already stressed. Paywalls have to feel fair. We designed Cibella to stay free and useful, with Plus as an optional upgrade, and used RevenueCat so entitlements and purchases stay reliable across platforms.

4. Building for real life
Plans break. Kids change their minds. Dinner gets ordered. Cibella had to make rescheduling effortless, otherwise people abandon the app after week one.

What we learned

  • The winning feature is often the one you don’t build.
  • Shared KMP/Compose code is a huge leverage for a small team, if you invest early in clean architecture.
  • Revenue tooling matters as much as UI: a clean purchase and entitlement flow is part of the product experience.
  • Talking to real families (and living the problem ourselves) beats guessing what “power users” might want.

Why this matters for Shipaton

Cibella is our first public store launch: a family product built with Kotlin Multiplatform, Compose Multiplatform, and RevenueCat subscriptions. We’re shipping something we use ourselves, then iterating with Early Supporters who help shape what Plus becomes next.

Built With

Share this project:

Updates

Submission history