
FocuSound
Ambient sound app with simultaneous playback, individual track volumes, saved mixes and background audio.
- Year
- 2026
- Type
- App
- Status
- In production
- Source code
- Proprietary
Stack
- React Native
- Expo
- TypeScript

About the project
FocuSound is an ambient sound app for focus sessions. Users can combine multiple tracks, adjust their volumes independently and keep listening with the screen off.
Problem
A single audio track does not always provide the sound environment someone wants for work or study. Playback also needs to continue when the screen is locked or the user switches apps, without interrupting the session.
Solution
The app works as an ambient sound mixer. Each track can be enabled and adjusted separately, and combinations can be saved as presets. Users can also import audio files to build their own library.
My role
I developed the player architecture, track state management and background playback. I also implemented the local library, presets, monetization and interface, and managed the app’s release.
Key features
- Simultaneous playback of multiple tracks with independent volumes
- Rain, heavy rain, wind, fire, café and white noise sounds
- Saved mixes as presets
- Audio file import
- Continuous background playback
- Free version and premium features
Architecture and technical decisions
The app uses React Native, Expo Router and TypeScript. State management is split across the player, library and subscription to separate their responsibilities.
Player state tracks loaded audio, volume levels and playback status. This lets users enable a track without interrupting others and adjust each volume during playback.
Audio settings support background playback, iOS silent mode and control over volume reduction when another app plays sound. Tracks loop to support longer listening sessions.
Imported files are copied into the app’s directory, with an index stored locally. The library therefore remains available across sessions and can be used offline.
Technical challenges
- Managing multiple audio instances. Each track must be loaded, controlled and released correctly, including when switching presets.
- Maintaining background playback. Audio settings need to account for differences between Android and iOS.
- Preparing continuous loops. Audio file preparation is part of the work needed to avoid noticeable gaps between repetitions.
Outcome
Published on Google Play and the App Store.
Technologies
React Native, Expo, TypeScript, Zustand, Firebase and RevenueCat.