GRANT · WANGsoftware developer

Why do you build,and what for?

I'm Grant Wang. The answer changes by project. For an RPG engine, it was that turns were taking too long and breaking the flow of play. For an MRP system at NExT, it was that the people running it didn't know what they needed to fulfill an SLA until it was too late. Different domains, different stakes, but in each case there was a specific reason something needed to exist — and the work was figuring out what to build so that reason was actually answered.

Now · July 2026

summer '26

SWE Intern at Chewy. Boston MA, Agent Assist Team.

building

Feng Shui Rooms. Simple 2d room planner for lazy college needs.

reading

A lot of books. 81 books read this year.

featured

Kirimana. A solution to an impossible set of TTRPG constraints.

01 · Projects

Selected projects

Things I've built recently. Each one has a deeper write-up of its own.

★ FeaturedAUG 2025 – JUL 2026Solo project · GM

I built an engine to simulate combat. It worked. I deleted it anyway.

Kirimana

I spent months building software to simulate combat physics for a tabletop RPG. It worked — the numbers were defensible and the damage was realistic — and the table went dead every time I used it, because the whole turn vanished into a silent prompt and came back as an opaque number. The fix wasn't a better engine. It was smaller numbers, and handing the part I couldn't enumerate back to the one general-purpose computer already sitting at the table.

System designGame designTTRPGSimplicityCraft
Line art of a scale of judgment: solid base, post, and fulcrum holding a level beam. One pan hangs from solid chains; the other has dissolved into a dashed line, its chains and pan drawn thin and broken — the balance held not by adding weight, but by removing it.
★ FeaturedJUN 2026Solo project

A Python obfuscator whose loops always halt — and won't tell you when.

Pyobfuscate

Most Python obfuscators rename your variables and base64 your strings. This one rewrites your loops into Collatz-like state machines you can't read without stepping through them by hand. The loop always halts. The only way to find out when is to run it.

ObfuscationCompilersOpaque predicatesASTPython
Live
Line art of an Archimedean spiral winding inward to its center, then a line breaking outward across the spiral rings at 45 degrees — a Collatz-like loop that always terminates, but won't say when.
★ FeaturedAPR 2026Hackathon · Duos

A three-hour answer to a $98B screening bottleneck.

Sitescope

I went to a beginner-friendly hackathon expecting to build a toy. I left having traced the largest stuck-capital problem in American infrastructure to a single bottleneck, and built a tool that addresses a meaningful slice of it. The interesting part was the questions I asked to get there.

TIMDiscoveryMulti-hop agentsAI Tooling
Live
Line art of three nodes — a lightning bolt, a water drop, and a land grid — connected by straight lines, representing power, water, and land in data center site selection.
OCT 2025Coursework

Persistence has a price. The profiler names it exactly.

OCaml Max Heap

A persistent priority queue is structurally incapable of surprising you. It's also slower than a mutable one, and the benchmarks will tell you exactly how much. Suprisingly, it doesn't have to be that much.

OCamlAlgorithmsPerformance
Root node at level zero connects to two children at level one; the left child has two children at level two, the right child has one, for a total of six nodes across three levels.

02 · Writing

Selected essays

Longer thoughts on software, craft, and the things that connect them.

JUL 202613 min read

How I learned to code; The good, the bad, and the explosions

I learned to code to get what I couldn't have. Sometimes that didn't work out. I'd still do it again.

OriginsCraftSystem designScope
JUN 20266 min read

What AI still can't debug for you

The deploy was green and the site had been down since launch. A debugging story about a confidently wrong model — and the one move it never makes on its own.

DebuggingAWSAI-assisted developmentInfrastructure
JUN 202613 min read

Fanfiction is the best exercise in system design

Worldbuilding teaches you to build worlds. Fanfiction teaches you to enter one, listen to it, and add something that belongs. That second skill is the one that actually transfers to engineering.

System designCraftWritingEngineering
MAY 20264 min read

What I learned from PyCon US 2026

I got sick the day PyCon started in full, but I still came out with all my goals fulfilled, and a better understanding of how plans differ from goals.

PythonPyConOpen Source
MAY 20266 min read

Good code is code that saves you time

Every "good code" property — readability, performance, modularity — earns its place only because it saves someone time. Once you see it that way, a lot of arguments about code style stop being arguments about taste and start being arguments about whose time is being saved.

CraftEngineering

03 · Skills

What I reach for, and why

Eight instruments. Each one labeled by what it's for.

Each tool got reached for because a project needed it. The labels below are what I've used in production, in coursework, or in shipped personal work — not what I've read about.

01Languages

For thinking in.

Python, Java, C/C++, TypeScript, SQL, HCL, OCaml, Racket, Dart

