Case studies

Built end to end, by one person.

Frontend, backend, infrastructure, payments, release pipelines — I design and operate the whole stack. Here's the work, and the decisions behind it.

MineMasters.pro

Live in production
Role: everything · frontend, APIs, database, payments, ops · 2025 – present

MineMasters is the hub for competitive Minesweeper — a platform serving the worldwide community with leaderboards, tournaments, training tools, and original games. What started as a leaderboard grew into an ecosystem of 15+ interconnected apps that the community uses daily.

The public site is deliberately lean - JavaScript, no framework overhead, fast on any device. Behind it sits a set of Node.js/Express services with MySQL (kept in private repos) handling accounts, leaderboard ingestion, and event registration.

Spotlight: powering a real-world championship

  • NA Regional Championship (Chicagoland 2026) — the registration and payment system for an in-person tournament runs on my stack.
  • Helcim payment integration with HMAC-verified webhooks, raw-body signature checks, and a server-to-server postback path for the hosted payment page.
  • Capacity gating and waitlists — seat limits enforced at the API layer, with graceful overflow to a waitlist flow.
  • Designed a full accounts system: MySQL schema with cross-platform identity linking (verify you own your minesweeper.online account via one-time codes), preferences, and stat tracking.
MineMasters.pro screenshot
minemasters.pro — the competitive Minesweeper hub

MineTrainer

A structured learn-to-sweep curriculum with an interactive lesson engine and a probability-solver bridge for guided practice.

Unified Leaderboard

One ranking across communities — aggregates and normalizes records from multiple Minesweeper platforms.

Chord Cup

Full tournament coverage: brackets, player profiles, country stats, and historical results.

PvP Statistics

Head-to-head match analytics for the competitive 1v1 scene.

WoMdle

A Wordle-style daily guessing game built around the World of Minesweeper player base.

Boardigami

Original board-folding puzzle challenges with difficulty progression.

JavaScript Node.js Express MySQL REST APIs Payments (Helcim) HMAC webhooks Schema design SEO / Open Graph

Extension Chord

Live · auto-updating
Role: sole developer · Go, Electron internals, browser extensions, release security

Extension Chord is a mod loader for Minesweeper Online — a plugin system that adds replay recording, personal-best alerts, leaderboard tooling, a better level editor, and more, inside a game I don't control. It ships two ways from one codebase: a native Windows installer for the Electron desktop app, and a Chrome/Firefox extension for the web version.

This is the project where the systems design runs deepest: binary patching, cryptographic signing, self-updating code, and failure recovery — all invisible to the user, who just double-clicks an installer once.

Engineering highlights

  • ASAR binary patching in Go — the installer parses Electron's app archive at the byte level (Chromium pickle header), splices new file entries into the manifest, and recalculates offsets and SHA256 integrity hashes before repacking in place.
  • Ed25519-signed releases — every update to the version manifest and preload is signed; clients verify signatures before executing anything downloaded.
  • Boot-loop protection — if a downloaded update fails to boot twice in a row, the bootstrap automatically rolls back to the bundled known-good copy.
  • Hot-swap tool loading — tools load from an updatable directory with fallback to the packaged copies, so updates apply without reinstalling.
  • Event-driven plugin architecture — tools are isolated modules communicating over a CustomEvent bus, with lifecycle events for page, board, and game state.
  • CSP surgery — strips frame-ancestors and X-Frame-Options headers via Electron's webRequest API to embed the game's paint editor as an overlay instead of a popup window.
RELEASE PIPELINE

From my keyboard to every install, safely

01 · SIGN

Ed25519

Deterministic version.json + normalized preload bytes are signed with a private key that never leaves my machine.

02 · PUBLISH

version.json

Clients poll a single manifest with independent tool and preload version numbers.

03 · VERIFY

Public key check

Downloads are verified against the embedded public key before a single byte runs.

04 · SWAP

Hot reload

Tool updates apply on page reload; preload updates prompt a restart.

05 · RECOVER

Auto-rollback

Two failed boots and the bootstrap reverts to the bundled known-good version. No bricked installs.

🖥️ Ships as: Windows installer

A single Go executable with every asset embedded. Auto-detects the game, backs up originals, patches the archive, done. No zip files, no command line.

🧩 Ships as: browser extension

The same tool code, injected by a content script at document_start for Chrome, Edge, and Firefox — one source of truth, synced by a build script.

Go Electron internals Browser extensions Ed25519 signing Binary formats (ASAR) Auto-update systems JavaScript Node.js tooling
The systems underneath

What I actually enjoy building

The flashy pages are the tip. Most of my time goes into the unglamorous parts that make software trustworthy — and those are the parts I'd rather talk about in an interview.

🗄️

Relational schema design

Normalized MySQL schemas with deliberate indexes, FK cascades, and verification-code flows — designed on paper before a single migration runs.

🔐

Release security

Ed25519 signature pipelines, deterministic serialization for signable artifacts, embedded public keys, and rollback-safe clients.

💳

Payment integration

Hosted payment pages, HMAC-verified webhooks on raw request bodies, idempotent postback handling, and reconciliation between provider and database.

🔗

API & identity design

REST endpoints with capacity gating, waitlist overflow, and cross-platform account linking verified by expiring one-time codes.

📦

Distribution & updates

Single-file installers with embedded assets, hot-swap loading, staged update prompts, and boot-loop detection that self-heals.

🧭

Operating in production

Everything above is live and serving a real community — I own the deploys, the monitoring, the incidents, and the 2 a.m. fixes.

Earlier work

Where the habits came from

BrawleSports.com

An esports statistics platform for competitive Brawl Stars, covering teams, players, characters, maps, and modes during the game's early competitive scene.

  • Grew to 100,000+ pageviews from a worldwide audience
  • Data collection, entry pipelines, and site maintenance
  • Articles, social media, and community management
Data analysis Web development Community

Sports Betting Analytics

A research project: could public prediction models plus disciplined bankroll management beat the market? I built the models, ran the numbers, and concluded — with data — that they couldn't beat passive index investing.

  • Value-bet identification from model confidence levels
  • Bankroll simulation across multiple strategies
  • Honest negative result: TVM, book limits, and effort killed the edge
Python Statistics Financial modeling