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.

Read

Everything 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.

Read

I 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.

Read

Trying 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.

Read

From 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.

Read

Making 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.

Read

The 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.

Read

Inventory That Actually Adds Up

FIFO stock lots, deliveries that split across batches, and the accept handshake that finally made office and branch numbers agree.

Read

Rebuilding 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.

Read

Google Photos? Immich!

Deploying a self-hosted Google Photos alternative, then tiering storage across a fast SSD and a slow HDD.

Read

Mood Tracker

Building a self-hosted mood journal instead of dealing with ad-riddled apps, then going down the ad-blocking rabbit hole.

Read

Introducing my devices to each other using Tailscale

Getting every device talking to the new home server securely, without opening a single port.

Read

Sick 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