Back to Projects
Last edited September 5, 2026

PassportPlate

Live on App Store

An offline mobile app that turns "what should I cook tonight" into a spin of the globe: land on a country, get an authentic recipe, and make dinner a small adventure.

React Native
Expo
TypeScript
iOS
Offline-first
Recipe Discovery
RevenueCat
App Store
View on App Store
PassportPlate app preview with globe spin and recipe screens
Spin the globe, land on a country, get an authentic recipe.

Offline-first recipe discovery

PassportPlate deliberately has no backend in its core loop. Selection, recipe matching, saved history, favorites, and preferences remain on the device so the app works without an account or network connection.

An offline mobile app that turns "what should I cook tonight" into a small spin of the globe.

Overview

PassportPlate is an offline mobile app built around one simple mechanic: instead of scrolling through recipes trying to decide what to cook, you spin a globe. It lands on a country, hands you an authentic recipe from that country, and that's dinner sorted. No endless searching, no fifteen open tabs, no decision fatigue.

Not a Game, But Playful

PassportPlate isn't a cooking game, and it doesn't pretend to be one. But it's intentionally playful. There's a short spinning animation before the country reveals itself, and that small delay is doing real work: it creates the same kind of anticipation you get right before opening a reward in a game. Not gambling, not addictive, just enough suspense to make "what's for dinner" feel like a small discovery instead of a chore.

The goal was never competition. It was exploration. Every spin turns an ordinary weekday meal into a small adventure, and the app quietly nudges people toward cuisines they'd probably never search for on their own.

Every result is built from three roles: a main dish, a sauce, and a twist, each tied to a country. Land on three different countries and the app hands you a Creative recipe, its structure, sauce, and finishing touch sourced from each one. Land on the same country three times in a row and it surfaces that country's Iconic Dish instead, alongside other real, Classic recipes from the same kitchen.

PassportPlate landing on the same country three times
PassportPlate landing on the same country three times

What's Inside

  • Random Country Spin: Spin the globe and let all three roles land at random.
  • Custom Mode: Search and pick a specific country for each role yourself, instead of leaving it to chance.
  • Recipe Generation: Every spin comes with an authentic, cookable recipe, tagged Classic, Creative, or Iconic Dish.
  • Country Information: Flavour origins and a "why it works" or background story alongside the recipe, not just instructions.
  • Recipe History: Past spins stay saved instead of disappearing the moment you close the app.
  • Favorites: Keep the meals worth cooking again.
  • Dietary Preferences: Filter results so the randomness still respects what you can actually eat.
PassportPlate Creative recipe with three flavour origins
PassportPlate Creative recipe with three flavour origins

Premium unlocks additional countries, more advanced recipe discovery, favorites and history, and removes ads. The core loop, spin, get a country, cook a real meal, works fully for free.

Built to Respect Your Data

PassportPlate works completely offline once installed. There's no account to create, no cloud sync, and no analytics or tracking running in the background. You open it, you spin, you cook. That's the whole loop.

Why I Built It

PassportPlate sits at the intersection of three things I genuinely enjoy building: interfaces that feel good to use, the small algorithms behind them (weighting, randomness, recipe matching), and experiences that make an everyday routine, in this case deciding what's for dinner, a little more enjoyable than it was before.

Behind the Project

Engineering concepts used

Key Highlights

  • Designed a random-discovery mechanic that replaces recipe search with a playful globe spin
  • Built a fully offline React Native/Expo app with no backend dependency for core functionality
  • Curated authentic, cookable recipes balanced against everyday accessibility
  • Kept the app account-free, cloud-free, and analytics-free by design