RadioHeart
Client workInternet radio that plays to a schedule with nobody at the desk
- Role
- Frontend engineer: the DJ console
- Client
- AKDev Group
- Period
- 08.2018 — 02.2019, AKDev Group
- Stack
- TypeScript, Vue, Vuex, Node.js, Express, PHP, Laravel, MySQL, Web Audio API, SASS, Docker, Jest
The problem
The radio runs on a schedule by itself, but a host sometimes needs to go live on top of the stream already playing. That needs a mixing desk in the browser: crossfade two tracks, drop in an ad, open the microphone, and hear how it came out before it reaches the listeners.
About the project
An internet radio platform: a user schedules broadcasting days or weeks ahead and the stream runs on its own. My part was the DJ console, the mode where you go live into your own stream. The mixing runs on the Web Audio API: two decks with crossfading between them, jingles and ads, the host's microphone, and the stream fed back into the headphones so the host hears the result before it goes out live.
How it works
Outlined boxes are the parts I built
What I did
- —The DJ console on the Web Audio API: two decks with tracks and crossfading between them, jingles and ad breaks over the live stream.
- —The host's microphone with per-channel volume and a headphone return. You hear the mix before it goes out live.
- —A dark theme for the console: people sit at that desk in the evening and at night.
- —Contributed to billing and the 24-hour trial before buying a subscription.