Skip to content
← All projects
/ Case study · Native app · customer ordering

ABAJ Super App

Delivery, pickup, reservations, and catering.

The iOS and Android customer app brings the restaurant menu, order options, and checkout into one native experience.

Native app for iOS and Android

ABAJ Super AppFour ordering modesFour ordering modes01 / 03
For developers
iOSAndroid
React NativeExpoExpo RouterZustandNativeWind
What I did & the proof ↓
iOSAndroid
ABAJ Super AppProduct tour

Choose a screen to see the product’s features and main flow.

ABAJ Super App: Four ordering modes
Screen by screen

Four ordering modes

Delivery, pickup, reservation, and catering share the current menu and promotional banners.

Latest app code · live public menu

1 / 3
ABAJ Super App · Four ordering modes
Real product screenshots. Everything you click stays inside this portfolio.
The problem
Different ordering needs should still feel like one restaurant experience.
What I built
An iOS and Android customer app for delivery, pickup, reservations, and catering.
What it enables
Customers can choose the menu, required options, schedule, courier, and payment in one flow.
Feature highlights
  • Delivery, pickup, reservation & catering
  • Current menu, required variants & cart
  • Courier, schedule & payment choices
Built with

React Native / Expo / Expo Router / Zustand / NativeWind

Designed and built by Alexanders Schwartzmann · start to finish

  • Native customer UX
  • Expo screens & navigation
  • Cart, options & checkout
  • Commerce API integration
See what I did and the proof ↗
Want something like ABAJ Super App?

I can build one around how your business works.

Talk about a similar project
What I did

I designed and built this project from start to finish.

Project creator

Alexanders Schwartzmann

From the product idea and design to the code behind the features below.

My implementation scope
  • Native customer UX
  • Expo screens & navigation
  • Cart, options & checkout
  • Commerce API integration

How the main flow works

  1. 01

    Current catalog from the backend

  2. 02

    Required item choices & cart

  3. 03

    Address, mode & schedule

  4. 04

    Order quote & checkout

Proof of the work

What was built, how it works, and why it was built that way.

01 / Real screen & code

Menu choices belong to the order

The app captures required choices, extras, notes, and quantities before building the checkout summary.

Technical decision

The cart carries the configuration of each dish, instead of passing only a menu name.

02 / Real screen & code

A checkout with fulfilment context

Delivery address, courier, schedule, payment choices, and totals appear in the native flow.

Technical decision

When the cart becomes empty, its voucher, points, and reservation context are cleared together to avoid stale ordering state.

About these screens

Screens from the real app code with the live public menu and a local cart. No order or payment was sent.

Latest app code · live public menu ·

The problem

Customers need delivery, pickup, reservations, and catering to feel like one product rather than unrelated checkout flows.

Feature highlights

  • Delivery, pickup, reservation & catering
  • Current menu, required variants & cart
  • Courier, schedule & payment choices

Current implementation

React Native, Expo, Expo Router, Zustand, and NativeWind power the customer app. The current source reads the live ERP catalog rather than a retired hardcoded menu. Required rice and sambal choices are validated before adding a dish. Checkout brings together address, courier, schedule, voucher, kitchen notes, payment choice, and total.

Explore the real product

Captures come from a fresh production web export of the current native source, using the active public menu and banners. Cart actions stay in the isolated preview; no customer checkout or payment was submitted.