Ryan Rochmanofenna

Mindiology

An iOS ordering and loyalty app for my parents’ F&B group in Jakarta. It covers more than one restaurant — Mindiology Coffee at Emerald Bintaro and Kamarasan among them — so the app opens on a location switcher rather than a single menu.

Source on GitHub →

Home — location switcher, promos, quick actions
Home — location switcher, promos, quick actions
Explore — menu search and filters
Explore — menu search and filters
Item detail — notes, tax-exclusive pricing, cart
Item detail — notes, tax-exclusive pricing, cart
Orders — active and past
Orders — active and past
Profile — loyalty tier, points, member barcode
Profile — loyalty tier, points, member barcode

One group, several restaurants

The group runs multiple brands, so location is a first-class concept rather than an afterthought: the header carries a location picker, and the menu, promotions, and reservations all follow from it. That’s the same problem Sajian solves on the web — Mindiology is also its first live tenant — approached from the native side, for regulars who order often enough to want an app.

Loyalty as the reason to open it

An ordering app people install once and forget is a failed app. This one leads with membership: a tier (Perunggu — bronze), a point balance, a scannable member barcode for in-store purchases, vouchers and daily specials. The barcode matters most in practice, since it works for customers who walk in and order at the counter rather than through the app at all.

Built for how Indonesians actually order

The interface is Indonesian throughout, not translated as an afterthought. Prices display as Rupiah with Belum termasuk PB1 10% — the local restaurant tax shown exclusive of the listed price, the way customers here expect to see it. Reservations sit alongside ordering, because dine-in matters as much as takeaway.

Stack

Expo and React Native with expo-router for file-based navigation, shipped as a signed iOS build, with Sentry for crash and error reporting.

There’s no live demo here for the reason every mobile app has this problem: an iOS build is compiled ARM64 that a browser can’t execute, and asking someone to sideload a build to look at your work is a request nobody accepts. Screenshots are the honest option.