Subscription platform · Real-time audio · 2024 — 2025
Elemental Is Life
Subscription platform with a real-time multichannel audio mixer.
- Role
- Full Stack Developer (Freelance)
- Period
- Dec 2024 — Jun 2025
The project
Elemental Is Life is a subscription platform for wellness and sound healing. The product delivers frequencies and “sound passages” that the user can mix live: a base background frequency plus additive sounds (rain, fire, Tibetan bowls) synced with precision. My role was full stack end-to-end — architecture, infrastructure, frontend and backend code, and hot fixes in production.
The audio engine
The most demanding technical piece was the multichannel mixer. It plays up to five simultaneous tracks with no perceivable drift or latency. The implementation combines:
- WebAudio API with parallel buffers per channel.
- Wavesurfer.js for waveform visualization, decoding asynchronously to avoid blocking the main thread.
- A Redux + Zustand hybrid to separate “slow” state (UI, session, library) from the “fast” player state, preventing massive re-renders on 60 fps events.
- Lazy loading and on-demand decoding so the first audio starts playing in under a second, even with five tracks ready to mix.
NestJS backend
The server is built with NestJS using dependency injection and fully decoupled modules. I implemented a FileUploadService that interacts with @aws-sdk/client-s3, separates public buckets (UI images) from private ones (heavy audio) and extracts audio duration in seconds directly from the temporary buffer before persisting — so the database never computes heavy metadata at runtime.
Data
Ultra-relational schema with Prisma + PostgreSQL: User, Subscription, DeviceAccess, Listen (strict per-user listen analytics) and audio libraries. All with real foreign keys, indexes designed for the most common queries and transactions when there is risk of inconsistency.
Subscriptions
Implementation of PayPal Subscriptions with the official SDK: SubscriptionsCreateRequest to start billing cycles and a webhook handler that reacts to missed payments, cancellations and reactivations to keep Subscription.status always in sync.
Takeaways
Balancing ultra-fast iteration to ship while building solid foundations for a live business. Heavy audio parsing, CORS fixes in production and Vite build-pipeline optimizations. The final architecture lets the catalog scale without touching the player — a good signal that the layers are well separated.
Screenshots