02Backend & APIs

For wiring up the server side.

FastAPI, Spring Boot, Django, OpenAPI/Swagger, SQLAlchemy, Alembic, Pydantic, Zod, REST, WebSocket

03Frontend

For shaping interfaces.

React, Next.js, MUI, Tailwind, SCSS, Flutter, Figma

04Data & ML

For state, structure, and intelligence.

PostgreSQL, MySQL, SQLite, Pandas, NumPy, PyTorch, TensorFlow, HuggingFace, web scraping

05Infra & Tooling

For getting code into the world.

AWS (ECS, Fargate, RDS, S3, Route 53, Cloudfront, Lambda, EventBridge), Terraform, Docker, Jenkins, pnpm, Git/GitHub, CI/CD (Github Actions), Linux/WSL2

06Testing & Quality

For shipping with confidence.

TDD, unit/integration/property-based testing, PyTest, JUnit, Jest, JaCoCo, Playwright/Chromatic, PDB

07Leadership & Process

For moving teams and surfacing real needs.

Agile/Scrum, sprint planning, stakeholder management, requirements elicitation, presentation coaching, cross-functional team leadership

08AI & Agentic Tooling

For building with agents, not just prompting one.

Claude Code, OpenAI Codex, MCP servers, Agent Hooks & Skills, LangChain, OpenAI API, prompt engineering

04 · Experience

Where I've worked

Defense robotics, legal AI, teaching, consulting, and e-commerce platform tooling.

Software Engineer Intern

Chewy

Intern on the Agent Assist team, which builds the tooling 4,000 customer care agents use day-to-day. Led a live platform upgrade — Next.js 12 to 14, MUI v4 to v5 — across 900+ call sites using parallel git worktrees to keep it moving without freezing the main branch, and unified a split npm/Yarn setup onto a single pnpm runtime along the way. Then built a Playwright pixel-diff harness across 70+ mocked services so AI agents could test and ship changes unsupervised — collapsing several 30–60 minute manual passes into one, at roughly 4.5x the throughput — and used the same idea to design an autonomous migration framework that compiles company standards into agent hooks and skills, clearing routine dependency and lint debt on its own.

JUN '26 → PRESENT

SWE Consultant · Scrum Master

NExT Consulting

Half the week was client-facing — running discovery sessions to figure out what to ask, what to demo, and where to go next for a 5-person team replacing a spreadsheet-run warehouse with a live WMS/ERP on AWS Fargate. The other half was heads-down building, often with several Claude Code sessions running in parallel. Shipped five modules from scratch — MRP, MBOM traceability, receiving, demand tracking, and reservations — including migrating reservations to a three-stage quantity model across dev/staging/prod with Alembic without losing data integrity on an upgrade or a rollback, and inventory soundness checks that run at write-time, on manual edits, and on a periodic EventBridge sweep, so drift gets caught before it breaches a fulfillment SLA. Across 10 weeks the team put out 13 releases at ~1 week average client request turnaround, and I surfaced a handful of needs the client hadn't named yet.

JAN '26 → APR '26

Lead Teaching Assistant

Khoury College, Northeastern

Ran weekly labs with a team of four TAs. Built a set of LeetCode practice problems that ended up adopted as a standard resource across the course (400+ students) and drove a 50% lift in attendance, and wrote a style-check aggregator that saved the TA team ~70 hours of grading a semester.

SEP '25 → DEC '25

SWE Intern

Anytime AI · LegalTech

Built a shared React, MUI, and TypeScript component layer that every AI workflow now runs on, halving duplicated UI code and setting the frontend architecture direction. Built a frontend test harness against a fully mocked FastAPI/Uvicorn backend that caught 7 defects before they shipped. Weighed in on one design call that went my way.

APR '25 → AUG '25

Executive Assistant

Anytime AI · LegalTech

Wrote 20+ competitive dossiers on the legal AI landscape — positioning, product capabilities, emerging threats — reporting directly to the COO. Along the way, replaced a manual data-entry workflow with a Python and BeautifulSoup pipeline that normalized messy multi-page records into CSVs and routed them to the right per-jurisdiction endpoint, pulling the Zoho CRM migration in by two weeks.

JUN '24 → AUG '24

Robotics Software Intern

GuardBot · Defense & Research Robotics

Built a cross-platform (iOS / Android / Windows / macOS) remote-control app for the HARV product line — a Flutter and WebSocket command layer over QGroundControl — and shipped an end-to-end demo for FMEC 2024's 5G showcase: telemetry, RTK positioning, and live control input. Piloted the robot live from the US while it drove around a field in Sweden, holding real-time control across 3,000+ miles.

MAY '24 → JUN '24