--:-- wib / gmt+7
ux engineer. visuals and systems.
available for work

UX Engineering · Design System · Service Architecture · 2026

Yakurir — Design System, Courier Dispatch UX & Living Invoices

role: Lead UX Engineer & Product Designer client: Yakurir Logistik (Probolinggo)
Live Staging (On Development)

50.118 Riwayat Transaksi Utuh (Rp 1,07 Miliar GMV 2020–2026)

631 Toko Merchant & 11.418 Menu Terklasifikasi

Rp 0 Biaya Berulang Maps & Gateway (Leaflet/OSM + Hermes Daemon)

364 Automated Tests Passing (100% Green Suite pada Data Produksi)

tech stack & methods:
Figma Design System (Auto-Layout & Tokens) Laravel 11 & PHP 8.4 Filament Admin v3 Tailwind CSS & Alpine.js Leaflet & OpenStreetMap (OSM Pinning) Nominatim Geocoding Engine Hermes WhatsApp Daemon (Self-Hosted Baileys) State Machine Architecture

01. Konteks Bisnis & Masalah Nyata di Lapangan

Yakurir adalah layanan kurir lokal dan pesan-antar makanan on-demand terkemuka di Kota Probolinggo dengan volume transaksi harian yang tinggi. Sebelum perancangan ulang sistem ini, bisnis menghadapi gesekan (operational friction) yang nyata di lapangan:

  1. Kekacauan Operasional Skenario “Barang Habis”: Masalah terbesar terjadi saat menu pesanan habis di warung/resto. Admin harus chat pelanggan secara manual di WhatsApp, menghitung ulang total nota di kalkulator, dan mengabari kurir. Kesalahan hitung nominal tagihan sering terjadi dan membuat kurir menunggu lama di lokasi.
  2. Friksi Pendaftaran di Kota Tier-3: Memaksa pelanggan mengunduh aplikasi Play Store atau meminta registrasi kata sandi dan kode OTP SMS memicu tingkat drop-off (pembatalan order di awal) yang sangat masif.
  3. Beban Biaya API Pihak Ketiga (SaaS Cost Drain): Margin layanan logistik lokal tergerus jika mengandalkan Google Maps Distance Matrix per-panggilan API serta biaya percakapan berbayar dari vendor WhatsApp Business API (WABA).

Sebagai UX Engineer, pendekatan saya bukan sekadar membuat gambar mockup visual, melainkan membangun fondasi Design Tokens di Figma yang dipetakan 1:1 ke kode produksi, memodelkan alur kerja kurir melalui state machine, dan menghadirkan solusi antarmuka hidup (living interfaces).


02. Fondasi Design Tokens di Figma (The Engineering Blueprint)

Sebelum merancang komponen UI, saya menyusun aturan token baku di Figma agar tidak ada magic numbers atau nilai arbitrary saat diterjemahkan ke kode frontend.

Figma Spacing System Token Specification
Spesifikasi Skala Spacing Tokens (4px – 48px) yang dipetakan langsung ke utilitas Tailwind CSS. [klik untuk fullscreen]

A. Skala Spacing Tokens & Aturan Tata Letak

Setiap jarak antar elemen memiliki fungsi fungsional yang terdefinisi secara matematis:

Jarak TokenSkala TailwindPeruntukan Fungsional dalam Komponen
4pxgap-1 / p-1Micro gap: Jarak antara ikon kecil dan teks label
8pxgap-2 / p-2Tight: Jarak antara label formulir dan field input
12pxgap-3 / p-3Card Default: Jarak hierarki internal antar baris kartu
16pxgap-4 / p-4Card Padding: Padding standar wadah konten (container)
24pxgap-6 / p-6Section Spacing: Jarak pemisah antar grup modul
32pxgap-8 / p-8Major Spacing: Jarak antar seksi utama dalam halaman
48pxgap-12 / p-12Page Section Break: Jarak pemisah blok arsitektur besar
Figma Functional Color Palette
Palet Warna Fungsional: Menjamin kontras status operasional (Lunas, Antar, Batal) terbaca jelas di bawah terik matahari. [klik untuk fullscreen]

B. Sistem Corner Radius Tokens

Sudut lengkung (border radius) diatur bertingkat sesuai kedalaman dan ukuran elemen:

  • xs: 4px (rounded-sm): Input field kecil, tag status kecil, micro badge.
  • sm: 8px (rounded): Tombol aksi standar, thumbnail item menu.
  • md: 12px (rounded-md): Kartu produk merchant, panel dialog ringkas.
  • lg: 16px (rounded-lg): Bottom sheet mobile, modal checkout.
  • xl: 24px (rounded-xl): Banner promosi hero, kartu promo utama.
  • full: 9999px (rounded-full): Avatar pengguna, pill tag filter aktif.
Figma Atomic Buttons & State Matrix
Pustaka Komponen Atomik: Varian tombol terstandarisasi dengan visual feedback state (Default, Hover, Active, Disabled). [klik untuk fullscreen]
Figma Molecular Cards & List Rows
Komponen Molekuler: Komposisi kartu merchant dan ringkasan cart menggunakan auto-layout konsisten. [klik untuk fullscreen]

03. Arsitektur State Machine & Alur Antarmuka Kurir

Pengalaman kurir di jalan (on-the-road UX) sangat menuntut kepraktisan: jari kurir sering kali hanya bisa menjangkau satu jempol saat mengendarai motor. Saya merancang alur kerja kurir berbasis State Machine yang deterministik:

Figma State Machine Specification
Pemodelan State Machine: Menjamin urutan transisi status order tidak dapat dilewati atau menyebabkan inkonsistensi database. [klik untuk fullscreen]

