All work
RideCheck app icon

RideCheck

Know every part. Trust every ride.

A vehicle-care app for motorcycles and cars that logs every trip by itself and warns riders before a part wears out. As its Head of Product and front-end engineer, I helped take it from a class project at the Apple Developer Academy to 186,000+ downloads, then led it onto Android and the web.

My role
Head of Product · front-end & mobile engineer
Team
Four — product, design, front end, back end
Timeline
2025 — present
Platforms
iOS · Android · Web

01By the numbers

From a class project to 186,000 downloads.

Total downloads

186K+

Across the App Store and Google Play — grown largely through short-form video.

Monthly active devices

32K+

Phones that used RideCheck in September, iOS and Android combined. Monthly actives peaked above 50K in August.

Paying users

3K+

Subscribers and lifetime buyers of RideCheck Pro — 3,000 and counting.

New riders per month, 2026

35.6K

Onboarded in August alone.

6× since May

Vehicles

79K+

Registered — about 70K motorcycles and 9K cars.

Distance logged

2M+ km

Of trips recorded since May 2026.

Trips

209K+

Rides recorded since May 2026, most of them without a single tap.

Reach

101

Countries and territories where riders opened the app in the last year. 96% of riders are in Indonesia.

#2

Top FreeAuto & Vehicles, Google Play

#3

Top GrossingAuto & Vehicles, Google Play

#9

UtilitiesApp Store, Indonesia

Downloads and paying users as of October 2026, and active devices for September, from the team’s records. Vehicles and countries are the figures on ridecheck.id. Trips, distance, new riders and the August peak come from the app’s analytics (Mixpanel), which began in May 2026.

02Interactive

Every component, in your hands.

The same 3D vehicle that ships inside the app. Pick an area, watch it come apart, and tap any part to see what it does and how long it lasts.

Loading the vehicle…

Drag to orbit · Pick an area

The app’s SceneKit model, converted to glTF Rendered here with three.js 51 parts across 6 assemblies

03The problem

Nobody remembers when they last changed their oil. So we stopped asking them to.

The problem

Maintenance lives on stickers and memory.

Most riders track service intervals with a sticker on the windscreen, or not at all. Parts get replaced when they fail — which is the most expensive time to find out.

The insight

Your phone already knows when you ride.

Motion and location sensors can tell driving from walking. If the app measures distance on its own, the odometer — and every part’s wear — can update without anyone typing a number.

The answer

Reminders that arrive before the failure.

Each component counts down by distance and by time. RideCheck warns you while it’s still cheap — then helps you find a workshop, and remembers the service.

04Engineering

Trips log themselves.

The hard part was never the reminders. It was knowing how far someone rode without asking — and without draining their battery.

  1. Motion wakes the app

    CMMotionActivity flags automotive movement with confidence, so walks never count.

  2. Location, only when it matters

    Significant Location Changes and a geofence at the last stop replace an always-on GPS radio.

  3. The odometer moves

    Each trip’s distance lands on the vehicle — on Android, from an Expo background task.

  4. Parts wear, riders hear

    Every component’s remaining life drops with it, and a reminder goes out before “soon” becomes “now”.

A test ride in Bali traced on a map by the tracker
A debug screen with toggles for geofencing, significant location changes, location updates and activity monitoring

Proof, not pixels

Tuned on real roads.

Battery and accuracy pull in opposite directions, so we tuned the tracker on actual rides around Bali with a debug build that could switch geofencing, significant-location changes, continuous updates and activity monitoring on and off mid-ride — then kept the combination that stayed accurate without keeping GPS awake.

05The app

Built to be opened a lot less.

The best maintenance app is the one you forget about until it matters. Everything here is designed to be read in a glance.

Your vehicle, at a glance.

A 3D model of your actual bike or car, its live odometer, and one line that tells you whether anything needs you today.

The RideCheck dashboard for a Honda Scoopy with a 3D model and all components on track

Two clocks per part.

Every component tracks kilometres used and calendar time, and shows whichever runs out first — so a bike that sits in the garage still gets its oil changed.

Engine oil detail showing 41% of its distance left and its time limit

Warned before it fails.

Parts move from On Track to Check Soon to Need Replace — and the 3D vehicle glows exactly where the problem lives.

A Vario 160 with its brake pad and drive chain flagged Need Replace

A history workshops can write to.

Every service lands in one timeline. Partner workshops scan the rider’s QR code and stamp the service straight into it.

A service history with entries stamped by a RideCheck partner workshop

One glance from the Home Screen.

WidgetKit widgets and Live Activities keep the next service in view without opening the app at all.

A RideCheck widget on the Home Screen warning that engine oil needs planning

Tracking that stays out of the way.

