All work
Native mobile · 2024

Lattice Coffee Co.

A loyalty app that doubles as a storefront

Designed and built a React Native app with offline-first ordering, push-driven drops, and a tap-to-pay loyalty wallet. Now powers 40k monthly orders without a dedicated engineering team.

Role

Mobile lead & full-stack engineer

Duration

12 weeks

Team

Solo + 1 brand designer

Year

2024

Home — drops + order again

Placeholder · 9/16

The home tab shows recent orders, current drops, and nearby cafés.

40k

Monthly orders

4.9★

App Store rating

+62%

Loyalty repeat rate

12 wks

Time to ship

The problem

Lattice was running their loyalty program on punch cards and their online ordering on a third-party plugin that took 18% of every transaction. They wanted one experience their customers actually opened on purpose.

The approach

React Native via Expo so iOS and Android shipped from the same codebase. Built an offline-first ordering flow so the app works in basement-level cafés with no signal. Pulled loyalty, ordering, and a content feed (drops, new beans, café events) into a single home tab. Backend on Supabase with Stripe for payments and a small Next.js admin panel for store managers.

The outcome

Launched in the flagship store first, then to all 14 locations over two weeks. 40k monthly orders within 90 days, a 62% lift in loyalty repeat purchases, and a 4.9★ App Store rating across 1,800 reviews. Lattice now runs the whole platform with no in-house engineers — just monthly check-ins.

In the product

A look inside.

Order flow

Placeholder · 9/16

Tap-to-pay loyalty wallet

Placeholder · 9/16

store-manager-admin-(web)

Store manager admin (web)

Placeholder · 16/9

Stack used

React NativeExpoSupabaseStripeNext.js

Our customers actually want to open this. That's the part I didn't expect. The loyalty stuff is a bonus.

Sam Park

Founder, Lattice Coffee Co.