--:--:--
BLOG · ENGINEERING NOTES

FIELD NOTES

HOW WE BUILD AND RUN SOFTWARE. METHODS ONLY, NO CLIENT NAMES, WRITTEN FROM THE ENGINE ROOM.

2026
Aug 28, 2026Korean journal abstracts changed in late 2024We adapted excess-vocabulary measurement to Korean morphology, ran it over 398,296 abstracts, and found a register shift that starts in late 2024 and flattens in mid-2026.AILLMRESEARCH4 MINAug 24, 2026The multilingual cache taxTwo field notes turned out to be the same inequality, so we wrote the paper, published the data, and stated plainly which of our own claims did not survive review.AILLMRESEARCH6 MINAug 13, 2026A planet in a browser tabReal satellite imagery, forty-six thousand city lights, and one line of spherical trigonometry that fixed the camera, in about 1.5 megabytes.WEBGLGRAPHICS4 MINJul 23, 2026We padded a prompt with junk to make it cheaperA prompt below the cache floor gets cheaper if you make it longer. We ran 500 graded tasks to find out whether the filler costs accuracy. It does not, and useful filler pays twice.AILLMEVALS5 MINJun 16, 2026Design QA at 1:1Eyeballing a layout lies to you. We read computed styles off the live DOM, crop screenshots at full resolution, and let numbers referee the argument.DESIGNQA3 MINJun 11, 2026The cache discount has a floorOur Korean traffic was billed at a tenth of our English traffic for the same prompt. The pipeline was fine. English was the only language too short to cache.AILLMPERFORMANCE4 MINMay 05, 2026Small models where they winA frontier model labels the dataset once. A small model serves the traffic forever. A confidence router decides who handles the 7% that are actually hard.AILLMPERFORMANCE3 MINMar 24, 2026Trust, then verify, then verify againGenerative systems fail politely: fluent, plausible, wrong. Between them and the outside world we run evidence gates, adversarial refuters, and a 3,900-case regression wall.AIQA3 MINFeb 03, 2026Our AI coworkers run on filesNo vector database, no memory service. Agent memory is markdown with frontmatter, a 40-line index, and hard line caps. Boring on purpose.AIAGENTS3 MIN
2025
Dec 09, 2025The night shift is a fleet of modelsPlanners plan, workers execute, verifiers attack, and a gate with a whitelist and a ledger stands between all of them and the outside world.AIAGENTSOPS3 MINOct 14, 2025Evals are the unit tests of promptsEvery prompt change ships against a golden set. Every incident becomes a case. And the LLM judging the outputs is treated as the biased witness it is.AIEVALS3 MINAug 26, 2025Screenshots or it didn't happenBuild passing is not done. Our definition of done is a full-resolution capture of the deployed page, triaged by a vision model, signed off by a human.QAAI3 MINJul 29, 2025Grep first, embed when it earns itWe run retrieval two opposite ways: plain files and grep for agent memory, hybrid embeddings for user-facing search. Both decisions came from measurements, not fashion.AISEARCH3 MINJun 24, 2025Write prompts for the cache, not the readerPrefix caching bills repeated tokens at a fraction of the price. Once you know that, prompt layout stops being a writing problem and becomes a systems problem.AILLMPERFORMANCE3 MINMay 13, 2025An agent is a while loop with tasteStrip the frameworks away and a production agent is about eighty lines. Ours have outlived four model generations without structural change.AIAGENTS3 MINApr 01, 2025Structured output is a contract, not a requestA language model returns prose. Production systems consume JSON. The boundary between the two is a validator that has never heard of AI.AILLM3 MINFeb 18, 2025One box is enoughWhy we run dozens of production sites on a single dedicated server, and the three config blocks that make it survivable.INFRAOPS3 MIN

WANT THIS DISCIPLINE ON YOUR PRODUCT?

TALK TO US →