Inspiration
Inspired by classics like Guitar Hero and osu!, Meowcert is a fresh take on the rhythm genre that turns a traditionally single-player experience into async multiplayer, built entirely around Reddit's social fabric. Rhythm games have always had that "one more try" itch to perfect a run, but they're lonely at heart, just you against a chart. Meowcert makes the chart the social object: players build their own shows, with their own music, and publish them as posts for the whole community to compete on.
The cats are for Butters, my cat who passed away. A world where cats get up on stage and a whole crowd shows up just to cheer them on felt like the right way to keep him around. And "pspsps" was sitting right there as a tap mechanic.
It's also a showcase of what the Devvit platform can carry: a full rhythm engine, a chart editor with music upload, a two-sided economy, and 681 collectible cats running inside a Reddit post, where every player-made show becomes fresh content for the subreddit.
What it does
Meowcert turns a Reddit post into a concert venue.
Every post is a live show 🎸 Open a show and play it right there in the post: fuzzy "ps" notes fall down three lanes and you tap, hold, and slide to cheer the band on, from easy up to an insane difficulty that rains notes.

Host your own show with your own music 🎵 Upload your own song or pick from the catalog, then chart it in the built-in editor or let the generator chart it for you. Publish, and your show goes live as a post anyone on Reddit can play.

Build your cat band 🐱 Every play and every show you host earns coins, and coins buy cat boxes. 681 cats across four rarity tiers, 34 legendaries. Box pulls all have a proper reveal!

Deck them out ✨ An 800+ piece wardrobe with particle effects, plus stages you decorate yourself. Every show looks like its host.

Both sides get paid 💰 Visitors earn coins for playing. Hosts earn when people attend. The money cycles back into box pulls and cosmetics, so a show that draws a crowd funds the next, flashier one.
A reason to come back every day 📅 Daily quests, a login streak that builds day over day, weekly quests, and gift boxes waiting when you return. Playing, hosting, and hitting combos all feed the same reward loop.

Compete, and wear your rep 🏆
Weekly and all-time leaderboards for best run, points, and top host keep players chasing each other, with prizes paid out every week. And every credited play updates your subreddit flair (🎸 Rank #12 | 87 Shows | Rockstar 🎸), so your rep travels with you around the community.

Anywhere Reddit runs 📱 Desktop, mobile app, mobile browser. A tutorial that runs inside the real game engine teaches the whole loop in a couple of minutes. Scroll r/Meowcert and every post you pass is someone's show, ready to play.
How we built it
Phaser 4 on the client, Devvit for everything Reddit: the game runs in the post's webview, and the server side is Devvit's serverless runtime with Redis holding state, economy, leaderboards, and flair. TypeScript end to end.
The engineering that makes it feel good lives where Phaser meets the webview: a chart engine that runs on its own clock so rhythm survives frame jitter, hit grading in screen space instead of wall-clock time, tap sounds synthesized in Web Audio with zero sample files, and an offset table that multiplied 17 hand-drawn cosmetics into 807. Behind it all sits a content pipeline of internal labs with hard audit gates, so adding 700 recolor variants is a batch job, not a week of hand editing.
I wrote up the full engineering story here: Every frame counts: Meowcert a Phaser 4 rhythm game inside a Reddit post
Challenges we ran into
The hardest fight was latency. Rhythm games fall apart the moment input lags: a tap that registers 50ms late reads as a miss on an input that felt perfect, and players chasing perfect runs can feel a single dropped frame. Phaser's update loop jitters on mobile, so the chart engine runs on its own step grid against the audio clock, hit grading reads pixel distance instead of wall-clock time, and tap sounds are synthesized straight into Web Audio so timing stays sample-accurate even when frames drop.
Devvit is a webview with opinions. Reddit gates its navigation APIs behind trusted DOM gestures that Phaser's canvas events don't satisfy (invisible HTML buttons over the canvas carry the trust), and it caches bundles aggressively enough that a "fix" can look broken because the client is still running last hour's code.
The other fight was making it load fast on mobile. The first build was nowhere close, with Phaser baked into the main bundle and dozens of assets weighing far more than any feed will tolerate. Getting there took restructuring: Phaser moved into its own cacheable chunk so returning players only fetch game code, and backgrounds now load as thumbnails with a silent full-res swap behind them.
Accomplishments that we're proud of
The whole loop shipped. Hosting, visiting, the two-sided economy, box pulls with rarity tiers, music upload, a full chart editor, leaderboards with prizes, flair, and a tutorial, all inside a Reddit post!
What we learned
Fighting the platform is a waste of time; the better move is letting it push you somewhere new. My favorite technical decisions (pixel-distance grading, synthesized audio, the overlay buttons, the offset table) all started as workarounds for something the webview wouldn't let me do, and every one came out better than what I'd originally planned.
What's next for Meowcert
r/Meowcert is live and filling up with shows. Next is the community flywheel: surfacing the best player-authored shows so great chart authors get an audience, seasonal events and rotating prize boards, and gifting between hosts and fans. The content engine is already built, so new breeds, cosmetics, stages, and songs can ship weekly. Longer term I want band collabs across posts, a charter community around the upload-and-chart loop, and the flair ladder becoming something people genuinely grind for.
Every post is a show. I want the front page to have a few of ours on it.
Log in or sign up for Devpost to join the conversation.