Back to selected work

ENGINEERING CASE STUDY / Mobile & AI

SakayLens

Know your ride. Before you ride.

One of four developers on team CS501

  • Kotlin
  • Jetpack Compose
  • CameraX
  • LiteRT
  • ML Kit
  • MapLibre
Visit the project website Source repository · Access required
SakayLens product website preview
PROJECT WEBSITE PREVIEW

01 / THE PROBLEM

Problem & objectives

Help commuters identify a suitable jeepney when destination signs are difficult to read and mobile data is unavailable or unreliable.

An offline-first Android app for Filipino jeepney commuters. On-device AI reads destination signs, matches bundled routes, and displays an offline Metro Manila map, with local trip planning and saved trips.

02 / THE SYSTEM

Architecture & technology

CameraX supplies images to a local LiteRT jeepney detector and bundled ML Kit OCR. Kotlin matches the recognized text against bundled routes. MapLibre displays local MBTiles, while trip suggestions and saved trips use on-phone data and preferences.

  1. Camera & destination
  2. On-device AI & routes
  3. Offline route guidance

03 / THE BUILD

Implementation & key features

  • On-device jeepney detection and sign recognition
  • Offline destination search and route matching
  • Direct and one-transfer trip planning from bundled stops
  • Saved trips, route history, and offline maps
  • Route lookup remains available when the scanner cannot initialize

04 / THE BOUNDARIES

Security & reliability

Design notes and review considerations documented alongside this project:

  • Camera images are processed on the phone in the rider workflow
  • Camera and location permissions are optional for route search and planning
  • Low-confidence results ask the rider to confirm the sign or ask the driver
  • Route information is bundled; suggestions are not live-service guarantees

05 / THE DECISIONS

Challenges & trade-offs

Local inference supports offline use and avoids uploading street images in the rider workflow, but recognition depends on the visible sign and device. The planner supports direct trips and one transfer between matching named stops. The v1.1 planner still requires additional physical-phone testing.

06 / THE RESULT

Outcome & engineering takeaways

A CS501 team Android application combining sign recognition, offline route lookup, mapping, and trip planning. I am one of the four developers; these are team project capabilities, not claims of sole authorship.

The engineering takeaway is to make the system’s capabilities and limits explicit. The repository documents the implementation and its current scope.

Read the project documentation
NEXT CASE STUDY

AURA