Use an existing audience workflow.
A form means singers do not need a separate request application to join the queue.
Native macOS application
Audience requests become an organised show queue, with matches from the host’s own karaoke collection.
The idea
A host needs to see who is next, find the requested track and hand it to a player without repeatedly switching between forms and storage. Karaoke Queue joins those steps in a local-first Mac application.
Singers can use an existing Google Form. The host can also add requests manually, mark them complete and start or finish an independent show. The queue persists locally between launches.
How it works
Collect singer, title and artist through a Google Form or a manual entry.
Import responses and use their IDs to avoid repeated entries.
Match the request against the host’s configured karaoke collection.
Prepare the selected local file or paired CDG/audio files and drag them to a compatible player.
How it is built
Swift and SwiftUI provide the macOS application. A Google Forms API client imports responses using read-only OAuth scopes. WebDAV connects to the configured library folder, and a local index supports filename matching.
Queue state is stored as JSON in the application’s support folder. Google refresh credentials and the library password use macOS Keychain. Keeping show state local avoids requiring a separate hosted queue database for this workflow.
Design decisions
A form means singers do not need a separate request application to join the queue.
Google response IDs identify previously imported entries, keeping periodic refreshes from duplicating the show order.
A prepared file can be dragged into a compatible player. Paired CDG/audio tracks are handled as a pair.
The form integration requests read-only access. The library integration targets the configured folder, with credentials held outside the queue data.
Development & updates
Useful validation covers new requests, repeated refreshes, manual entries, completed singers, restarting the application and preparing supported file formats. A host pilot can also check how the workflow behaves during a real session.
Public demonstrations focus on the host’s own authorised collection and the queue experience. Supported player/file combinations and customer OAuth setup are important parts of packaging the application for wider use.
What this demonstrates
The same thinking can be applied to a different industry: understand the real workflow, connect the right systems and give people clear control over what happens next.
Your next project
Describe your users, the workflow and the systems it needs to connect. We’ll discuss a useful first version.