Business Nutshell update
After a gap of more than four months, I added a new entry to Business Nutshell: Anticafé Montréal. The previous entry was in January, so this also served as a small test of whether the project still felt worth keeping around.
It does. The site started in October 2025 and now has 30 entries. The format is still simple: customer, pain, solution, offer, channel. I like that it forces a business to become less vague.
Anticafé is a good example of why the format is useful. The offer is slightly inverted: you do not really pay for coffee, you pay for time in a pleasant place where coffee, snacks, wifi, and tables are included. The customer is not just someone who wants a drink, but someone who wants a low-friction third place to work, talk, read, or sit for a while. (I love that place.)
On the technical side, it is a tiny Go app with server-rendered HTML, backed by rqlite. There is no CMS, no framework magic, and not much state to think about. Each entry is just a row in a table with fields for the customer, pain, solution, offer, and channel. The homepage lists the most recently updated businesses, and each page renders one row as a small breakdown.
Deployment is equally plain. It runs as a Docker Compose service named business-model-app, behind Traefik. rqlite runs beside it on the same machine, the app talks to it over the internal Docker network, and Traefik handles routing, HTTPS, compression, and the www-to-non-www redirect.