Projects

Small, useful things I build end-to-end — from the app code to the box it runs on. Most are live; tap a title to try it.

when2meet

A mobile-first When2Meet clone. Create an event, share a link, and everyone paints their availability on a grid — no accounts, no friction. Data is ephemeral by design (30-day TTL).

Next.js React Upstash Redis Vercel
where2hit

Crowdsourced tennis-court finder for the greater Boston area. A snow.fyi-style grid with go / maybe / no-go votes that aggregate over the last 4 hours, plus a Leaflet map view.

FastAPI Jinja + HTMX SQLite Leaflet
discord → notion

A forked Discord app rebuilt into a Notion integration: a /todo <task> slash command creates a page in a Notion database, stamped with the Discord user and a default status. Runs on the Pi as a systemd-user service.

Node.js Express Notion API Discord Interactions
Self-hosted Pi stack

The infrastructure behind the apps: rootless Podman compose stacks supervised by systemd-user, exposed to the internet through outbound-only Cloudflare Tunnels — free TLS, no open ports, reboot-persistent.

Raspberry Pi Podman Cloudflare Tunnel systemd
More on GitHub

Earlier work — ML/NLP experiments, computer-vision projects, and assorted tools from grad school and beyond.

Python PyTorch Golang