Skip to content
All projects
FocuSound logo

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
FocuSound project screenshot

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.