Treble in the House started from a shared interest in games like Jackbox and the idea of turning that kind of social experience into something centred around music :) one of us is really strong in graphic design and cares about how things look and feel on a shared screen, another has been making beats for years in FL Studio and understands structure and rhythm, and the third loves karaoke and improvising lyrics and melodies. Combining those strengths led directly to the core concept
The game is a social lyric completion experience where players collaboratively build a chorus, except one person is secretly working against the flow. The aim was to take that Jackbox style group interaction and push it further by turning the result into an actual song, then presenting it as a shared performance rather than just text on a screen
How we built it
We built the game as a local multiplayer web app so players can join instantly from their phones while a central screen drives the shared experience. The backend manages player state, assigns the hidden impostor, sequences prompts, and controls the round flow. Each round collects lyric fragments from players, assembles them into a full chorus, and passes that into an AI pipeline that generates a sung track with a backing beat
For the song generation, we integrated Lyria 3 through the Gemini API to take the final lyrics and produce a short performance with vocals and instrumentation. This is what turns the game from a writing exercise into something that actually feels like music :) after generation, we run an alignment step to map the audio back to the lyrics so the display can stay in sync with what is being sung
The frontend is split between player devices and a shared display. Player devices handle input and voting, while the display handles the global flow, including countdowns, lyric reveal, and round transitions. During playback, the display uses the alignment data to highlight the current line while surrounding lines fade out, creating a simple but effective performance visualiser
AI is used as the final transformation layer, taking unpredictable player input and turning it into something coherent enough to feel like a song. This required shaping prompts carefully and defining fallback behaviour so that even chaotic or incomplete inputs still produce a usable result without removing the randomness that makes the game engaging
Challenges and what we learned
The main challenge was maintaining continuity across multiple systems. The game moves through several phases very quickly, from writing to generation to playback to voting, and each transition needs to feel immediate and connected. Any delay or inconsistency breaks the flow of the experience
Another difficulty was balancing structure with unpredictability. The prompts need to guide players just enough to keep the song coherent, while still allowing for humour and variation. The addition of AI song generation adds another layer of uncertainty, so the system had to be designed to absorb imperfect inputs and still produce something listenable
We also found that clarity is more important than complexity in the visual layer. Keeping the lyric display focused on a single highlighted line with subtle surrounding context made the experience easier to follow, especially in a group setting
Overall, the project became less about building a traditional game and more about creating a shared performance :) players contribute small pieces, and the system turns that into something that everyone watches, listens to, and reacts to together
Built With
- flstudio
- gcp
- inkscape
- javascript
- next
- react
- ts
Log in or sign up for Devpost to join the conversation.