Android app to browse, organize and run USSD codes. Built with Kotlin and Jetpack Compose.
📦 Related repositories:
What Repository 📋 Code catalog (collections) MyUSSDCodes-collection 📱 iOS app MyUSSDCodes-ios
The app is organized in three sections (bottom navigation):
- Sections — codes grouped by category and by the user's own fully-customizable groups.
- All codes — a flat list of every code with instant search (name, code, category, tags).
- Settings — import collections from the catalog (URL or pasted JSON), reset data, and app info.
Beyond the built-in catalog, users can create their own codes with a bit of logic: a code may declare variables (placeholders like {number}) and the app asks for each value right before dialing. Codes marked as dangerous (SIM locks, charges) show a warning first.
Dialing uses ACTION_DIAL, so the code is only pre-filled in the system dialer — the final call tap is always the user's, and no call permission is required.
- Kotlin 2.0 · Jetpack Compose (Material 3) · Navigation Compose
kotlinx.serializationfor the collection format- Plain JSON file persistence (no database) — the dataset is tiny
- Min SDK 26, target SDK 35
app/src/main/java/com/albertolicea00/myussdcodes/
├── MainActivity.kt
├── AppViewModel.kt # Single source of truth (StateFlow<AppData>)
├── data/
│ ├── model/Models.kt # UssdCode, CodeVariable, CodeGroup, CodeCollection, AppData
│ └── CodeStore.kt # JSON persistence + bundled seed catalog
├── util/UssdDialer.kt # {placeholder} substitution + ACTION_DIAL
└── ui/
├── AppRoot.kt # Scaffold, bottom bar, NavHost
├── theme/Theme.kt
├── components/Components.kt # CodeCard, CodeList, RunCodeDialog
└── screens/ # Sections, AllCodes, Settings, CodeEditor
The seed catalog lives in app/src/main/assets/collections/gsm-standard.json and is a verbatim copy of the catalog repository's collection.
./gradlew assembleDebug # build a debug APK
./gradlew installDebug # install on a connected deviceOr open the project in Android Studio (Ladybug or newer) and run.
Settings → Import: paste a collection URL from the catalog, e.g.
https://raw.githubusercontent.com/albertolicea00/MyUSSDCodes-collection/main/codes/gsm-standard.json
The collection format is documented in the catalog repository (JSON Schema included).
See CONTRIBUTING.md. New USSD codes belong in the catalog repository, not here.
USSD codes are executed by your carrier. Codes vary by country, carrier and plan; some may be paid services. Double-check a code before running it.
MIT © 2026 Alberto Licea