Inspiration

Most subreddit "games" are just a single poll — vote once, forget about it, nothing changes. We wanted something with an actual memory: a galaxy that Reddit collectively builds and where every decision leaves a permanent, visible trace. The hook we kept coming back to was: every day, this subreddit decides the future of an evolving universe — not "here's a poll," but "here's a world you're shaping."

What it does

Community Cosmos is a persistent, community-created galaxy that runs entirely inside a Reddit post:

  • Found a planet, join one of three factions, and grow your civilization through daily actions.
  • Vote on one shared galaxy-wide crisis per day. The winning choice isn't just flavor text — it has a real, visible consequence. Vote the protective option and the actual planet that crisis was about gets a glowing shield, visible on the map and in-flight. Vote the costly option and it visibly takes damage.
  • Submit planets and species. Instead of disappearing into a database, submissions get an immediate visual acknowledgment on your own planet, then rotate fairly into a small set of "Featured Discoveries" that show up as scannable anomalies in-world for other players to find.
  • Fly. A free-roaming exploration mode — wormholes you can physically fly into, a black hole with real gravitational pull, comets, asteroid belts, and community discoveries scattered through space.
  • Read the Chronicle — a permanent, growing record of everything the community has decided, referencing real submissions and real outcomes.

How we built it

Phaser 3 for the galaxy map and the flight-sim exploration scene, a vanilla-TS UI layer for everything else, all served through Devvit Web — Reddit's platform for apps that run natively inside a post, hosted entirely by Reddit's own infrastructure rather than an external server. The backend is Hono, with all persistent state (galaxy, planets, users, submissions, the Chronicle) in Redis via @devvit/redis, and a real Devvit cron task resolves the daily crisis, grows planets, and rotates featured discoveries automatically.

We deliberately kept the economy simple: no new currencies, no upvote/endorsement system layered on top of voting, and submissions never become their own map-cluttering planet — a small rotating "Featured" subset stays visible instead, so the design scales to a large community without turning the galaxy into visual noise.

Challenges we ran into

The biggest one: we originally built this against a standalone Express server, which doesn't work at all under Devvit — Reddit hosts your app's own client and server together as one unit, it doesn't run an external backend for you. That meant a full migration: Express → Hono, an in-memory store → real Redis (which meant converting the entire storage layer to async), and replacing a spoofable "trust this header" auth stub with real Devvit-provided user identity.

Mobile was its own fight. Reddit renders posts inside an iframe, which broke assumptions we didn't know we were making — a URL-based dev-tools flag silently never reached the app at all (query params on the outer reddit.com page don't propagate into the iframe), and Phaser's canvas kept intercepting taps meant for our HTML sidebar even when the sidebar was visually on top of it, because DOM stacking alone doesn't stop Phaser's own input manager on every mobile browser. We ended up explicitly disabling Phaser's input at the scene level whenever an HTML panel is covering it, instead of trusting CSS z-index to do that job for us.

Accomplishments that we're proud of

Making community submissions feel like they matter without a second voting system or letting the galaxy get cluttered — the fair-rotation Featured Discoveries system was the one piece we iterated on the most, because the naive version ("submit and hope it gets randomly picked one day") genuinely felt like shouting into a void.

What we learned

That "it compiles" and "it works on a real device inside Reddit's actual webview" are very different bars — several of our trickiest bugs (the dev-tools URL param, the touch leak-through) only existed because of Reddit's specific iframe embedding model, not anything a normal local dev server would ever surface.

What's next for Community_Cosmos

A sector-based galaxy split for real scale, cooperative SOS contributions (research/defense/supplies), and giving each submitted species some actual distinguishing visual identity instead of a shared generic icon.

Share this project:

Updates

Submission history