A lightweight, intuitive USSD (Unstructured Supplementary Service Data) dialer application built with React Native and Expo. Seamlessly connect to USSD services with a clean, modern interface.
A SaveTech Squad Product — Building financial solutions for Africa. From the makers of MkhondeWallet.
- 📱 Clean, Material-inspired UI for easy USSD navigation
- ⚙️ Hidden settings menu with persistent configuration
- 💾 Auto-saves phone number and server URL locally
- ⌨️ Native keyboard support for service code entry
- 🎯 Real-time response display with session management
- 📲 Touch-friendly delete and dial controls
-
Install dependencies
npm install
-
Start the app
npx expo start
-
Open on your device(Development)
- Press
ifor iOS Simulator - Press
afor Android Emulator - Scan QR code with Expo Go app on your phone
- Press
- Settings (⋮ icon): Configure your USSD server URL and phone number
- Enter Code: Tap the display and type your USSD service code (e.g.,
*384#) - Dial: Tap the Dial button to initiate the session
- Respond: When prompted (CON), enter your selection and Send
- End: Close the session when done (END)
The app stores these values in AsyncStorage:
ussd_server_url: Backend USSD API endpointussd_phone_number: Your phone number
Clear these via Settings > Done to reset.
app/
├── (tabs)/
│ └── index.tsx # Main USSD dialer screen
├── _layout.tsx # Navigation setup
└── modal.tsx # Modal template
components/ # Reusable UI components
constants/ # Theme and constants
- Framework: React Native with Expo
- Language: TypeScript
- Storage: React Native AsyncStorage
- HTTP: Axios
- Styling: React Native StyleSheet
The app uses file-based routing with Expo Router. Edit files in the app directory to modify the dialer interface.
# Reset to a blank project (optional)
npm run reset-projectSaveTech Squad — Powering financial inclusion in Africa through innovative technology.