Inspiration

Nutrition and budgeting are useful skills but boring to teach. We turned them into a game: build a plate under a calorie/protein/budget constraint for a specific customer (athlete, student, bodybuilder), get scored, level up.

What it does

Players build a plate from real foods to satisfy a daily challenge's calorie cap, protein minimum, and budget. A correct plate scores well and unlocks harder Level 2 challenges; a bad plate means waiting to retry. Scores post to a leaderboard.

How we built it

Started as a React/Vite + Express + Postgres app, then ported to Devvit Web to run natively as a Reddit post. Swapped Postgres for Redis (leaderboards keyed per post), moved static seed data into plain constants, and rebuilt the client/server bundling to match Devvit's structure. The game UI and logic itself didn't change.

Challenges we ran into

Two Devvit-specific bugs: our server bundle wrongly treated @devvit/web/server as runtime-provided instead of bundling it in, causing install failures on Reddit's servers. And our client router matched on a URL path Devvit's webview doesn't guarantee, causing a silent 404. Both only showed up once actually installed on Reddit, not locally.

What we learned

Porting exposes hidden assumptions (a "normal" URL, a runtime-provided dependency) that were invisible until the code ran in someone else's environment. The fix was making the app assume less, not adding platform hacks.

What's next for Buffet Balance Challenge

Unlockable cosmetics, a premium mode with diet-specific challenges (keto, vegan) and deeper Level 2+ progression.

Built With

Share this project:

Updates