Skip to content

2026 · Kodschul Seminar Management · Full-stack engineer

The database refuses the double-booking, not the app

built with
Next.jsTypeScriptPostgreSQLDocker ComposeGitHub Actions
Kodschul dashboard with upcoming seminars, trainer assignments and booked value

What it does

A scheduling platform for seminars: assigning trainers to sessions, detecting conflicts before they reach a calendar, and matching trainers to topics with a model.

The part I care about

The CI pipeline re-proves the system's core guarantees on a clean machine on every push, including that Postgres itself refuses to double-book a trainer. That constraint is asserted against a real database rather than a mock, so it cannot quietly rot into a test that passes while production breaks.

Putting the invariant in the database instead of the application layer means it holds no matter which code path tries to violate it.

More work.

Kodschul Seminar Management — Muyah Gaious Angwe