A tiny, shippable growth experiment built on Val Town.
This project is intentionally small: one email, two links, and a fully-instrumented mini web app. It demonstrates how I approach growth engineering at dev-tool companies—ship fast, measure everything, and wire feedback loops end-to-end.
pillChoice is a two-path experience inspired by the classic “choose your pill” metaphor:
Both paths log events to a shared SQLite database so behavior is observable immediately.
This was built as an application experiment for a Growth Engineer role at Val Town.
Rather than sending a traditional cover letter, I wanted to:
Single-page React app
No router library — routing is done via window.location.pathname
Client-side event tracking on:
index.ts)std/sqlite for persistenceEvents are stored in SQLite with:
You can inspect recent events at:
/api/events?limit=50
| Route | Description |
|---|---|
/ | Landing page with pill choice |
/red | Public CV + growth plan |
/blue | Hidden route that triggers automation |
/api/events | JSON event log |
These are not required, but enable extra proof points:
WEBHOOK_URL — POSTs a JSON payload when /blue is visitedNOTIFY_EMAIL_SUBJECT — subject line for notification emailNOTIFY_EMAIL_TO — recipient (if supported by plan)There is no local dev server.
Instead:
vt watch # sync changes continuously vt browse # open the live site vt tail # view logs
The deployed site is the development environment.
Thanks for taking the time 🙏
This project is small on purpose. The goal isn’t polish—it’s to show how quickly I can:
— Andy