Skip to content
Mai Trinh
Completed

Wakeatte — Meal-Combo Ordering & Pickup App

Android developer and project lead for Wakeatte, a meal-combo ordering app with locker-based pickup — delivered most of the buyer experience plus key store-side operations.

Role
Android Developer & Project Lead
Platform
Android
Client
Confidential client

Project overview

Domain
Food & retail — meal-combo ordering with locker-based pickup, for the Japanese market.
Product
Wakeatte is a mobile app for ordering meal combos from local stores. Instead of home delivery, orders are picked up from a store-side locker and confirmed with a QR code.
Audience
Two sides use the same app: customers who search for stores, order combos, and pick them up; and store staff who register the combo products being sold and manage orders and sales.
Why it exists
Locker-based pickup lets a store sell prepared meal combos without requiring a customer and staff member to be present at the same moment. It is the product's core mechanic, connected to the standard search, browse, ordering, payment, and review flows.
Problem
For the parts of the app I was responsible for, the problem was delivering a reliable, real production Android experience for the buyer journey — finding a store, choosing a combo, ordering, paying, and picking it up — and, on the store side, giving staff a working way to register the combo products being sold and see how they're selling.

My role & contributions

As Android Developer and project lead, I was responsible for most of the buyer-side Android functionality — the customer-facing flows for finding stores, browsing and ordering meal combos, and the payment and locker-pickup journey. On the store side, I personally delivered the multi-step combo/product registration flow, order/sales history, and sales-management/statistics for store staff.

Challenges & solutions

  1. Technical challenges

    Two areas of real complexity came up in the parts of the app I worked on. First, the buyer journey has to stay coherent across a genuinely multi-step flow — search and location, product browsing, ordering, payment, and a physical locker-pickup step confirmed by QR code — where each step depends on the state of the one before it. Second, the store-side product-registration flow is itself multi-step (selecting from a master product list, creating a draft, agreeing terms, and completing registration), and needed to stay usable and consistent for store staff across every step.

    How I approached it

    For the buyer journey, the approach was to keep each step's state (selected store, combo, order, payment, locker reservation) explicit and consistent as the user moved forward, so the flow behaved predictably from search through to pickup confirmation. For store-side product registration, the multi-step flow (master-product selection → draft → agreement → completion) was built and maintained as a single guided sequence for store staff, alongside the order/sales history and sales-management/statistics views they use day to day.

Architecture & technologies

Wakeatte is a Kotlin Android app built entirely with Jetpack Compose, structured around Clean Architecture (domain/data/presentation layers) and MVVM, using Koin for dependency injection and a REST API (Retrofit/OkHttp) as its primary backend.

Technologies

  • Kotlin
  • Jetpack Compose
  • Koin
  • Kotlin Coroutines
  • Retrofit
  • OkHttp
  • Google Maps
  • CameraX
  • ML Kit Barcode Scanning
  • Firebase Cloud Messaging
  • Firebase Crashlytics
  • Branch
  • Fincode

This project demonstrates

This project reflects both hands-on Android delivery and project leadership: taking responsibility for most of a real, multi-step customer ordering-and-pickup journey, while also personally owning specific, business-critical store-side flows — product registration, order history, and sales management — that store staff depend on.

  • Android Development
  • Authentication
  • Maps & Location
  • Media Processing
  • Third-Party Integration

Have a similar project in mind?

Tell me about your product or challenge, and we can discuss how I can help.

Work With Me