Writing
Notes from building the thing.
Mostly the parts that went badly — a till that could be broken on purpose, an inventory count that would not add up, a password reset that took down half a server. 13 posts.
The Checkbox That Could Have Stopped the Till
A read-through of the web POS turned up a browser checkbox that could silently disable the counter, a payment box that took any number without asking, and a back button that closed the shop mid-shift — plus two bugs I wrote while fixing them.
ReadEverything the Laptop Was Quietly Doing
Moving my whole workspace onto a headless Ubuntu server so I can roam — and finding out how much the laptop was silently providing that a fresh machine isn't.
ReadI Reset a Password and Broke Half My Server
A forgotten qBittorrent password kicked off a chain reaction through Radarr, Sonarr, and Jellyseerr — here's the whole mess and how it got fixed.
ReadTrying to Break the Till on Purpose
Stress-testing the offline POS in a real browser until it flinched — then filing down the rough edges: instant reconnect, an honest status badge, a batch one bad sale can't poison, and stale-price warnings.
ReadFrom Desktop to the Browser
Moving the whole system into the browser — an owner CLI, a React web app, and an offline web POS — plus the bug my offline tests swore didn't exist.
ReadMaking It Feel Like Real Software (and Locking It Down)
Redesigning every screen for the shop-floor monitor, adding sale voids, and the firewall gotcha that was quietly exposing my API to the whole internet.
ReadThe One Part That's Not Allowed to Go Down
Building an offline-first POS on top of a cloud system, plus the recipe engine that turns raw flour into sellable cake.
ReadInventory That Actually Adds Up
FIFO stock lots, deliveries that split across batches, and the accept handshake that finally made office and branch numbers agree.
ReadRebuilding My Family's Bakery Supply System From Scratch
Why I threw out the CSV-and-local-database setup running our bakery supply business and started building one central system instead.
ReadGoogle Photos? Immich!
Deploying a self-hosted Google Photos alternative, then tiering storage across a fast SSD and a slow HDD.
ReadMood Tracker
Building a self-hosted mood journal instead of dealing with ad-riddled apps, then going down the ad-blocking rabbit hole.
ReadIntroducing my devices to each other using Tailscale
Getting every device talking to the new home server securely, without opening a single port.
ReadSick Leave, Getting Bored, and Recycling Old Tech
Two weeks of fit-note boredom turns into a plan to recycle an old laptop into a home server.
Read