cd ../work

mobile / personal

TeleCard

Android app that turns everyday USSD codes — credit, phone number, mobile money balance — into cards you tap once, with the operator's answer shown inside the app instead of a system window that disappears. Built for the multi-SIM phones used in Madagascar, and it never asks for internet permission.
Contextpersonal

Design and development, in French, English and Malagasy. 117 Kotlin files, 26 test files, minSdk 26 to targetSdk 36.

OriginPersonal project
Categorymobile

$ cat stack.txt

Stack

  • Kotlin 2.3
  • Jetpack Compose
  • Room
  • Hilt
  • WorkManager
  • Accessibility service

$ ls ./screens

Screens

TeleCard welcome screen: the code #357# turns into a Crédit card showing 12 500 Ar.
A code becomes a card
Dashboard with six cards across the Yas and Orange operators, filters by SIM, and hidden values.
The dashboard
Card detail: current value, USSD code, Run button, and the history of successful runs.
A card, opened
Card creation: the USSD code with its variables highlighted, and the choice to show the operator window or keep it hidden.
The code to dial
Card creation: the fields read from the code, each set to digits or masked.
The fields it infers
Onboarding screen reading Nothing leaves the phone: no account, no server, no internet.
Nothing leaves the phone
One card shared as a QR code shown on screen, with nothing going through the network.
Sharing by QR code
Settings: named and colour-coded SIMs, language choice, and the USSD window reader switched on.
Settings

$ open links