BookClub

A shared library for a distributed team: catalogue, borrow and return flows, ratings, and title suggestions, behind domain-restricted sign-in. Built end to end — data model, REST API, and interface.

BookClub in use

What the work involved

BookClub is a shared library for a distributed team: a catalogue, borrow and return flows, ratings, and a way to suggest titles worth buying. It is in production, behind sign-in restricted to verified company domains.

I built it end to end — the data model, the REST API on Node.js and TypeScript, the MySQL schema underneath, and the React interface on top. Being the only engineer on a product means the boundaries are yours to draw, so the interesting decisions were about where state belongs: what the server is authoritative over, what the client is allowed to assume, and which of the two owns the rules about who may borrow what.

Borrow and return is a small domain with sharp edges. Two people wanting the same copy at the same moment, a return that never happens, a title that leaves the catalogue while someone still holds it — the flows have to answer all of it without an administrator stepping in.

Restricting sign-in to verified company domains is doing more work than access control. It is what lets the product assume good faith internally, so the interface can stay light on confirmations and warnings and heavy on the two things people came for: finding a book and getting it back.

Sign-in is restricted to verified company domains.