The chat module had encryption hooks. Sodium was already integrated. Adding E2EE should have taken a week. Then Signal Protocol showed up.
The requirement sounded straightforward: build a speech-to-speech AI interface with a smooth Lottie animation. Three things happening simultaneously created a problem we didn't anticipate — the UI and the audio pipeline were competing for the same thread.
The server was hanging with 5 users. Messages were unreliable. The app had no offline capability. These weren't bugs — they were the predictable consequences of an architecture that wasn't designed for real-time communication.
When I joined S.ID, the mobile app did not exist. No product manager. No UI/UX designer. No mobile team. Most engineers wait for someone to hand them a spec. I didn't have that option.
When I joined NU Online in 2020, the app had 40,000 users. Two years later: 1.6M+. The growth didn't happen by accident — it happened because the architecture was built to absorb it.