← The Naistro work02 / NAISTRO · CONTRIBUTION

A venue view shaped by responsibility.

Show users the operational information relevant to their role.

Where this work fits

An operator might need to pause several players or change a venue’s volume. Some devices could be connected while another was unavailable. A dashboard needed to make that situation understandable.

MY CONTRIBUTION

I worked on authentication and role-aware access to venue resources. Establishing who someone is and deciding which locations or devices they may access are related but different responsibilities.

THE IDEA, ILLUSTRATED

Match an action with the right permission

RECORD / 014

Venue opening hours

Monday — Friday · 09:00–18:00

Read AllowedEdit Restricted

A viewer can inspect the record. Editing requires a different permission.

THE ENGINEERING DECISION

A group command can have mixed results.

One unavailable device should not erase successful sends to the others. I returned per-operation delivery results and worked on aging connection state so a disconnected player would not look active indefinitely. A sent command still needed to be distinguished from observed playback.

The skills behind the work

Authentication
Establish who is making a request before applying account or access rules.
Access control
Check which actions and resources an authenticated account is allowed to use.
SQL
Query and update relational data, with clear rules about which records a result represents.
THE WIDER RESULT

Operators could control players remotely and see more useful information about their availability. The backend supported venue-level actions without treating the entire fleet as one device.

READ THIS IN CONTEXTI connected dashboard controls to the players in each venue. →
Related contributionsRemote controls with per-device resultsI built WebSocket playback controls for individual players and groups of devices in a venue. A group operation could reach some devices while another was unavailable, so its result needed to preserve that distinction instead of returning one blanket success.Device status that ages with the connectionI worked on device heartbeats, reconnection state, and cleanup of stale connections. The fleet view needed to stop treating an old connection as an active player while retaining useful device context when it reconnected.The right notice for each playerI built targeted player-notification behavior for different platforms and software versions. This helped clients receive messages and actions appropriate to the device they were running.Product guides the team could maintainI built backend operations for ordered guide steps and editable content. Reordering used a transaction so related positions changed together, while loading defaults checked for existing steps to avoid adding them twice.