Product Design · Game Design · Full-Stack Engineering
A lo-fi music companion with a spirit collection game. It rewards you for doing nothing. I designed it, engineered it, and shipped it — solo.
The Spark
I've always loved games — especially Pokémon — and cozy gaming experiences. I'm also the kind of person who has a lo-fi stream running in the background of basically everything I do. At some point I thought: what if the music could give me something back?
Not in a productivity-app-that-guilts-you way. More like a quiet little world that grows while you work. You listen, eggs appear, spirits hatch, and your village slowly comes to life. You don't have to pay attention. That's the whole point.
I also wanted to teach people about Yoruba culture through the game — the spirit names, the lore, the world-building. Games are one of the best ways to introduce someone to a culture without making it feel like homework.
How It Works
Ehoro Village is built around a single idea: reward presence, not attention. You open it, press play, and let it run. The app does the rest.
Sign in → Meet Professor Mowang → Pick your first spirit
Design Philosophy
Every design decision in Ehoro Village comes back to one principle: don't steal people's time. Modern apps are built to keep you scrolling, tapping, engaging. Ehoro is the opposite — it's designed to sit quietly in the background while you do your actual work.
That constraint shaped everything. The UI is a sidebar, not a full-screen takeover. The game loop runs on timers, not skill checks. There's no FOMO mechanic, no daily login punishment. If you miss a day, your spirits are just a little sleepy when you come back. That's it.
"I enforced the companion-first philosophy by keeping everything in a single file. If the whole app can live in one HTML document, it can't get too complicated."
The dark theme isn't just an aesthetic choice — the app is meant to run alongside whatever you're actually doing. A dark, glassy interface disappears into your workspace instead of fighting it. Light theme exists too, styled like warm parchment for daytime vibes.
Responsive on mobile · Items tab with hatchery, ingredients, and crafting
Building It
The entire frontend is a single HTML file. No React, no build tools, no npm. Just vanilla JavaScript, CSS, and a Supabase backend for auth, data, and real-time game logic. The constraint was intentional — I wanted to ship fast and keep it simple.
The Supabase backend — healthy, running on free tier, ready for ~1,000 concurrent users
The Hard Parts
This wasn't a weekend project that went smoothly. I went through 10+ development sessions, multiple database migrations, and a debugging saga that taught me more about PostgreSQL than any course could.
After deploying V2.0, all 8 new server functions returned 404 errors. Expeditions, pills, cultivation — everything broke. Turns out PostgREST returns 404 for runtime SQL errors, not just missing functions. The actual bug? I was using JSONB operators on a native PostgreSQL array column. Took 6 SQL patches to fix.
After multiple sprint iterations, column names and constraints were inconsistent. A CHECK constraint on the emblems table only allowed 3 types but the app had 5. Every new feature required verifying the actual schema before writing any SQL.
V1.0 stored game state in localStorage — no validation, easy to cheat. V2.0 moved everything to server-side RPCs with Row-Level Security, rate limiting, and XSS sanitization. The migration broke most features temporarily, but the app is now production-ready for real users.
Working With AI
I used Claude as my coding partner for this entire project. But here's the thing — AI doesn't remember your last session. Every new conversation starts from zero. So I wrote a manifesto.
The manifesto is a living technical document that I carry into every AI session. It has the database schema, the coding rules, the design philosophy, the session history — everything an AI needs to pick up exactly where the last one left off. No wasted time re-explaining context.
"Having a clear manifesto is essential. It gives the AI a reference point to maintain consistency throughout development."
This ended up being one of the biggest lessons from the project. The manifesto isn't just documentation — it's a collaboration protocol. It grew from a one-page overview to a detailed technical spec with 12 sections, session logs, and explicit rules for what AI assistants should and shouldn't do.
Takeaways
What's Next
Ehoro Village is live and playable right now. I'm actively working on adding original lo-fi music (I make beats — so this one's personal), expanding the spirit roster, and refining the monetization model so the game stays accessible to everyone regardless of income.
The target? First 100 real users. College students ages 17–20 who already have lo-fi running while they study. If I can make them close one other tab and open Ehoro Village instead, I've won.