The Culprit
Course project · Software Engineering
Website and admin app for The Cults of Privacy Technologies, a research lab at Chiang Mai University. Live in production; the lab director edits everything the site shows.
Project manager and lead developer · Team of 6
- Next.js
- TypeScript
- PostgreSQL
- Prisma
- Docker
- GitHub Actions
- Doppler
- Cloudflare
- Vercel

Project management
- Ran a team of six through two Scrum sprints, from proposal to final review.
- Kept the schedule and risk list, and was the contact with our client, the lab director.
Agents and people
- Led development with AI agents, one per job (backend, frontend, review, QA), chained into one feature pipeline.
- Teammates owned design, product decisions and testing.
DevOps
- Every deploy runs lint, type checks and tests, migrates the database, then builds and ships a Docker image.
- Local, staging on a VPS, production on Vercel. Secrets live in Doppler; CI holds one read-only token.
Engineering
- Layered code: route, validation, service, repository. 25 decision records explain why.
- 500+ unit, component and end-to-end tests.
Hosting and caching
- Public pages are prerendered and cached at Cloudflare, so a page view runs no database query.
- Measured every page: about half the requests, a third less data, and one admin page cut from 37 queries to 9.
Security
- Admins sign in with a password and an emailed code.
- Every admin change goes to an audit log; Cloudflare rate-limits abuse.


