Sameer's World: Building a Pixel Art Diary of My Life
What if your life was a video game? Not a metaphor — an actual game. One where someone could walk around your apartment, flip through your bookshelf, talk to your friends, and visit the places that matter to you.
That's what I built. Sameer's World is a 2D Pokemon-style pixel art game that doubles as a living, visual journal of my life. It's built in vanilla JavaScript with HTML5 Canvas — no frameworks, no build tools. Just pixels and stories.
The apartment
It starts where my day starts. My apartment in Falls Church, Virginia.
Every object in this room is something I actually own. The dual monitors running VS Code and Xcode. The monstera that's "practically a roommate." The kitchen island where the magic happens. The record player spinning Khruangbin.
Interact with anything — the bookshelf has my actual books (Designing Data-Intensive Applications, Ben Hogan's Five Lessons), the stove has a curry simmering, and yes, there's a Square Terminal in the trash can. We don't talk about that.
The plants
If you know me, you know about the plants. Fiddle leaf figs, monsteras, trailing pothos, devil's ivy, snake plants. The apartment is basically a greenhouse with a kitchen attached.
Each one has its own personality in the game. The monstera "has main character energy." The snake plant is "perfect for someone who codes more than they water." I talk to my plants. Now they talk back.
The personal touches
Every object tells a story. The bookshelf has my actual reading list. The oven has something baking — naan or focaccia, depending on the day. The coffee table has a dog-eared copy of Salt Fat Acid Heat.
The record player is spinning Khruangbin. The spice rack is organized with engineering precision. The golf bag sits in the corner — the putter looks especially worn. These aren't random props. They're the things I actually surround myself with.
That's the point. When someone walks through this apartment, they should get a real sense of who lives here. Not a generic game character — me.
The overworld
Walk through the front door and you're on a map of the DC metro area. Falls Church, Arlington, Georgetown, the National Mall, all the way up to Derwood, Maryland. Landmarks are interactable — the Washington Monument, the Lincoln Memorial, the Pentagon. Each one has a little personal take.
The Potomac River cuts through the middle. Location markers dot the map — walk to one and you're asked if you want to enter. It's how the whole world connects.
Needwood Golf Course
This is where I spend most of my free time. Needwood Golf Course in Derwood, Maryland. Par 70, 6,254 yards, and the most honest course in Montgomery County.
The clubhouse has Coach West — the real starter at Needwood. Big guy, graying beard, plays pretend mean. "You better bring the cart back before dark. I have things to do." He cracks a slight smile. You know he's kidding. Mostly.
Hole 18 — The Signature Finish
433 yards. Par 4. Downhill tee shot, then a forced carry over a pond that encroaches from both sides. "Downright sinister." I've lost at least 40 balls in that water.
Hole 15 — The Overwater Par 3
177 yards, all carry over water. My friend Aaron is out there on the tee box, 5-iron in hand, psyching himself up. Every 10 seconds he launches one over the water. "LETS GOOOO. This guy is the algorithm!"
Walk up to any flagstick and you can putt. The mini-game has aim, power, and roll — sink it in one for bragging rights or three-putt for a story.
The places I go
Soul Thai
My go-to restaurant in Falls Church. The pad kra pao is life-changing. In the game, the kitchen pass has woks clanging and lemongrass in the air. The server already knows my order.
The Coffee Shop
A MacBook Pro, a macadamia nut matcha latte, and Claude Code running in the terminal. "The kind of place where everyone has a MacBook." There's someone arguing about React vs. Vue at the next table. It's always React vs. Vue.
UMD Campus
McKeldin Fountain. Testudo statue — rub his nose for good luck before finals. The Iribe Center where I spent countless hours debugging and questioning my life choices. B.S. Computer Science, Minor in Mathematics. Go Terps.
The hidden rooms
Some rooms aren't on the map. They're accessed through objects in the apartment.
The ski gear takes you to a lodge. Stone fireplace, hot cocoa, bearskin rug. "Utah powder was unreal." "Tahoe sunsets hit different." The memories are all up on the trophy wall.
The Square Terminal in the trash can takes you to Block HQ. Open plan office, standing desks, Slack with 47 unread channels. The snack wall was the real compensation package. An empty desk with a dying succulent — the person who sat there got laid off last month. It's complicated.
The vision
Sameer's World isn't really a game. It's a digital diary.
Every room is a chapter. Every item is a memory. Every NPC is a real person in my life, with dialog pulled from actual conversations. The golf course is faithfully modeled after Needwood. The restaurants are places I actually eat. The landmarks are the city I actually live in.
I want this to grow over time — new rooms as I go to new places, new NPCs as I meet new people, new items as I collect new experiences. A visual, interactive autobiography that someone can walk through and get a sense of who I am and what my life looks like.
Most journals are private. This one you can play.
Technical details
For the curious: the game is pure vanilla HTML/CSS/JavaScript. No frameworks, no build tools. HTML5 Canvas renders at 256×224 pixels (Pokemon GBA resolution) and CSS scales it up with image-rendering: pixelated. There are 105 hand-drawn pixel art tiles, 12 rooms, 130+ interactable items, a dialog system with typewriter text and yes/no choices, NPC rendering, room transitions with fade effects, a putting mini-game, and a full test suite with 33,000+ assertions.
The whole thing is about 5,000 lines of code and runs on any browser. No loading screens, no dependencies, no accounts. Just pixels and stories.