Auto-Track, Auto-Stop and reminders are on from the first ride — and every one of them can be switched off.

Garage settings with Auto-Track, Auto-Stop and reminder switches

07Architecture

One product. Three platforms.

RideCheck started as a SwiftUI app. At the Apple Developer Institute I led the rebuild for Android and helped build the web portal our partner workshops use — one product, one data model, the same behaviour everywhere.

iOS

Swift · SwiftUI

The original. Background trip detection, a SceneKit vehicle, widgets and Live Activities, and StoreKit subscriptions.

  • SwiftData
  • CoreLocation
  • CoreMotion
  • MapKit
  • WidgetKit
  • ActivityKit
  • SceneKit
  • StoreKit
  • Firebase
Led by me

Android

TypeScript · React Native

A ground-up migration with feature parity: background location tasks, a local SQLite store, native widgets and in-app purchases.

  • Expo Router
  • expo-location
  • TaskManager
  • SQLite
  • Drizzle ORM
  • expo-iap
  • Android widgets
  • Firebase

Web

TypeScript · Next.js

A portal where partner workshops scan a rider’s QR code and record the service — plus ridecheck.id and its 3D explorer.

  • Next.js
  • React
  • Firebase
  • Leaflet
  • QR hand-off
  • Three.js
  • Tailwind
215of my commits in the iOS app
174in the Android app
38across the website and portals
5codebases, one product

08My role

What I owned.

Four people built RideCheck. I’m its Head of Product and its front-end engineer, which in a team of four means a lot more than either title.

  1. 01

    Head of Product

    Conceptualised RideCheck, shaped it from an Academy challenge into the roadmap we presented to Indonesia’s Deputy Minister of Communication and Digital Affairs, and still set the direction: what we build next, and why.

  2. 02

    Auto-tracking

    Co-engineered the background tracker on CoreLocation, CoreMotion and MapKit — trading GPS precision against battery until both were good enough to forget about.

  3. 03

    The iOS front end

    Built the SwiftUI app with adaptive layouts that run on older iOS versions as well as the newest, and the animations that make it feel alive.

  4. 04

    Android, from scratch

    Led the migration to React Native and Expo — background tracking, local storage, widgets and purchases — to reach riders on the platform most of Indonesia uses.

  5. 05

    Web & workshops

    Helped build the partner-workshop portal, where mechanics scan a rider’s QR code to log a service, and the ridecheck.id website.

  6. 06

    Design & validation

    Drew the early user flows and lo-fi prototypes, then validated the product on real rides and in interviews with riders.

09Journey

Built step by step.

From Academy challenge to Apple Developer Institute, with most of the growth earned in public — through short videos on TikTok and Instagram.

Feb 2025

Apple Developer Academy, Bali

Four of us meet in the same cohort. RideCheck starts as a challenge project about forgotten service intervals.

Jul 2025

Growth through video

We start posting short videos — oil changes, bikes, and building the app in public. Views turn into downloads.

Dec 2025

3,200 organic downloads

A 29% conversion from impressions, a five-star rating, and a roadmap presented to the Deputy Minister of Komdigi.

Mar 2026

Apple Developer Institute

RideCheck is selected for the Institute for Entrepreneurship. The Android rebuild begins.

Jun 2026

Android, and the press

RideCheck lands on Google Play and is featured in Bloomberg Businessweek Indonesia.

Aug 2026

35,600 new riders in a month

The biggest month yet. Monthly actives peak above 50,000.

Sep 2026

Top 15 of HATCH 2026

Chosen from hundreds of applicants for the Komdigi × DailySocial startup incubator.

Oct 2026

Startup World Cup national final

Named a national finalist of the Road to Startup World Cup 2026 in a Ministry of SMEs press release.

Oct 2026

186,000 downloads

79,000 vehicles, 3,000 paying users, and partner workshops writing service records into the app.

10Beyond the code

Pitched, featured, and shared.

Indonesia · June 2026

RideCheck’s story, told in Bloomberg Businessweek Indonesia.
PressAstranauts pitchFormula 4 Indonesia talksWorkshop partners Read the article
The RideCheck team presenting to Indonesia's Deputy Minister of Communication and Digital Affairs
Presented to the Deputy Minister of KomdigiThe roadmap and the technical architecture, at the Academy.

Reach · TikTok & Instagram

Grown one short video at a time — oil changes, bikes, and the build.

49.6M+video views on TikTok & Instagram
5.3M+accounts reached
2.5M+likes, comments and shares
A grid of RideCheck videos with view counts from 66K to 1M

The team

Dhafin on product, Fazry on design, Tio on the back end, and me on the front end.

The RideCheck team at the Apple Developer Academy

Try it on your own ride. It’s free to start.

QR code to download RideCheck Scan to download