Available for senior & lead mobile roles

Android engineer building apps people rely on.

Over seven years shipping production Android in Kotlin and Jetpack Compose: lending at KoinWorks, MyXL for XL Axiata, and a COVID-19 quarantine app adopted by a provincial government.

Core stack
Kotlin, Jetpack Compose, Clean Architecture
Shipped for
KoinWorks, XL Axiata, eDOT, BNPB, BAIS TNI
Based in
Jakarta, UTC+7

Selected work

Android first. Production apps with real users, a few with real stakes.

  1. 2020

    Fight COVID-19

    GPS quarantine enforcement for travelers from epicenter regions. Adopted by the Bangka Belitung government, presented at BNPB's national media center, later integrated into PeduliLindungi.

    Public healthKotlin, React Native, Firebase, GPS tracking
  2. 2021-2024

    KoinWorks Core Android

    Three years on the Core team: built the account, registration and KYC features every product shares, the form inputs of the UI kit, and the Mixpanel and Flagsmith setup.

    Fintech lendingKotlin, Jetpack Compose, Hilt, RxJava
  3. 2024-2025

    MyXL

    Unified the analytics in XL Axiata's consumer app across Firebase, MoEngage and AppsFlyer, from login to purchase and payment. Alongside it, worked on top-up, payments and XL Circle for Prepaid, PRIO and SATU customers.

    TelcoKotlin, Firebase, MoEngage, AppsFlyer
  4. 2021-2022

    SIDaC

    Two Android apps for BAIS TNI: one for field agents to file reports, one for regional commanders to review them.

    Defense intelligenceKotlin

Also shipped

Client web builds and earlier apps.

Lab

Personal projects, tools and experiments. All public on GitHub.

Experience

