Skip to content

Plus Mobile Apps

Kotlin Multiplatform apps for phones, tablets, and desktops — plus a blog about how they get built.

I'm Andrew Steinmetz. I've been a professional Android developer since 2018, spent 3.5 years at Square learning how to build an app that scales across large teams, and now build and ship my own apps under Plus Mobile Apps. Everything here shares one Kotlin codebase across Android, iOS, macOS, Windows, and Linux with Compose Multiplatform, Decompose, and SQLDelight, and the blog covers the patterns behind it.

Apps

Chef Mate+ app icon

Chef Mate+

Recipe keeper, meal planner, and grocery list in one

Save a recipe from any cooking site with one tap — the photo, ingredients, and steps come straight into your collection. Group recipes into books you can share, drop them onto a calendar to plan the week, and send ingredients to a grocery list that merges duplicates as it fills up. A hands-free cook mode keeps the text large and the screen awake, and a built-in AI assistant answers substitution questions and turns its answer into a new recipe.

  • Runs on iOS, Android, macOS, Windows, and Linux from a single Kotlin Multiplatform codebase
  • Recipe books and grocery lists sync between people, so a household shops from the same list
  • Open source — Compose Multiplatform UI, Decompose navigation, SQLDelight storage, Supabase backend
Chef Mate+ recipe list with ratings, cook times, and calories
Wolfpack+ app icon

Wolfpack+

Puppy logger for the whole pack

Track potty breaks, meals, medicine, and everything else for every dog in the house. Logging works offline with no account at all; a Wolfpack+ subscription adds cloud sync, push notifications when someone else logs an activity, and shared profiles so the rest of the pack always knows who last took the dog out.

  • iOS and Android from a shared Kotlin Multiplatform codebase
  • Offline-first by default, with cloud sync and push notifications for subscribers
  • Kotlin all the way down — MVIKotlin and Decompose on the client, a Ktor + Postgres backend, subscriptions through RevenueCat
Wolfpack+ activity log showing a day of logged events for a dog

How these get built

  • One codebase, five platforms

    Kotlin Multiplatform and Compose Multiplatform share business logic and UI across Android, iOS, macOS, Windows, and Linux, instead of maintaining the same app three times.

  • Architecture that scales

    Decompose models navigation as a tree of platform-agnostic components, with a text model keeping domain state out of the UI layer. Both patterns came out of shipping large apps on a team.

  • Offline-first data

    SQLDelight holds a local source of truth so the app works with no network, then syncs to a Ktor or Supabase backend when it's available.

  • Shipped, not just built

    Released and maintained on the App Store, Google Play, the Mac App Store, and the Microsoft Store, with signing and release automation done in CI.

From the blog

Notes on the problems above, written up as I hit them:

All posts

Get in touch

Questions about the apps, or want to work together?

Email: andrew@plusmobileapps.com · GitHub: plusmobileapps · LinkedIn: Andrew Steinmetz