cs @ usp · I like data engineering and rust, trying to build a startup + HFT
Most of what I build falls into one of two buckets:
- Systems that can't be wrong — event-sourced medical software, deterministic triage engines, trading bots that sign real transactions. When a mistake costs money or matters to a patient.
- Tools for games I actually play — Magic: The Gathering trackers, Dota 2 analyzers. Small scope, real users, shipped.
Mostly Rust, Python, and TypeScript.
Languages
Backend & data
Frontend
Infra & tooling
Follow-up platform for small surgical teams, built as a pilot for a LASIK, orthopedists and general surgery. Patients answer short structured check-ins on the days their protocol schedules; a deterministic rules engine scores each one 🟢/🟡/🔴, and anything not green lands in a risk-ordered queue where the surgeon reviews it and records whether they agree with the triage.
The design decisions I'm proudest of:
- Event-sourced for real. Every state change is an immutable row in an append-only
eventstable.UPDATEandDELETEare revoked on the application's database role and blocked by a trigger, everything queryable is a projection thatrebuild_all()can reconstruct from scratch. - Protocols are data, not code. A protocol is a versioned JSON record carrying its check-in questions, schedule, photo requirement, and triage ruleset. Supporting a new specialty means seeding a row. The patient form, the bot's questions, and the surgeon's queue all render from it.
- Triage is deterministic. Rules are
{field, op, value}conditions; the score is the most severe rule that fired. VLM AI in v0.3, when one photo arrives, it may only escalate a score, never lower it. - The channel is an abstraction. The domain says "request check-in"; an adapter decides whether that's Telegram (for prototyping, WhatsApp API burocracy sucks), the web app, or WhatsApp later. The core never names a provider.
FastAPI · PostgreSQL · React 19 · TypeScript · Docker Compose · pytest · axe-core
High-performance Polymarket copy-trading bot in Rust. Polls the Data API for a target wallet's fills, mirrors them through the CLOB with EIP-712-signed orders, and tracks positions in migration-managed SQLite. Handles the unglamorous parts that decide whether a bot survives contact with production: on-chain USDC approval at startup, floor-snapping when the wallet is empty, and downgrading expired-market 404s so the logs stay readable. Made a lot of money from this, but it's hard to find good players to copy >.<
Rust · tokio · polymarket-client-sdk · alloy · sqlx · reqwest
🃏 fdc-tracker — offline MTG draft tracker public
Event tracker for the Fora da Caixa MTG Arena community. Log for Limited results, no server or account required by default; everything lives in localStorage and the app is a fully installable offline PWA. Optional Supabase login syncs events across devices. Includes a performance tab with rolling win-rate charts, full reward tables with net-gem math per record, 17Lands import, and a guided first-run tour.
React 19 · TypeScript · Vite · Supabase · PWA · gh-pages
🎮 dotabuff-v2 — live Dota 2 match analyzer public
Local web app that identifies all 10 players the moment your match begins: rank, ranked win rate, top heroes, and recent matches. With zero manual input and no browser extension. Dota 2 pushes live state to a local server via Game State Integration; player IDs are resolved through a three-tier fallback (Steam GetRealtimeStats → STRATZ GraphQL → OpenDota polling), stats are fetched concurrently from OpenDota, and results stream to the browser over Server-Sent Events. You can easily identify the bad players on your team and on the enemy team... Good ones are inexistent.
Python · Flask · SSE · GSI · OpenDota · STRATZ
⚙️ dotfiles — my environment public
Neovim (Lua), kitty, zsh + powerlevel10k, and a one-shot install.sh. Reproducible from a bare machine. Needs update since Claude broke my entire setup.
- phase-rs/phase — contributed a rules-parser fix to this Rust/WASM Magic: The Gathering engine (#6540): scoped
"that player"to the triggering player for Aura and Equipment damage triggers.

