A venue’s day as one playback timeline.
Turn a daily plan into a coherent listening experience.
Where this work fits
A song can still be playing when an advert or prayer is due. The player needs to know what takes priority, where to stop, and where to resume. Station changes and the venue’s local time add more boundaries to that same day.
I extended the backend scheduler to assemble a day in the venue’s local time. The work handled adjacent stations, tracks crossing schedule boundaries, and the end of the day, so the returned sequence reflected the whole plan rather than isolated slots.
Turn a day into a playable timeline
Start on time without losing the song.
Giving an interruption priority solves only half the problem. I also had to preserve how much of the track had played, resolve conflicts between interruptions, and align what came next. Time-zone handling kept those decisions tied to the venue’s day.
The skills behind the work
- TypeScript
- Make data shapes and code boundaries explicit while building product behavior.
- Time-zone handling
- Interpret schedules in the correct local time and handle boundaries consistently.
- SQL
- Query and update relational data, with clear rules about which records a result represents.
Scheduling errors fell, and interrupted tracks could continue from their saved position. Operators gained more control over when content played and how it fit into the rest of the schedule.
- Scheduling errors
- −80%After moving playlist and interruption logic from the frontend into backend services.