tafelrunde
Live · sign-in requiredA map of the restaurants we have been to, blind ratings and a date planner. Four people, one evening a month.
Four people, one evening a month, and every time the same question: where have we been, and was it any good? The answer sat in a PDF that nobody opened.
Tafelrunde turns that into a map where every visit carries its photos and its rating, a wish list with a random pick for the evenings nobody has an idea, and since the last round of work a planner that settles the date of the next one.
Across forty-two commits the project carries nineteen architecture decisions — more than anything else here. That is no accident: with four users a wrong decision costs little, so it is worth writing it down instead of debating it.
Decisions
SQLite instead of Postgres
Four users, a few hundred rows. A file on disk is backed up by copying it — a second container with a backup routine of its own would be effort with nothing in return.
Protomaps instead of MapTiler
The map data sits on my own server as a single PMTiles file and is read with range requests. No key, no quota, no third party reading along where we go to eat.
Single sign-on instead of Basic Auth
Basic Auth had no notion of “who”: a rating could not be attributed to anyone. With a real sign-in behind it, every rating has a sender.
Rate blind, reveal together
See the others' marks before you give yours, and the mark you give is no longer yours. Everyone rates alone; the reveal happens together.