Nathan Zhou
Student. I write software for the problems in my own week, and design, build and run each tool myself.
nathanz.cloud
Projects
Datacenter Tracker
mastri.appA sourced database of US data center construction projects.
A command-line tool that collects US data center construction projects from news articles, SEC filings and grid-connection queue exports. Every stored value records which source supports it and how strongly. The same SQLite dataset can be read from the CLI, a full-screen terminal interface, or a read-only web console.
- 3,294 tests, passing on a fresh checkout with no API key and no network.
- Repairing lightly edited quotes raised quote acceptance from 75% to 95%, with no false positives against unrelated articles.
Built with Python · SQLite (WAL) · Textual · DeepSeek / Ollama · Playwright · SEC EDGAR · US Census · pytest
Sisyphus
nathanz.cloud/projects/sisyphusA Teams assistant that answers messages while I am away.
Sisyphus watches Microsoft Teams chats on a dedicated Mac, drafts replies with an AI model, and can send them once allowed. It drives the Teams desktop app through macOS accessibility rather than any Microsoft API, so there is nothing to register and nothing for a tenant admin to approve. By default it only writes drafts for review.
- Walking the whole Teams interface, 40 levels deep, takes 0.19 seconds.
- The domain layer survived a complete change of transport, from Microsoft's Bot Framework to accessibility, without changes.
Built with TypeScript · Node.js · Swift · macOS Accessibility · launchd · DeepSeek · Ollama
Time Manager
nathanz.cloud/projects/time-managerPhotograph the homework list, get a plan for the week.
A web app that reads a photo of the class journal, lets you check what it read, and schedules the homework across the next six days. The plan is rebuilt whenever anything changes, and marking a sitting unfinished makes future estimates for that subject longer. The hosted edition here gives each invited person their own planner.
- Design targets from the spec: under $0.02 per scan, and re-planning 40 open assignments in under 150 ms.
- Each person's plan lives in its own database file, so one account can never see another's homework.
Built with Next.js 16 · TypeScript · Tailwind CSS v4 · Zod · DeepSeek vision · SQLite + Drizzle · Vitest
Squash Review
nathanz.cloud/projects/squash-reviewPhone footage of a squash match in, a positional match review out.
Squash Review turns ordinary phone video of a squash match into a post-match review. It tracks both players onto a to-scale model of the court, computes positional stats such as time on the T, court coverage and pressure, and has a language model turn those into a few coaching notes — each one citing the stat behind it.
- Calibrating from the back corners plus the short-line ends measured about 0.14 m of position error, against a 0.5 m target; the four corners alone gave about 0.96 m.
- Moving the worker from a CPU box to a consumer GPU made processing about 8.5× faster.
Built with Next.js 16 · TypeScript · Supabase · Cloudflare R2 · Python · YOLO11 pose · OpenCV · React Native / Expo