← The Naistro work02 / NAISTRO · CONTRIBUTION

Connect playback to advertising evidence.

Connect delivery activity with useful reporting.

Where this work fits

The schedule said what should play. Reporting needed to know what did play, including when a device lost its connection or a prayer interrupted a track. Sending each record immediately was not always possible.

MY CONTRIBUTION

I integrated advertising-related services across content delivery, playback events, and reporting. The work required handling the different contracts for those responsibilities rather than treating the provider integration as a single API call.

THE IDEA, ILLUSTRATED

Distinguish planned activity from actual playback

ACTUAL PLAYBACK · NOT JUST WALL TIME
Track AReady to play
AUDIO PLAYER
Elapsed time0seconds
Music actually playing0seconds
Try a pause: the reproduced-time counter follows what is actually playing.
THE ENGINEERING DECISION

Keep the record until delivery succeeds.

Removing a record when sending started could lose it on failure. I retained unsent records on the device and removed the sent batch after success. Monitoring had a related timing problem: it needed to allow for delayed evidence before treating an expected event as missing.

The skills behind the work

API contracts
Keep the meaning and format of information consistent between communicating systems.
Event design
Represent an action accurately so another part of the product can respond or measure it.
Validation
Reject invalid or unsupported input before it affects the rest of the application.
THE WIDER RESULT

Unsent playback records could survive a restart and travel when connectivity returned. Monitoring made missed activity easier to investigate, with alert outcomes recorded separately from the detection itself.

READ THIS IN CONTEXTI kept playback records from disappearing with the connection. →
Related contributionsPlayback records that survive offline periodsI tracked actual playing time, excluding pauses and interruptions, and retained unsent records in a file-backed queue. A restart could reload that queue. Successful delivery removed the sent batch, while a failed send left it available for another attempt.Finding scheduled events with no playback evidenceI built monitoring that compared expected playback with device records. It had to account for delayed evidence and interruptions before identifying a missed event. Reusing device lookups within a monitoring run also avoided repeating the same query for each check.Operational alerts with recorded send outcomesI connected missed-event monitoring to email alerts and recorded the send result. Failures and missing recipients remained visible rather than being marked as sent. The message carried enough context for an operator to begin investigating.A searchable report of the active catalogueI built reporting that connected active tracks with their station and catalogue information. Scheduled preparation kept the report available for filtered, paginated queries and export without rebuilding the entire view for every request.