Scaling Systems & Super-Apps from Addis Ababa
How we bypassed traditional telephone carriers with a 4-step WebSocket voice loop and built an offline-first mobile empire single-handedly.
As software engineers operating in developing markets, we are frequently met with infrastructure boundaries that developers in highly connected tech hubs rarely experience. Unstable cellular carrier signals, localized network drops, and costly, hardware-bound telecom systems are standard operational constraints.
When I set out to build the core architectures for EthioVoice AI (a conversational voice assistant for Ethiopian banks) and the Black Diamond Car Mobile Application (a multi-service premium super-app), the target was clear: bypass hardware bottlenecks completely and build pure software solutions optimized for local network telemetry.
"The best hardware is no hardware. The most reliable phone line is a standard TCP/WebSocket connection."
1. Bypassing Carrier Phone Lines: The EthioVoice AI Voice Loop
Traditional call-center automation systems rely heavily on hardware PBX lines, SIP trunks, and carrier integrations (like Twilio or regional telecom routes). If regional telecom infrastructure experiences high load, call latency spikes or dropping calls altogether is standard.
For EthioVoice AI, we designed a software-only 4-step pipeline that maps spoken audio directly into system logic, completely eliminating the telephone company from the equation. The entire cycle runs over standard WebSockets:
By sandwiching our local language translations between the Whisper transcription and a vector index in PostgreSQL (using pgvector), we ensured verified, hallucination-free responses inside banking policy boundaries. The WebSocket connection streams down response frames asynchronously, keeping total response latencies under 300ms.
2. Single-Handedly Engineering a Mobile Empire: Black Diamond
While EthioVoice AI solves low-latency speech pipelines, the Black Diamond Car app represents a completely different systems challenge: scaling a premium, multi-service cross-platform application containing booking, bidding, reels, and chat systems under a single, highly performant runtime.
When you build a massive app single-handedly, modular state management is everything. Here are the core structural pillars I designed to ensure high performance on mid-tier Android and iOS chipsets:
Offline-First Caching Layout
To defend against connection drops, the app utilizes an offline-first synchronization model. Active booking data and marketplace bookmark lists are cached locally inside an optimized native SQLite database using React Native and Expo Router. Redux Toolkit slices manage active UI state, while a lightweight Zustand store controls the immediate theme switches. When connectivity is restored, a NestJS GraphQL gate synchronizes records instantly, resolving data conflicts gracefully.
High-Frame-Rate Video and Messaging Sync
Integrating a TikTok-style supercar video reels channel alongside a live ride-hailing tracking map and instant chat represents a dense CPU load. To prevent frame drops:
- Video Playback: Utilizes
expo-videoandexpo-avlayers optimized to preload only the active and next consecutive reel, preserving device memory buffers. - Live Tracking Map: Google Maps API `
` handles marker animations via hardware acceleration natively rather than recalculating values inside the JS thread. - Socket.io Real-Time Layer: Socket frames manage instant chat typing indicators and driver coordinate updates in a background thread, preventing UI blocking.
Conclusion: The Builder's Philosophy
Building high-concurrency start-up products requires an absolute obsession with systems efficiency. Whether standardizing NFC tag driver handshakes for 3D retail assets at spin.tf, or single-handedly coordinating multi-service architectures, the rule remains the same:
Design for instability. Optimize for predictable memory footprints. Build products that users love.