Skip to content

The Superfone Android app

Shipped to the Play Store

Android engineer · Superfone · 2021 – present

The original Superfone dialer: a business soft-phone that rings real SIP calls, built in Kotlin on the Linphone stack and maintained across thousands of commits since 2021.

Android · Kotlin · VoIP · SIP · Linphone


The Android app is the original Superfone. It shipped four years before the iOS one, and it’s where a lot of the platform’s hard call-handling logic was first worked out. A soft-phone is a deceptively deep thing to build: it has to behave like the user’s real phone while routing every call over SIP.

What I worked on

  • The SIP call engine. Embedded the Linphone SIP stack as the call engine and owned the parts that break in real life: codec negotiation, the inbound call state machine, and ANR/deadlock avoidance when the SIP layer and the UI thread fight.

  • Soft-phone correctness. Multi-call handling, proximity-sensor control during calls, call-end tone generation, and a proper taxonomy of call-end reasons (missed, declined, Do-Not-Disturb).

  • Push-to-ring and presence. Wired push notifications so an incoming call wakes the app reliably, and kept SIP registration state in sync with that wakeup path. That’s the kind of bug that only shows up on someone’s locked phone.

  • Observability and AI features. Performance monitoring and product analytics, plus the in-app surfaces for the platform’s newer AI features.

Maintained across 2,000+ commits and four years of continuous product iteration, which is its own kind of engineering: keeping a calling app correct while it never stops shipping. It’s live on Google Play with a 4.3★ rating across 2,000+ reviews.