Courier Dispatch Lifecycle (The 4 Core Phases)

PHASE 01 // ENTRY
Start Shift

Kurir membuka antarmuka, status armada berubah menjadi "Aktif Standby" di dispatcher pool.

PHASE 02 // ASSIGN
Terima Pesanan

Notifikasi via grup WhatsApp kurir terisolasi. 1-tap terima pesanan mengunci tugas.

PHASE 03 // PICKUP
Ambil ke Resto

Kurir mengambil makanan, update status status ke picked_up, rute GPS ke pelanggan aktif.

PHASE 04 // DELIVER
Input Parkir & Selesai

Tiba di titik antar, input biaya parkir riil warung, 1-klik tanda pesanan terkirim (Delivered).

Figma Kurir Mobile Screen Flows
Alur Antarmuka Kurir di Figma: Didesain dengan kontras tinggi, tombol aksi berukuran tap target minimal 48px, dan formulir biaya parkir instan. [klik untuk fullscreen]

04. Ekosistem Multi-Peran (Customer, Courier, & Dispatcher)

Sistem Yakurir bukan hanya satu antarmuka tunggal, melainkan sebuah orkestrasi 3 peran yang saling terhubung secara real-time:

A. Customer Mobile Web (Zero-Friction Ordering)

  • Zero-Password Onboarding: Pelanggan tidak perlu repot mengingat kata sandi atau menunggu SMS OTP yang rawan gagal. Identitas (nama & nomor WhatsApp) tersimpan aman di cookie peramban dengan retensi 30 hari.
  • Rp 0 Maps Pinning via Leaflet & OpenStreetMap: Pelanggan dapat menggeser pin lokasi pengantaran secara presisi dengan mesin pencari geocoding Nominatim tanpa menimbulkan biaya API per klik.
Figma Customer Catalog Screen
Katalog Pelanggan di Figma: Desain visual kartu merchant teroptimasi untuk kecepatan browsing dan pencarian cepat. [klik untuk fullscreen]
Figma Customer Cart and Checkout Screen
Alur Checkout & Peta Geser: Integrasi catatan dapur dan koordinat penjemputan/pengantaran. [klik untuk fullscreen]

B. Dispatcher & Admin Operations Panel

  • Live Operations Dashboard: Panel monitoring waktu-nyata untuk memantau status pesanan (PROSES, ANTAR, SAMPAI, LUNAS).
  • Assign Kurir Modal: Modal cepat untuk memilih kurir yang bertugas di zona radius terdekat.
Figma Live Operations Dashboard Screen
Dashboard Operasional Dispatcher: Visualisasi antrean pesanan resto dan ketersediaan armada kurir. [klik untuk fullscreen]
Figma Assign Kurir Interactive Modal
Modal Penugasan Kurir di Figma: Menampilkan beban pengantaran aktif per kurir untuk mencegah penumpukan tugas. [klik untuk fullscreen]

05. Inovasi “Living Invoice” & Automated Visual Diff

Salah satu inovasi UX terpenting dalam proyek ini adalah mengubah nota transaksi statis menjadi Living Invoice (/i/{token}) yang hidup dan adaptif:

Living Invoice Visual Diff Feature in Production
Fitur Nyata di Produksi: Visual diff transparan saat menu habis—menu dibatalkan dicoret (strikethrough) dan nominal selisih dihitung otomatis. [klik untuk fullscreen]
  1. Visual Diff Transparan: Jika restoran kehabisan satu menu, admin mengubah pesanan di panel Filament. Tautan WhatsApp otomatis mengarah ke Living Invoice.
  2. Pelanggan melihat baris menu yang dibatalkan dengan format strikethrough merah, penyesuaian nominal harga terlihat langsung, dan tersedia tombol 1-klik “Setujui Revisi” atau “Batalkan Pesanan”.
  3. Tri-Party WhatsApp Copy Synthesizer: Dari satu pesanan, sistem secara otomatis meracik 3 salinan pesan WhatsApp yang berbeda sesuai peran:
    • Salinan Pelanggan: Rincian menu, rekening transfer, dan link Living Invoice.
    • Salinan Dapur/Restoran (Tiket Masak): Hanya daftar pesanan dan catatan koki (kontak pelanggan & margin internal disembunyikan).
    • Salinan Kurir: Alamat penjemputan, pin GPS antar, kontak telepon, dan total uang tunai yang wajib disetorkan.

06. Dampak Bisnis & Hasil Nyata di Produksi

Hasil penerapan prinsip UX Engineering yang terstruktur dari Figma ke kode:

  • Migrasi Data 100% Utuh: Berhasil memigrasi 50.118 data transaksi historis (2020–2026) dengan total nilai GMV mencapai Rp 1,07 Miliar.
  • Efisiensi Finansial Maksimal (Rp 0 API Costs): Menghapus biaya tagihan bulanan Google Maps & WhatsApp Business API komersial dengan mengandalkan Leaflet/OSM dan agen mandiri Hermes Daemon.
  • Peningkatan Kecepatan Operasional >60%: Otomasi Living Invoice memangkas waktu negosiasi admin saat resto kehabisan stok dari sebelumnya 5–10 menit menjadi hitungan detik.
  • Ketahanan Sistem Teruji: Dilengkapi 364 automated tests (100% green suite) yang diuji langsung pada salinan database produksi.
  • Staging Terverifikasi: Dapat diakses dan dicoba langsung di yakurir.donnysaas.com.
Live Staging (On Development)

Buka dan Jelajahi Sistem Secara Langsung

https://yakurir.donnysaas.com

Live Staging (On Development)