An indie game development LLC I co-founded with friends. We handle everything from design and engineering to production and publishing.
Check out the website!
App Store
Google Play
An indie game project where I wear multiple hats as both engineer and technical producer.
Owning the client and engine side — handling engine upgrades and building custom debug tools for performance monitoring and QA testing.
Built a custom Discord bot integrated with Jenkins to streamline the team's build pipeline.
Helped form and lead the QA team — establishing RC test cycles, writing test case master sheets, and owning all QA documentation.
Handling production and leadership meetings, agile sprint planning, roadmap planning, and task management via Trello.
I started using Claude Code on March 14th, 2026. Within a week, everything below was live — two complete daily puzzle games with 365 puzzles each, and a room layout planner with a full furniture library. That kind of turnaround would have been impossible working solo in my spare time — especially in languages I'm not deeply familiar with.
I barely know HTML, CSS, or JavaScript — but I know game design, I know how to code, and I know how to direct an AI tool effectively. I bring the creative direction, design sensibility, and vision for what the end product should feel like. Claude handles the implementation details — the CSS quirks, the JavaScript patterns, the beam-tracing math. I direct, review, and iterate. It's like having a very fast junior developer who never gets tired, and knowing how to steer that effectively is a skill in itself.
These projects are proof of concept for a workflow I believe in: AI doesn't replace creative direction or design judgment — it removes the friction between having an idea and shipping it.
A real-time dashboard tracking how miserable developers are when Claude AI goes down. Combines official Anthropic status page data, incident history, Reddit and Bluesky social chatter into a single 0-10 misery score.
How it started:
Where it is now:
A free, mobile-friendly room layout planner. Import a floorplan image (or draw rooms from scratch), set the scale, and drag and drop furniture with real-world dimensions. No sign-up required.
How it started:
Where it is now:
A daily laser puzzle. Place mirrors and beam splitters on a 6x6 grid to route a laser beam from the source to all targets. Fewer pieces = better score.
How it started:
How it evolved:
Where it is now:
A daily code puzzle. Swap scrambled tokens in a buggy program to make it produce the correct output. Think Wordle meets debugging.
How it started:
How it evolved:
Where it is now:
What started as a college assignment in 2016 has become my longest-running personal project. This portfolio website has evolved alongside my career — from a basic student page built for a UCI informatics course, to the interactive, game-inspired experience you're browsing right now.
It's a project I keep coming back to, constantly improving and rebuilding as I learn new things and grow as a developer. Every version reflects where I was at that point in my career, and the current iteration is the most ambitious yet.
This site began as a project for an informatics course at UC Irvine. The assignment required user research, competitor analysis, feature prioritization, and user testing — the full UX process. I interviewed classmates, analyzed other portfolios, and iterated on the design based on real feedback.
The original version was simple — static HTML/CSS with a space-themed background. But going through that UX process taught me how much thought goes into even a personal website. That foundation stuck with me.
View Original ResearchAs I moved through the game industry — from Trigger to Sega/Atlus to MobilityWare and now Blizzard — the site grew with me. New projects meant new pages. New skills meant new ways to present them. Every major career milestone was an excuse to revisit and improve the portfolio.
The site has always been plain HTML, CSS, and JavaScript — no frameworks, no build tools, no dependencies. That simplicity is intentional. It keeps the focus on the content and makes it easy to jump in and iterate quickly. GitHub Pages handles hosting, and I can push changes and see them live immediately.
The latest overhaul is the most ambitious the site has ever been. It draws from my game development background with features like:
It's a portfolio that feels like a game — because that's the industry I work in and the kind of experience I want to create.
The current version of this site was built with the help of AI — specifically Claude. Using Claude Code as a development tool has made it possible to move faster, iterate more ambitiously, and ship features that would have taken significantly longer to build solo.
From the achievement system to the sprite animation logic to the responsive timeline, AI helped accelerate the development without replacing the creative direction. I drive the vision and design decisions; AI helps me execute on them efficiently. It's a workflow multiplier — the ideas are still mine, but the time from idea to implementation has shrunk dramatically.
This site is a showcase of that philosophy: AI is a tool, and knowing how to use it effectively is a skill in itself.