Selected work

Two contexts. Same instinct.

  1. Understand the person
  2. Find the friction
  3. Build what removes it

Everything here started as a real person's problem: mine, an organizer's, a team's. The engineering follows from there.

Part one

Engineering work

Systems I built and shipped.

adomi-san-bot

Removes the manual grind from running online FGC tournaments.

Why I built it

Running an online tournament requires operational overhead disjoint between Discord and start.gg. Check-ins, event visibility, score reporting, reminders: fragmented, slow, error-prone operations. I built Adomi-san to take the strain out of running events, so the work doesn't drain the bandwidth to actually show up for the community.

What changed

Four new event series have launched on Adomi-san, and average turnout at my weekly events has grown from 20-25 players to 35. Organizers track less by hand; players focus on playing. Serverless on Lambda and SQS: quick responses return immediately while heavy ops dispatch to worker Lambdas asynchronously. Used across Midweek Melting and adjacent series. Mentored a new developer through the architecture decisions.

FindMyFGC

Lets fighting-game players find real tournaments near them.

Why I built it

Finding fighting game events used to mean knowing someone in the scene. Search engines didn't always surface them, and announcements got buried in Discord and scattered across Twitter/X, where you'd never see them unless you already knew where to look. I built the missing piece so anyone can find tournaments without needing the inside track.

What changed

Full-stack tournament finder used by players across regions. React on S3/CloudFront, Swift Vapor on EKS in a private VPC, Cloudflare DNS to ACM-validated HTTPS endpoints. Google Gemini API converts natural-language location input into coordinates. Infrastructure managed with Terraform and GitHub Actions.

NEST

A single source of truth for first-time tournament organizers.

Why I built it

Anyone trying to run their first netplay event has to piece it together from scratch: OBS scenes, Discord templates, bot config, the works. I packaged my organizer workflow into a kit so any new TO can get started fast.

What changed

Used by Midweek Melting and other Melty Blood netplay events. Lowers the activation energy for new TOs. Distributed as a Jekyll site on GitHub Pages so it stays free to host and easy to contribute to.

FGC League Sheets

Multi-week competitive leagues without a programmer.

Why I built it

Long-term league formats are abstract and require significant manual effort to maintain, but they have helped the Melty community grow. I built a Google Sheets extension to let organizers maintain a comfortable interface to manage everything while automating the core workflow to reduce room for error and alleviate organizer strain.

What changed

Shipped a full working extension in two days, driven by an upfront design and data-model plan with AI-assisted tooling, and I reviewed every generated line. Distributed as a viewable, copyable Sheet with in-file documentation so non-technical users get started without a setup guide. Partnered directly with end users to find real edge cases and shape an intuitive workflow. Melty's DMF Duel League has supported dozens of players and expanded to facilitate both beginner and advanced leagues.

Melty Frame Data Bot

Frame data one Discord command away.

Why I built it

Players ask frame-data questions mid-conversation. Switching to a wiki breaks the flow of the discussion. I built a bot that puts the data right next to the talk.

What changed

Serves fighting-game frame data from DynamoDB via Lambda and API Gateway. Beautiful Soup scrapes and ingests wiki data automatically. Full prod and dev pipelines on GitHub Actions for safe, fast deployments.

Part two

Community work

The scene I grew up in, and the structure I built to help it grow.

Midweek Mashers

Grew a niche, insular Melty Blood scene into a sustained community newcomers can break into.

Why I built it

The scene was small, talented, and culturally rough. Melty is hard to pick up when veterans have years on you, and the community didn't always make it easy for the people who tried. The problem wasn't logistics. A hard game plus a hard culture meant the scene struggled to grow, retain, and motivate players, and that capped what events could ever be. I started a various online event series engineered around format, schedule, and rules that pushed for a healthier culture, and I built Adomi-san to streamline operational work so organizers had more bandwidth to focus on their communities.

What changed

The scene grew from small and insular into something sustained: average turnout at the weekly online events climbed from 20-25 to 35, and four new event series launched on the same tools and workflow. Newcomers have a clear path in. The scene reads as somewhere people want to be.

FGC, in detail

Commentary, special events, connecting with different scenes.

Beyond Midweek Mashers, I am involved in supporting the FGC in different capacities. I work at various events, commentate anime games, craft unofficial side events, and get to know my community across regions.