↑↓ move↵ selectesc close

Software developer

StevenMcGee

I design and build software end to end: the product, the model inside it, and the tools that ship it.

Now building Ducatly and Muxwire

Selected work ↓

Selected work

11 projects

  1. A multi-user net worth app. Link accounts, upload a statement or a tax return and let AI read it, or add things by hand. Everything lands on a single chart, and private leagues let friends compare in ranges without ever seeing each other's numbers.

    • Account linking through Plaid
    • Document reading with review before anything is saved
    • Private leagues that share ranges, never balances

    TypeScript · React · FastAPI · Postgres · Plaid · Claude

    ducatly.com
  2. A browser-first deck of terminals attached to tmux sessions on your own machines, streamed over WebSockets. Sessions outlive the tab, the laptop, and the network you opened them on. A file tree, editor, diff and preview sit beside the deck.

    • PTY relay over WebSockets
    • Machines joined over a private tailnet
    • One container serves API, sockets and UI

    React · FastAPI · WebSockets · tmux · Tailscale · Docker

    muxwire.com
  3. A portfolio intelligence platform built for The Covington Group. Property managers send quarterly PDF reports; CovIntel reads them into structured rent rolls and financial statements, then puts the whole portfolio on live dashboards. Deal underwriting, entity records, market listings and news, and an AI research workspace sit alongside in the same app.

    • AI extraction of rent rolls and financial statements from PDFs
    • Underwriting with pro forma, IRR, DSCR, sensitivity and waterfalls
    • A scraper fleet feeding listings and market news automatically

    TypeScript · React · FastAPI · OpenAI · Google Document AI

  4. A community-built card database with a collection vault on top. It is the catalog collectors check a card against, kept independent of any publisher, and structured so a second card game can live beside the first without the two tangling.

    • Full catalog with a personal collection vault
    • Scrapers and pipelines that keep the catalog current
    • Publisher split with edge redirects for every legacy path

    TypeScript · React · FastAPI · Postgres · Stripe

    narutodb.com
  5. The generalized successor to NarutoDB: one catalog for trading cards, collectible card games and sports cards, with a portfolio tracker built on top. The catalog comes first and stays neutral, so it can be trusted as a reference; the portfolio is what you do with it once you find your cards.

    • One catalog model that spans games, sets and sports
    • Portfolio tracking priced from real sale data
    • Built on the pipelines proven on NarutoDB

    TypeScript · React · FastAPI · SQLAlchemy · Postgres

    cardboarddb.com
  6. A sports card database built for One of One Collectibles LLC. A fleet of browser-based collectors gathers active and sold listings around the clock and posts them to a central API, giving the business one place to see what a card is listed for and what it actually sold for.

    • Sharded collector fleet that scales by adding machines
    • One-command provisioning for a new machine in the fleet
    • Active and sold listings joined in a single catalog

    TypeScript · React · FastAPI · Postgres · Playwright

    sportscardsdb.com
  7. A phone-camera scanner for an 894-card catalog. A fine-tuned DINOv2 vision model runs on the phone's own GPU through WebGPU, so recognition is real-time and nothing leaves the device. Scans are sorted into named batches, so when a card sells you know which box it is in.

    • Fine-tuned DINOv2 ViT-S/14 with ArcFace, triplet and SupCon losses
    • On-device inference through ONNX Runtime and WebGPU
    • Query expansion and PCA whitening at retrieval time

    PyTorch · ONNX Runtime · WebGPU · React · TypeScript

  8. A heads-up no-limit hold'em agent built on self-play and search, with no precomputed strategy and no opponent data. Every decision is solved live on the GPU, with neural networks estimating the value of the streets still to come. Each round of self-play trains the next generation of networks, and a version only counts as better when it wins a test whose size and deals were fixed before it ran. Its predecessor, Midas, a precomputed-strategy bot, finished 15th of 100 on the GTO Wizard leaderboard at −16.2 bb/100 over 41,474 hands.

    • GPU counterfactual-regret solver with value networks at the leaves
    • Unattended loop: self-play, train, regression guard, graded tests
    • Pre-registered evaluations on identical deals, pass or fail as written

    Python · PyTorch · CUDA · C++ · RunPod

  9. A mail client that brings Gmail, Outlook and plain IMAP accounts into a single workspace. Rules, categories, reminders and drafts work the same across every provider, and the app keeps working offline, replaying what you did once the connection is back.

    • Gmail, Microsoft Graph and IMAP/SMTP behind one interface
    • Provider credentials held in an encrypted vault
    • Offline edits journaled and replayed on reconnect

    TypeScript · React · FastAPI · Postgres · IMAP/SMTP

  10. A tray-resident desktop app that attaches to a real Chrome session. Browse by hand while it records, share the wheel with an AI, or hand it a goal and let it work alone. Whatever it learns is saved as a playbook: a reusable, parameterized script that can run on a schedule and repair itself when a site changes.

    • Chrome DevTools Protocol against a real browser profile
    • Playbooks with parameters, schedules and run history
    • Failed runs are handed back to the model and patched in place

    Electron · Node · CDP · Playwright · Claude

  11. A self-hosted reader in the spirit of a trading terminal. It pulls articles from the major U.S. outlets, stores the full text, and presents it in a layout built for scanning quickly. No ads, no tabs, no leaving the app.

    • Async ingestion across a configurable source list
    • Full-text storage and search in Postgres
    • Runs on a single always-on box

    FastAPI · Postgres · httpx · React · TypeScript

About

I build the whole thing: the interface, the API behind it, the model in the middle and the infrastructure underneath.

Most of what is on this page started as something I wanted for myself. A scanner for a box of cards. A calmer way to read the news. One chart for everything I own. I ship them as real products, with real users, payments and uptime.

Lately much of the work is agentic: building with coding agents, and building the tooling that lets them scaffold, deploy and operate software with as little hand-holding as possible.

Toolkit

Interface
TypeScript · React · Next.js · Vite · Tailwind
Systems
Python · FastAPI · Postgres · WebSockets · Node
Models
PyTorch · ONNX Runtime · WebGPU · LLM agents
Desktop
Electron · Chrome DevTools Protocol
Infrastructure
Render · Vercel · Cloudflare · Hetzner · RunPod · Docker

Contact

If you are building something and think I could help, or want to talk about anything here, write to me.

hello@stevenmcgee.com

GitHub ↗