Inspiration
Reddit communities are strongest when small individual actions add up to something visible. Mosaic Relay turns that idea into a daily ritual: every player runs the same quick challenge, earns one tile, and extends a route that the entire subreddit is building together. No single player owns the solution. The Beacon only lights when enough people contribute.
What it does
Mosaic Relay is a Devvit Web Phaser game built around an 18-second skill run. Players collect sparks, avoid moving hazards, use special tiles, and earn a path, spring, shield, or Beacon tile based on their result. They then place that tile on a highlighted square next to the connected community route.
Every placement is validated on the server and stored in Redis with its builder and score. The shared board updates immediately for the next redditor, showing route progress, contributor count, the daily leaderboard, and time until reset. The community wins when the connected route reaches today's Beacon.
How we built it
The app uses Devvit Web, Phaser, a Hono server, and Reddit Redis. Phaser renders the responsive board and run, including keyboard, pointer and touch movement, particles, route pulses, hazards, score feedback, and tile placement. The Hono API owns board, profile, inventory, streak, and leaderboard state.
Connectivity is calculated with a breadth-first search from the Relay Core. The API independently checks that every placement is in bounds, unoccupied, present in the player's inventory, and adjacent to the connected route. A UTC date key gives every Reddit post a fresh deterministic mission each day.
Challenges we ran into
The product challenge was making cooperation understandable in a feed-sized experience. The answer was a simple three-step promise: run, earn, connect. The technical challenge was keeping every player synchronized while preventing invalid or disconnected placements. Server-side validation and a shared connectivity calculation made the board trustworthy without slowing down play.
Mobile embedding also required careful layout and rendering work. We used a Canvas renderer, stable responsive dimensions, touch controls, and a throttled HUD so the same mission remains readable and smooth on small Reddit webviews.
Accomplishments
- Built a complete run-to-contribution loop.
- Added a server-enforced daily Start-to-Beacon community mission.
- Added Redis-backed board, player profile, streak, inventory, contributor count, and leaderboard state.
- Made the Phaser game responsive and playable with mouse, touch, keyboard, or drag input.
- Made every contribution visible and attributable on the shared board.
- Created a fresh UTC mission and a clear countdown to tomorrow's relay.
What's next
Next, Mosaic Relay can add subreddit-voted daily modifiers, comment-triggered events, weekly board recaps, and community milestones for fast Beacon connections. Different communities could eventually develop their own route strategies and seasonal tile sets.
Built With
- css
- devvit
- game
- hono
- html5
- javascript
- node.js
- phaser.js
- redis
- typescript
- vite
Log in or sign up for Devpost to join the conversation.