David Shi

@dcmshi

Full-stack engineer building AI-powered systems

ABOUT

I build full-stack applications and AI-powered systems. Sometimes they even deploy on the first try.

I enjoy debugging. This says more about me than I'd like.

My work spans the entire stack, frontend interfaces, ML pipelines, APIs, infrastructure. The parts in between too.

When models misbehave or systems fall over (and they do), I'm the person who figures out why.

[ Tech I Work With ]

Languages: Python • JavaScript • SQL

Full Stack: Node.js • REST APIs • Elasticsearch

AI/ML: Model deployment • Feature engineering • ML pipelines

Infrastructure: Docker • Kubernetes • Terraform • AWS • GCP

Data: Spark • Airflow • DBT • Postgres • MongoDB • Redis

Return to Title

PROJECTS

Selected work from GitHub:

4-player Sichuan "Bloody Rules" (血战到底) mahjong, playable in any modern browser. Real-time WebSocket rooms joined by a 4-letter code, full fan-scoring engine, heuristic bots, spectator mode, and a trilingual UI. Runs over LAN, Tailscale, or a public URL.

TypeScript · React · Fastify · WebSocket · Tailwind CSS

[GitHub →] [Live →]

Single-player, timed take on the card game Set. Race the clock to clear all 81 cards by spotting valid trios — where each attribute (number, shape, shading, colour) is all-same or all-different. Wrong picks and hints add time penalties; best times persist in your browser.

React · TypeScript · Vite · CSS

[GitHub →] [Live →]

Port of an old-school arcade bubble-shooter. Match 3+ same-colored bubbles, clear the board. 12 levels, hex grid, recursive color-matching, dynamic music.

JavaScript · HTML5

[GitHub →] [Live →]

Reliability-first trip planner for GO Transit buses. Ranks routes by real-world likelihood of working, not just scheduled time. Accounts for no-shows, alerts, and risky transfers.

Python · FastAPI · Next.js · TypeScript · PostgreSQL · GTFS-RT

[Frontend →] [Backend →]

Barbell plate calculator for both kg and lbs. Enter a target weight, get the exact plates to load. No fuss.

React · TypeScript · Vite · Tailwind CSS

[GitHub →] [Live →]

Sudoku puzzle solver with a playable browser interface. Enter a puzzle, get the solution.

Python · Django

[GitHub →] [Live →]

AI-powered training program generator for Olympic weightlifting. Ingests coaching literature into a hybrid vector + structured database, then generates personalised mesocycle programs grounded in Prilepin's chart, extracted programming principles, and athlete-specific maxes and goals.

Python · OpenAI · Anthropic · RAG · HTML

[GitHub →]

Converts system design articles into multiple-choice questions using a local LLM. Deterministic pipeline with chunking, dedup, and a FastAPI + single-file web UI.

Python · uv · Ollama · SQLite · FastAPI

[GitHub →]

Generate Anki flashcard decks from Chinese EPUB/PDF books using jieba, CC-CEDICT, and pypinyin.

Python · jieba · genanki · pypinyin · CC-CEDICT

[GitHub →]
Return to Title

CONTACT