// notes & writing
Notes from the build trenches.
Production engineering notes — agentic AI, hybrid search, mobile, full-stack. Lessons from real systems, not blog-shaped Twitter threads.
- 7 min read
Agentic AI guardrails: stopping the while(true) from burning your token budget
Four guardrails that turn a vibes-loop into something you'd actually run in production: budget envelope, retry curves, break conditions, and a real fallback chain.
agentic-aiproductionengineering-lessons - 10 min read
How I priced a $300K engagement without a sales team
Four conversations, 165 minutes, no deck, no proposal longer than one page. The math behind a $300,000 contract.
careerconsultancypricingbusiness - 9 min read
From employee to investor: the equity conversation
Ten weeks, two awkward dinners, one frustrated lawyer, and a number that took longer to negotiate than my salary ever did.
careerequitysolo-dev - 8 min read
The boutique consultancy math: why I take four clients a year, not forty
47 intro calls. 38 conversations. 4 signed contracts. The math of saying no to 90% of leads.
careerconsultancybusinesssolo-dev - 10 min read
The week an LLM hallucinated a political position — and a journalist nearly quoted it
An auto-generated TBMM summary said a member voted on a bill that hadn't been voted on. The journalist held the story for 24 hours. Four days of building a verification layer that can say no.
nlpllmcivic-techverification - 10 min read
From React Native to Flutter mid-project — the honest receipt
Six weeks, three TestFlight betas, six paying merchants. A direct account of rewriting a working React Native app in Flutter in November 2024 — what broke, what it cost, and what I'd still do again.
mobileflutterreact-nativemigration - 9 min read
Agentic AI is mostly while(true) with vibes
Production lessons from running autonomous agents in long-running loops, fallback patterns that actually work, and the day your agent decides to retry 47 times.
agentic-aiproductionengineering-lessons - 8 min read
How Apple rejected my app three times for being too Turkish
Eleven days, three rejections, one launch window. A real account of getting the Stork mobile app through App Store review when the reviewer's first complaint was that the language wasn't English.
mobileiosapp-storeinternationalization - 8 min read
The week BM25 beat my cross-encoder — and why I kept the reranker anyway
Sometimes the smartest engineering decision is to delete the thing you built three weeks ago. Sometimes it's just to gate it behind an if statement.
hybrid-searchrerankingproductionmultilingual - 11 min read
Speaker attribution on noisy OCR: an evening-by-evening notebook
How a regex turned a Speaker's plea for silence into twelve confident misattributions, and the five evenings it took to climb from 95.6% to 99.1% accuracy across 850 parliamentary sessions.
nlpcivic-techocrproduction - 8 min read
CLIP vs SigLIP for a Turkish product catalog: a brand-affinity ablation
By month two, our CTO had stopped asking 'is it CLIP-quality' and started asking 'is it SigLIP-fair?'
hybrid-searchembeddingscomputer-vision - 11 min read
Hybrid search with Qdrant: what nobody tells you about BM25 + dense + image
What you actually wire up when you blend keyword, dense vector and image embeddings into one ranker — named vectors, fusion, drift, and the day your Turkish search broke on apostrophes.
hybrid-searchqdrantembeddingsproduction - 10 min read
Running five production apps on a $50 a month Hetzner box
The Vercel bill was $312. The Hetzner bill was €11.66. Six months later, this is what's actually on the box.
infrastructureself-hostedhetznercost-engineering - 10 min read
Six months with RRF in production: what k=60 doesn't tell you
The 60 in '1/(60+rank)' came from a 2009 paper. Most teams who copy it think it's a Qdrant default.
hybrid-searchqdrantproduction - 11 min read
Building a 45-state warehouse FSM with two languages and a customs office
Notes from modeling a real cross-border package lifecycle — Skopje warehouse, Macedonian operators, Turkish supervisors, a customs API that hates you, and why 45 states beats 12 with boolean flags.
cross-borderwarehousefsmgo - 8 min read
React Native, the native driver, and the jank you can finally feel
When useNativeDriver actually buys you something, when it lies to you, and how to find the dropped frame that's making your scanner screen feel slow.
react-nativeperformancemobile - 9 min read
The customs API that returned 7 different schemas (and the parser that survived all of them)
Notes from integrating with the Macedonian customs API at Stork — 14 pages of docs, 14 schemas in production, and the defensive parser that paid for itself in three days.
api-integrationgocross-borderresilience - 9 min read
From $4,000 to $40 a month: the real cost curve of agent guardrails
What stopped the bleeding wasn't a smaller model — it was killing the planner's appetite for extra steps.
agentic-aiproductioncost-engineering