Blog
Notes on software engineering, machine learning, and the things I build.
-
SEO and GEO: a site built for people and AI engines
How I build fast, structured, crawlable websites that rank in Google and get quoted by AI answer engines. Generative engine optimization (GEO) and classic SEO share one foundation, with a single source feeding both the pages and the structured data.
SEO GEO Performance Structured data -
Self-hosting n8n to own your automations
n8n lets you build automations visually, and self-hosting it keeps your workflows and the data they touch on your own machine, at a flat cost. Here is why and when that is worth it.
Automation Self-hosting n8n -
For compliance, a rule engine beats an AI model
Regulatory checks have to give the same answer every time. That is a job for a deterministic rule engine, with AI kept to optional second opinions, not the verdict.
Compliance Architecture AI -
When Airtable gets expensive, move to a backend you own
Airtable is great until per-seat and per-record pricing outgrows a small team. If you already pay for Google Workspace, you can move the data there, keep full control, and stop paying twice.
Cost Self-hosting Google Sheets -
Do not let abandoned payments hold your stock hostage
Online card payments get abandoned mid-flow all the time. A payment intent that reserves stock, plus a sweeper that reclaims it, keeps your inventory honest without ever racing the bank's callback.
Payments Architecture Reliability -
Keep a real database, let the spreadsheet be a mirror
A relational database can be your source of truth while a Google Sheet stays a live, read-only window for the people who like spreadsheets. Here is how to do that without the sheet ever being load-bearing.
Architecture PostgreSQL Google Sheets -
One request builder can fix hundreds of flaky API calls
When inherited code makes the same fragile API call in hundreds of places, you do not have to rewrite them all. Wrap the client once and every call gets retries, recovery, and timeouts for free.
Reliability Python Refactoring -
How federated learning keeps data private
Federated learning trains a model across many devices that keep their own data, sharing only the learned weights. Here is how that protects privacy, in plain terms.
Machine learning Federated learning Privacy