Push-to-talk communications company banner

Client name withheld at their request.

Tackling hard audio engineering problems for a mission-critical first responder communications app

Services Provided

Mobile Development, Team Extension, Technical Problem-Solving

Project Technologies

Flutter | iOS | Android

Industry Served

Emergency Services, Public Safety

Team Composition

1-2 Developers

Project Duration

January 2021 - October 2021 (10 months)

TLDR

Our client built a push-to-talk communications application for first responders. They had a strong internal team handling their backend and much of their mobile development, but needed to accelerate their timeline and solve some genuinely hard audio engineering problems on iOS. Twin Sun embedded with their team for ten months, tackling audio session management that required diving into native platform code to handle incoming calls without user interaction, manage Bluetooth devices, and properly duck and restore background audio. The team adapted to the client's preferred architectural patterns rather than pushing their own approach. After successfully migrating users to the new app, they reached back out for additional specialty device work, demonstrating the kind of relationship that comes from doing good work and fitting into an existing team rather than trying to take over.

The Challenge

Our client built a push-to-talk communications application for first responders, connecting emergency personnel to dispatch channels through mobile devices and Bluetooth hardware. They had a strong internal engineering team handling their backend and much of the mobile development, but they faced two problems: they needed to accelerate their timeline, and they had specific technical challenges that required specialized mobile expertise.

The hardest problem was audio session management on iOS. Their app needed to handle incoming audio without any user interaction, meaning emergency communications could come through even when the phone was locked or playing music. This is the kind of feature most apps cannot do. Beyond that basic capability, the app needed to properly duck music when communications came through, manage Bluetooth device connections seamlessly, and relinquish audio control gracefully so the user’s music would resume after a call ended.

The existing open-source packages did not meet these requirements. Someone had to dive into native iOS code and truly understand how the platform manages audio at the system level.

Our Solution

Twin Sun embedded with the client’s engineering team as an extension, taking on tasks that would speed up development while specifically tackling the complex audio engineering problems.

The approach required humility. They had their own way of doing things, including their preferred architectural patterns. Rather than push back, Twin Sun learned their approach and worked within their established architecture.

For the audio session work, this meant getting into the weeds with iOS audio frameworks. The team built out proper audio session handling that could receive incoming calls without user interaction, integrate correctly with Bluetooth hardware, duck background audio appropriately during communications, and restore the previous audio state when calls ended.

The team also contributed to Android audio work and handled general UI development tasks. The goal was straightforward: take tasks off their plate, move faster, and solve the problems their team did not have time to crack.

The Results

Twin Sun worked with their team for approximately ten months, from January through October 2021. The engagement ended when they reached their targeted development budget, not due to any quality or relationship concerns. The client indicated they would reach out for future needs.

By the following year, the client had successfully migrated users from their old white-labeled app to the new custom application. They reported receiving positive feedback on the design and operation of the new app. They reached back out to Twin Sun about additional specialty device support work, specifically for Android feature phones and expanded Bluetooth speaker mic integration.

The project demonstrated what team extension should look like: augmenting an existing strong team with specific expertise, adapting to their processes rather than imposing different ones, and focusing on the technical problems that require deep platform knowledge.