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.

Play it here.

The apartment

It starts where my day starts. My apartment in Falls Church, Virginia.

Pixel art rendering of Sameer's apartment with plants, kitchen island, and computer desk

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.

Pixel art plants - fiddle leaf fig, monstera, and trailing pothos

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.

Sameer standing by the oven - dialog reads: Looks like something's baking. Naan? Focaccia? Sameer next to the record player - dialog reads: The current record: Khruangbin. Good taste.

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.

Pixel art overworld map of the DC metro area with landmarks

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.

Needwood Hole 18 - fairway sloping toward a large pond with bunkered green beyond

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!"

Hole 15 overwater par 3 with Aaron Young NPC on the tee box and a golf ball in mid-flight

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

University of Maryland campus with McKeldin Fountain and Iribe Center

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.

Enter Sameer's World →

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.