Inspiration
Creativity on its own is powerful. One person can write a melody, sketch a beat, or build a world. But we were inspired by something bigger:
When creativity becomes collaborative, it transforms.
We started from a simple belief:
An individual’s creativity is cool but collective creativity is amazing.
Reddit is built on community. Threads evolve. Ideas get layered. Ideas turn into culture. So we asked:
What if music worked the same way?
What if instead of one artist making a music tracks, hundreds of Redditors could slowly build it together — one tiny contribution at a time?
That idea became Build Your Music.

🎵 What it does
Build Your Music is a collaborative, daily music-making game built for Reddit.
One user starts an album.
.png)
Other users contribute small musical actions:
- A drum pattern
- A bass loop
- A piano phrase
- A vinyl crackle
- A synth layer
.png)
Each contribution is small, simple, and permanent.
Over time, these tiny additions stack into a fully formed musical track built entirely by the community.
The game is designed to:
- Encourage short, daily participation
- Remove the need for music theory
- Spark discussion
- Let creativity emerge organically
It turns Reddit threads into collaborative workspaces where people can get creative together!
How we built it
Build Your Music is a Reddit-native, collaborative audio engine using a client-side reconstruction model to ensure deterministic playback and serverless scalability.
1. System & Stack
- Topology: Client (React 19) → tRPC → Hono → Devvit (Serverless) → Redis.
- Philosophy: Backend handles validation/persistence; the client handles all audio processing for less server side load.
2. Post-Scoped Data Model
- Multi-tenancy: Each Reddit post acts as an isolated tenant.
- Redis Strategy: Uses deterministic keys (
post:{id}:meta) and append-only JSON for contribution sessions. - Data Structure: Stores album metadata (base track, vibe) and discrete event arrays (instrument, variation, offset).
3. Deterministic Playback
- Event Sourcing: Replaces heavy audio files with timestamped event data.
- Client Loop: Uses
requestAnimationFrameto sync events to the base track's master clock, preventing drift and race conditions.
4. Concurrency & Performance
- Consistency: Append-only writes eliminate the need for distributed locks or complex state synchronization.
- Validation: Strict duration enforcement () happens on both sides.
- Complexity: Metadata fetching is ; timeline reconstruction is , where is the event count.
5. Scalability & Resilience
- Statelessness: No WebSockets or server-side mixing; scales horizontally via Devvit.
- Assets: All samples are pre-hosted static assets, removing upload bottlenecks.
- Safety: Atomic server updates and client-side caching protect against network failures.
Challenges we ran into
- Designing a layout that works on desktop and mobile without cutting UI
- Preventing musical chaos while still allowing freedom
- Balancing simplicity with creative depth
- Handling timing and quantization for clean loop recording
- Making the UI feel playful but not cluttered
Accomplishments we're proud of
- Creating a system where contributions are meaningful but safe
- Designing a collaborative music mechanic that scales infinitely
- Building a working prototype with interactive instrument selection
- Designing the architecture to support persistent, layered tracks
- Making music creation approachable for complete beginners
Most importantly:
We turned passive scrolling into creative participation.
What we learned
- Constraints amplify creativity
- Community interaction drives engagement more than complexity
- Small contributions lower psychological barriers
- Designing for collaboration is different from designing for individual expression
- Technical structure matters as much as artistic vision
What's next for Build Your Music
- Contributor credits & leaderboard
- Social sharing of finished tracks
- Remix mode (fork an album into a new version)
- AI-assisted harmony suggestions
Long-term vision:
Build Your Music becomes a daily Reddit ritual —
a place where community creativity doesn’t just talk, but sounds.
Built With
- eslint
- hono
- node.js
- prettier
- react19
- redditapi
- redditdevit
- redis
- tailwindcss4
- trpcv11
- typescript
- vite
Log in or sign up for Devpost to join the conversation.