9 roles since 2018, mostly Android, with one stretch running product.

  1. Apr 2026 - PresentFull-Stack EngineerFreelance Remote
    • Built EEMEE's own store and admin for a hijab brand in Next.js and Prisma: Midtrans and Duitku behind one payment interface switched by a feature flag, Biteship shipping with insurance claims, and an emulated WooCommerce API so the BigSeller ERP syncs stock and orders.
    • Built Megatama Reporting, the calibration system that replaced PT Megatama Inti Akurasi's Excel workbooks, in React, Express and MongoDB: a GUM uncertainty engine, a schema builder for 40+ medical device types, and versioned certificates rendered to PDF.
    • Built Payload CMS sites that the clients' own teams edit for Rembuk Pemuda, Cakra Champ, Reka Sarana Sakti and Megatama Groups, and revamped Sekuntum Melati's Vue member site and admin dashboard.
    • Self-host several of them on Docker with PostgreSQL, Garage S3 storage and a Cloudflare Tunnel.
  2. Jan 2026 - Apr 2026Senior Android EngineerPT eDOT via ProIntegrateRemote
    • Built Notes Management in Jetpack Compose for EWORK, eDOT's sales-force app: a searchable, paginated note history, note creation from templates with a selectable target, and filters by salesman and customer.
    • Extended the Call Card's "Sales This Month" panel, the per-outlet view of sales against target, average sales, retail purchase ratio and SKUs not yet bought: added last order time, total and per-product points, the last visit note, and a visit note at checkout, kept working with the app's offline visit database.
    • Contributed Compose components to Pink Lava, eDOT's design system: a paging list wrapper with loading, error and empty states, shimmer skeletons, notice cards and info badges.
    • Wrote unit tests for the Call Card and outlet detail view models and the visit plan, warehouse and stock use cases (Kotlin, Hilt, MVVM with a single UI state, Paging 3).
  3. Nov 2024 - Nov 2025Android DeveloperAleph-Labs for XL AxiataOnsite
    • Unified analytics in MyXL, XL Axiata's consumer app, across Firebase, MoEngage and AppsFlyer: standardized event and screen naming in the shared analytics layer, and instrumented login, purchase, payment, top-up, autopay and XL Circle.
    • Worked on payments and the top-up revamp: admin fees on reloads, BJB virtual accounts, SNAP BI on Midtrans, combo payment, and tracking for DANA, credit card, BRI direct debit and OCTO Cash.
    • Worked with colleagues on XL Circle, MyXL's quota-sharing groups for prepaid users: its analytics, Medallia feedback surveys and the group eligibility rule.
    • Built the complaint ticketing journey for prepaid customers (ticket list, detail and status) and the new transaction history with filters, and worked on prepaid registration with liveness and OTP and on eSIM replacement.
    • Built components for the shared MyXL component library, including family plan quota cards, upsell lists and complaint ticket items, and worked on PRIO upsell and SATU voucher redemption.
    • Raised unit test coverage across service modules, mappers, use cases and view models, and worked directly with XL's tech lead and QA team to align specs, resolve edge cases and validate releases.
  4. May 2021 - Aug 2024Android EngineerKoinWorks Hybrid
    • Worked on the Core (Platform) team, building the account features every KoinWorks product shares: unified registration for personal, home business and PT/CV accounts, OTP over SMS and WhatsApp, PIN and password reset, account switching, biometric login and account deletion.
    • Built the KYC flows: a KYC module for personal and business accounts, Innovatrics liveness with thresholds tuned through feature flags, an NPWP module with document camera and OCR, identity data for KTP, passport and KITAS, and a Re-KYC module in Jetpack Compose.
    • Built the form inputs of the KoinWorks UI kit: a text field with an animated label, validation and NPWP and address formats, and searchable dropdowns backed by remote data, such as province down to sub-district.
    • Moved legacy screens from MVP to MVVM with Hilt, split the shared header interceptor into focused OkHttp interceptors, migrated profile and token storage from SharedPreferences to DataStore, and replaced Kotlin synthetics with View Binding.
    • Set up the Mixpanel event taxonomy for registration, login and dashboards, CleverTap and AppsFlyer events, Firebase Performance traces for the registration funnel, and moved back-office toggles to Flagsmith.
    • Shipped product features: KoinBill bill payments (property tax, vehicle tax, BPJS, Telkom, internet and TV), Talon.One promos and offer pages in Compose, referral codes, and in-app rating and feedback.
    • Wrote unit tests for presenters, view models and repositories, set up SonarQube for the app's submodules, and took turns with the other Android engineer on the platform team as release lead for Play Store releases.
  5. Jul 2021 - Aug 2022Project ManagerPT Rumahawan Karya Indonesia Remote · Part-time
    • Ran a five-person team of backend, frontend (me), Android, UI/UX and QA across TravTrip, its merchant app TravBiz, Garputala and SIDaC: the roadmap, the backlog, and specs from stakeholder requirements.
    • Ran sprint planning, grooming, stand-ups and retrospectives, and reviewed and merged the team's pull requests.
    • Kept shipping code: TravTrip's Android trip booking flow (packages, filters, checkout) and the merchant module in the admin (products, stock, orders, bookkeeping).
  6. Jul 2020 - Jul 2021Frontend EngineerPT Rumahawan Karya Indonesia Remote · Part-time
    • Built TravTrip's admin dashboard in React as its only developer: tourist sites, lodging and room bookings, restaurant menus and orders with new-order alerts and Excel export, travel agents and packages, vouchers and payment proofs.
    • Built Garputala, a donation platform: the Android app (campaigns, donations, payment methods, Google and Facebook sign-in, push notifications) and its React admin for foundations, bank accounts and banners.
    • Built both Android apps for SIDaC, a field reporting system for BAIS TNI: one for agents filing reports with photos and location, one for commanders reviewing them by department.
    • Built the Android app for Sagala, a fresh grocery store, and ran its project.
  7. Jan 2020 - Apr 2021Android EngineerPT Rupi Digital Indonesia Hybrid
    • Took over MyJNE, a courier and payments app for JNE, a week in after its first developer left, and built most of it: waybill tracking, shipping rates, bill payments (PLN, PDAM, BPJS, Telkom, phone and data), GoPay, OVO and DANA top-ups, and history with shareable receipts.
    • Built Rupi Malaysia, a new top-up and payments app: sign-up with OTP and PIN, top-up by denomination with receipt upload, transaction history and account upgrade.
    • Built food ordering in Rupi Cash: store list and filters, a cart with add-ons stored in Room, checkout with delivery address and vouchers, and order status.
    • Rewrote Rupi Merchant screens from Java to Kotlin with MVVM and Data Binding, including the PIN and OTP dialogs and the withdrawal receipt, and added SSL pinning.
    • Revamped agent registration and kiosk upgrade in Rupi Bisnis, and built its distribution ordering flow: cart, payment, and delivery address on Google Maps.
  8. Jul 2019 - Jun 2020Android DeveloperPT Kolega Coworking Indonesia Onsite
    • Maintained and extended the Kolega coworking booking app: booking with a payment gateway, Facebook login, promo codes, the redesigned meeting room and event space journeys, and the home feed.
    • Shipped 29 releases to the Play Store, from version 1.1 to 1.2.17.
    • Built a React Native version of the booking flow: room list and detail, date and capacity pickers, and checkout with promo codes and payment methods.
  9. Nov 2018 - Apr 2019Android DeveloperCV Menara Indocipta Remote
    • Built an order tracking app for the company on Firebase Realtime Database, Authentication and Storage, replacing spreadsheet recaps: customers, orders with design images, an agenda with deadline reminders, filtered transaction lists with Excel export, and dashboards with charts.

About

Clean architecture, measurable impact, and code the next engineer can maintain.

I'm a software engineer with 7+ years of experience, specializing in Android with Kotlin and Jetpack Compose. Most of my career has been on apps at scale: three years on KoinWorks' Core Android team in fintech, features for XL Axiata's MyXL in telco, and field reporting apps for BAIS TNI.

Outside mobile, I build full platforms: a custom e-commerce system with payment gateway abstraction and logistics automation, and an ISO-compliant medical calibration platform. I also co-created the Fight COVID-19 quarantine app, which the Bangka Belitung provincial government adopted and which was later integrated into Indonesia's national PeduliLindungi, now SatuSehat.

Toolkit

Mobile
Kotlin, Jetpack Compose, Android SDK, Jetpack, Kotlin Multiplatform, React Native
Architecture
Clean Architecture, MVVM, MVI, Modularization
Libraries
Coroutines, Flow, Hilt, Retrofit, Room, DataStore, Coil
Quality
JUnit, Mockito, Espresso, Compose Testing, Robolectric
Observability
Firebase, Mixpanel, MoEngage, AppsFlyer, CleverTap, Flagsmith
Web
Next.js, React, TypeScript, Node.js, PostgreSQL, Payload CMS

Education

Binus University
Bachelor's Degree - Computer Science 2022 · GPA 3.52
Telkom University
Associate's Degree - Computer Science 2019 · GPA 3.67