Selected work

Two contexts. Same instinct.

I bring the same engineering instinct to two distinct contexts: cloud-native systems at scale, and the FGC community I'm part of.

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 Adomin 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

Events run smoother for everyone: organizers have less to manually track, players can focus more on playing. New TOs have launched their own series on Adomin, broadening the Melty Blood online scene. 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 new developers 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

League organizers were maintaining brackets and standings in spreadsheets by hand. I built a Sheets extension so non-technical TOs can run real long-term leagues without code — distribute players, rank by win rate, manage roster changes.

What changed

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 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 Melty Blood scene from a small community to seeing 200+ players at majors.

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 Adomin to streamline operational work so organizers had more bandwidth to focus on their communities.

What changed

Offline major attendance went from roughly 80 to 200+ players. Newcomers have a clear path in. Other organizers have started their own events using the same simple workflow. The scene reads as somewhere people want to be.

FGC, in detail

Graphics, scenes, specific events — the wider picture of my community work.

The Midweek Mashers story is one piece. The FGC page collects the rest: the graphics I've made for streams and events, the specific tournaments and series I've helped run, and the people who make the scene worth showing up for.