Sean Kraemer
← Projects

srsly.fit

A full-stack workout planner on raw SQL and stored procedures, with a public demo that is read-only by construction.

Next.js · React · NextAuth · MySQLRepoLive demo

Origin
A four-person database systems course project (CS 411). I built the drag-and-drop workout editor, the exercise-suggestion query, and the stored-procedure save path. After the course, I prepared the public demo and added browser tests.

The constraint

The course required raw SQL, no ORM. Eight tables normalized to BCNF over a catalog of roughly 2,900 exercises. A workout save touches three tables, so it lives in stored procedures that wrap the writes in a transaction with rollback.

Raw SQL started as a constraint and ended as something I would defend. It forces parameterization discipline and query-plan literacy that an ORM hides.

Making it safe to publish

The real problem came after the course: how do you put a database-backed project on the public internet? I built a demo boundary with one data interface and two implementations, fixtures or a real connection pool, switched by validated environment config.

The public deployment has no database credentials at all, and every mutation route returns a server-side 403 in demo mode. Visitors can explore the demo without changing stored data or making database calls. Playwright tests in CI check that writes are blocked.