Skip to content

Blog

Essays & notes

Writing on systems, ML infrastructure, and whatever else I run into.

· 12 reads

OpenCode wrote 125,000 loose Git objects into my home directory and never committed once

20% of my disk free, 2% CPU, 29% RAM, and the machine still hung. Btrfs metadata was 93% full and 125,000 of the files were loose Git objects from an agent snapshot layer.

BackendDevOps
· 18 reads

Designing data pipelines that stay cheap

Efficient pipeline design is mostly a set of decisions about bytes scanned, work repeated, and failures survived. Here is how I reason through them, with the arithmetic shown.

System DesignData EngineeringBackend
· 22 reads

Designing an API for 100,000 requests a second

The requirement was 100K rps. The work was arithmetic, a stateless tier, a cache that absorbs most of it, and a long list of things that break before the CPU does.

System DesignBackendPerformance
· 18 reads

Flare: self-hosted webmail for my own domain

I built Flare to run mail for my own domain without an IMAP server. Astro on a Worker, Turso for state, Resend or Maileroo for delivery, webhooks for inbound.

BackendDevOpsArchitecture
· 10 reads

A filesystem event log in SQLite

Point it at a folder and every create, edit, rename and delete lands in a local database. Undo, replay, fork and diff, without git in the way.

Data EngineeringBackendProgramming
· 12 reads

Treating a directory of TOML as a database

Hand-curated source data, generated gold tables, and a published dataset. How I keep a directory of TOML honest with code generation and CI.

Data EngineeringArchitectureProgramming
· 6 reads

A scholarship ingestion pipeline that dedupes across three sources

Playwright for the pages that need JavaScript, cron for the schedule, and a dedupe key that keeps DAAD, Erasmus and Chevening from colliding.

Data EngineeringBackendProgramming
· 6 reads

A real-time video analytics pipeline that refuses to store unknown faces

Detect, track, check liveness, embed, match. One worker per camera, a SQLite source of truth, and a vector index that heals itself when the model changes.

Machine LearningData EngineeringBackend
· 7 reads

Load-testing an encrypted API gateway toward a billion requests

Paillier homomorphic encryption, an honest-but-curious proxy, and a simulator that measures what the network costs when the server never sees plaintext.

EncryptionBackendPerformance
· 12 reads

Veet: the Linux uninstaller that cleans what package managers leave behind

Removing a Linux app often leaves configs and caches on disk. Veet scans 17 sources at once, stages every residual path, and removes them in one confirmed step.

DevOpsTechnologyProgramming
· 7 reads

A self-hosted LLM gateway with cost, safety, and MLOps in one container

An OpenAI-compatible endpoint, guardrails, a model registry, drift detection, and Prometheus metrics, packaged as a single Docker container.

Machine LearningData EngineeringBackend
· 6 reads

Anomaly detection on free satellite data, end to end for nothing

Four public sources, a versioned lake on Hugging Face, dbt transforms, an IsolationForest, and a dashboard at the edge. The compute bill is zero.

Machine LearningData EngineeringArchitecture
· 157 reads

JustAPI: a Python web framework with a Rust core — the story, the numbers, and what I actually learned

JustAPI is a Python web framework where the web server, the router, the TLS termination, the request validation, the JSON serialization, and the database access all run in Rust. Your Python code handles the application logic. That is the entire premise, and it is the one sentence that explains every design decision in the project.

AIRender TestsEncryption
· 3 reads

GDPR and the append-only log: a lakehouse that has to forget

Kafka and Parquet are append-only by design. Article 17 is not. This is a medallion lakehouse built around a six-layer deletion cascade.

Data EngineeringBackendArchitecture
· 10 reads

A European air-traffic lakehouse that runs on free tiers

Kafka on a small VPS, DuckDB and dbt in CI, and a read-only Turso copy for the browser. How I built a live European airspace pipeline without a cloud budget.

Data EngineeringBackendDevOps
· 5 reads

A browser media engine without FFmpeg WASM

Most web players ship a 30 MB software decoder and hope the phone survives it. VidoLib decodes through WebCodecs instead, and ships every parser as its own plugin.

PerformanceArchitectureProgramming
· 5 reads

Isolated instances of any CLI, rootless

Two GitHub accounts, two Discords, a stable and a beta of the same tool, all on one machine with no container, no daemon, and no sudo. The isolation model is three ideas and a path rewrite.

BackendDevOpsProgramming
· 32 reads

The Boring Rat reached 1M reported users, then we sold it

The Boring Rat was an umbrella for open-source projects, sites, and communities. We sold the assets in November 2025. I no longer have the dashboards, so this is the story I can stand behind.

ArchitectureNews
· 10 reads

keybinding

BackendDevOpsPerformance
· 28 reads

I Got Tired of GitHub Being Down, So I Built My Own Git Platform

OpenCodeHub is an open-source, self-hosted GitHub alternative built with Astro, TypeScript, and Drizzle ORM. Features SSH, stacked PRs, CI/CD pipelines, and AI code review — on your own server.

System DesignBackendArchitecture