Inspiration We wanted to build something for Reddit that felt less like "vote on a post" and more like an actual daily ritual—something people would open every morning the way they open Wordle or Connections. Radio signal hunting seemed like a natural fit: there's something inherently satisfying about tuning through static until a clear tone locks in, and it gave us a real excuse to lean into a retro terminal/signal-intelligence aesthetic instead of another flat trivia UI.
What it does Signal Hunt drops players into a daily two-stage puzzle. First, they tune a frequency slider through noise until they lock onto the day's hidden signal — the closer they get, the clearer the waveform and audio tone become, and the static actually falls away in real time. Once locked, they move into a decode stage where they match a sequence of symbols against the signal to fully crack it. Solving faster and maintaining a daily streak earns more points, with a first-solver bonus for whoever cracks it first each day. Progress feeds into a weekly leaderboard and a five-tier rank system (Listener → Signal Master), and hitting a new tier automatically updates the player's subreddit flair. Players can also compose and transmit their own signals for the community to vote on — popular submissions get featured as a future day's official puzzle, and moderators have menu tools to force-regenerate the daily signal or manually feature a submission.
How we built it The game runs on Reddit's Devvit platform, split into a Phaser 3 client and a Hono server backed by Redis. The client is built as a set of Phaser scenes — tuning, decoding, results, leaderboard, transmit — with all audio synthesized live via the Web Audio API rather than loaded from sample files, so the static noise and lock-on tone respond in real time to how close the player is to the correct frequency. On the server side, daily signals are deterministically generated from a seeded PRNG so difficulty scales through the week, solve attempts are validated and scored server-side, and Redis handles everything from user progress and streaks to the weekly sorted-set leaderboard and the community submission queue. A scheduler task regenerates the daily signal (or promotes a featured community submission) automatically, and a second scheduled task tracks how many players have solved the day's puzzle to unlock community hints at 30% and 60% completion.
Challenges we ran into Getting the "feel" of radio tuning right took a lot of iteration — balancing the noise floor, the bandpass filter sweep, and the tone fade-in so that finding the signal felt analog and satisfying rather than just a progress bar in disguise. On the infrastructure side, keeping the daily-signal state consistent across the moderator tools, the scheduled generation job, and what players actually see turned out to be trickier than expected once community-submitted signals entered the picture — reconciling "the one official signal for today" with per-player state took a few passes to get right. We also ran into a frustrating local dev environment issue where npm run dev would intermittently fail talking to AWS S3, which turned out to be a flaky ISP NAT64 gateway on an IPv6-only connection rather than anything in our code.
Accomplishments that we're proud of We're proud of how cohesive the whole loop feels — tuning, decoding, scoring, streaks, flair, and community submissions all click together into something that actually resembles a live game rather than a demo. The live-synthesized audio in particular ended up being a standout feature: nothing is pre-recorded, so the soundscape genuinely reacts to player input frame by frame. What we learned
Building on Devvit pushed us to think carefully about the split between client-authoritative feel and server-authoritative truth — the tuning and decoding need to feel instant and responsive, but scoring, streaks, and "first solver" status all have to be resolved safely on the server. We also got a much deeper appreciation for how much of a "simple daily puzzle" game is actually state management: keying data correctly by date, by user, and by week turned out to be most of the real engineering work.
What's next for Signal Hunt Next up: seasonal/limited-time signal themes, a proper hint-reveal UI tied to the community unlock thresholds we're already tracking server-side, difficulty-adjusted matchmaking for the community submission queue, and a "signal archive" so players can replay past days' puzzles they missed.