Journal / Notes from the work
What we learn
while shipping.
Specific writing about product engineering, AI systems, infrastructure, and the edges that only appear after launch.
How to recover a web form after an accidental reload
A reload can erase an application you spent an hour filling in. Here is what Chrome can recover, what it cannot, and how to keep a local copy before it happens again.
How much does a Laravel upgrade cost in 2026?
Laravel 11 is out of security support and Laravel 12 stops getting bug fixes this year. What an upgrade to Laravel 13 actually involves, what drives the price, and how to scope it before anyone quotes.
PHP 8.2 end of life: what 31 December 2026 means for your sites
PHP 8.2 stops receiving security fixes on 31 December 2026. Which Laravel and WordPress sites are affected, which version to move to, and a checklist for agencies with a portfolio of client sites.
Workflow Automation as a Service: Why Most Deployments Crash and How to Fix Them
Workflow automation as a service sounds simple until your pipeline stalls at the hundred‑thousandth event. This piece shows the real failure modes and the engineering fixes that keep a service alive.
Shopify moved custom apps to the Dev Dashboard, and your permanent shpat_ token habit won't survive it
New Shopify custom apps are created in the Dev Dashboard, not the store admin. Tokens now expire, scope changes now ship as releases, and a forgotten API version gets swapped out without an error. Here is what breaks and how to migrate without downtime.
The n8n vs Zapier pricing math nobody does before the bill arrives
Zapier bills per action step and n8n bills per workflow run, so the same 12-step workflow over 500 records costs 6,000 units on one and 1 on the other. Here's the multiplication that picks the cheaper tool.
How to build a simple RAG system that holds up on real data
How to build a simple RAG system in about 200 lines — and the three places where simple quietly stops working: chunk boundaries, retrieval that only knows embeddings, and having no eval set.
Attended vs unattended automation comes down to who owns the exception path
Attended vs unattended isn't a licensing choice. It's a decision about who catches the 4% of runs that go wrong, and how many days pass before they notice. Here's the arithmetic we run, and why almost every real build lands hybrid.
How to build an agentic RAG system without burning your latency budget
Our first agentic RAG loop beat single-shot retrieval on 12% of questions and cost 8x more. Here's what actually earned the money back: a router, three tools, a sub-question ledger, and trace-level evals.
What an MCP server actually costs to build
The protocol takes a day. Auth, response shaping, and evals take the other six weeks. Here's where the hours go, our real price bands, and the bills that arrive after launch.
What Strapi actually costs once you get past the free tier
Strapi's paywall isn't drawn at traffic — it's drawn at your org chart. SSO, audit logs, and per-locale permissions are all Enterprise. Here's the real bill for Community self-hosted, Strapi Cloud seats, and the v5 upgrade nobody budgets for.
How to add an MCP server to your SaaS (and why buyers now expect it)
Adding an MCP server to your SaaS is less a new product and more a new front door — one that AI agents walk through. Here's what it takes, what it costs, and where it goes wrong.
How to fix AI-generated code that broke in production
You shipped fast with AI codegen and it worked — until it didn't. Here are the failure patterns a senior team keeps fixing in vibe-coded apps, how a rescue actually runs, and when to refactor versus rebuild.
MCP server security checklist: auth, token scoping, and the mistakes that get you owned
An MCP server hands your credentials to a caller that can be talked into anything. This is the checklist we run before one ships — auth, token scoping, input validation, secrets, and audit logging.
Where Shopify stops being customizable
Is Shopify customizable? Yes, in three of its four layers — and deliberately fenced in the fourth. Here's how to tell which layer your requirement lands in before you pay for the wrong estimate.
Process automation dies on the exception path
The pilot cleared 500 invoices in a week. By month three the clerks were keying them by hand again — and nothing had crashed. What actually keeps an automated process alive past month twelve: idempotency keys on every side effect, durable execution state, and an exception queue with someone's name on it.
The custom Shopify app you want is probably not a public app
Custom Shopify app development goes wrong at the first decision: which kind of app you're building. Here's how the app types differ, why the GraphQL rate limiter is your real architecture, and how to build webhooks that survive Black Friday.
How to build a RAG system on Excel files without shredding the numbers
Chunking a spreadsheet destroys the only thing that made it useful: the schema. Here is the pipeline that answers numeric questions exactly, with the SQL as the citation and a cell range behind every claim.
How to hire a full stack developer who owns the seams
Most "full stack" hires are frontend developers with an ORM. Here's the 90-minute broken-repo interview that catches it, the four seams where their code quietly fails, and what 2026 rates actually look like.
The custom AI chatbot on your website fails at retrieval, not the model
A website chatbot takes three days to demo and three months to trust. The failures are always the same four — boilerplate-poisoned chunks, a six-second first token, invented pricing, and an injected review page — and each has a fix that survives real traffic.
A web scraping service API is not a cron job with a URL in front of it
A scraping API has to answer at 9am when the dashboard loads, not whenever the target site feels cooperative. Here is the architecture that holds: async jobs, versioned schemas, freshness as a parameter, and block detection that treats a 200 as a lie.
How to build a multimodal RAG system that finds the chart
Charts, tables and scanned pages don't go missing because the model is too small. They go missing because the page was flattened into undifferentiated text before anything was embedded — and nothing in the pipeline threw an error.
What custom software actually costs in 2026
Custom software cost is set by unknowns and integration surface, not screen count. Here's how the number is built, why three shops quote one spec 7x apart, and where to cut without buying a rewrite.
Hiring an AI automation engineer: costs and how to vet one
An AI automation engineer is part integrator, part programmer, part reliability engineer — and the market is full of people who only have the first part. Here's what the role really is, what it costs (freelance, embedded, or full-time), and how to tell a good one from a zap-builder.
How to test code that calls an LLM (without a live model every run)
Tests that hit a real model are slow, cost money, and return something different every time — so LLM test suites either don't get run or get mocked so heavily they test nothing. Here are the four approaches, the trade-off that actually matters (which layer you mock at), and a working record/replay setup.
Migrating a Chrome extension from Manifest V2 to V3
Manifest V2 is dead and V3 breaks assumptions your extension was built on. Here is what actually breaks, why, and how to migrate it without shipping a regression.
How much context do MCP servers cost? We measured 20 of them
Every MCP server loads its tool schemas into the model's context on every request — before the user types a word. We measured 20 popular servers with our open-source tooltax: they range from 237 tokens (Fetch) to 17,430 (Notion), and loading all 20 at once would consume 36.7% of a 200k window.
Strapi vs Directus comes down to who owns your database
Strapi vs Directus is usually argued over admin panel screenshots. The decision that actually matters is whether the CMS generates your schema or adopts one that already exists — and how each handles row-level permissions and environment drift.
The customer service chatbot problem isn't the model, it's the plumbing
An AI chatbot for customer service lives or dies on what it can look up and when it gives up. Most of a support queue isn't documentation questions — it's Stripe and Shopify lookups wearing a question mark.
Strapi alternatives that survive the second year
Directus, Payload and Sanity compared on the four things that bite in month seven: how a field rename reaches production, how far permissions bend before you write middleware, how editors see a draft, and what the bill looks like at eight editors.
How to build a graph RAG system (and when to skip it)
A graph RAG build answers the multi-hop and aggregate questions vector search structurally cannot. The hard parts are typed extraction, entity resolution and query routing — the graph database is a weekend.
What AI automation services cost (and when to hire an agency)
AI automation services run from around $2k for a scoped build into five-figure retainers for systems your business runs on. Here's the honest breakdown of tiers, drivers, and build-once vs managed.
AI engineering company: what it takes to ship production AI
Most "AI" work is a demo that impresses in a meeting and breaks on real data. AI engineering is the discipline of building AI systems that survive production. Here's what a good AI engineering company delivers, how the options compare, and what an engagement costs.
Chrome Web Store rejection: why extensions get rejected and how to fix it
Your extension got rejected and the email barely says why. Here is what Google actually means by each rejection reason, how to fix it, and how the appeal works.
How to hire a Flutter developer who ships production apps
Hiring a Flutter developer is easy until the app hits real devices, real data, and the App Store review queue. Here's how to tell a shipper from a demo-builder before you sign.
Is web scraping feasible? A checklist before you build a scraper
Before you commission a scraper, run this checklist: is the data public, how hard does the site fight back, and what does the law say? Here's how to tell a green-light project from a money pit.
White-label software development for agencies: how it works and what it costs
White-label dev lets your agency sell software you don't build. Partner rates run $65–$150/hr or $499–$2k/mo retainers — and you bill your client 2–3x that. Here's the honest model.
How to hire a Chrome extension developer
Whoever builds your extension has to survive Manifest V3, a back end, and Web Store review. Here is how to tell a specialist from a generalist before you pay, and what it costs.
How to hire a RAG developer who ships more than a demo
Hire a RAG developer who can make retrieval correct on your real data, not just a demo that answers three questions and then invents the fourth. Here's how to tell them apart, what it costs, and the red flags.
How to hire a web scraping company that keeps the data flowing
Hiring a web scraping company is really about who can keep a scraper alive after the target site changes and fights back — not who can grab a table once. Here's what to look for, a vendor comparison, honest cost ranges, and why ongoing scraping is a retainer.
How much does a Manifest V3 migration cost?
A Manifest V3 migration runs from about $1k for a simple extension to $15k+ for one built on blocking webRequest. Here is what sets the number and when to hire it out.
What an n8n automation agency costs (and who to hire)
An n8n workflow costs from around $2k to build simple, into five figures when it's business-critical — and the real spend is keeping it alive. Here's the honest breakdown.
Strapi as a headless CMS, and the parts that bite in production
Headless CMS development looks clean in the demo and gets messy the week you deploy. Here's what actually breaks with Strapi — content modeling, the populate trap, schema migrations — and how we ship around it.
Hiring AI developers, and what separates one from a web dev with an API key
Hire AI developers who can ship past the demo — here's what the role actually requires, what it costs across tiers, and how to test for it in an hour.
Your RFP is why you keep getting bad software quotes
A custom software development RFP that asks for features gets you feature-shaped lies. Here's what we actually read in an RFP, what makes us no-bid, and how to write one that produces comparable, honest numbers.
Web scraping for sales leads that your reps won't throw away
Web scraping for sales lead generation only pays off if the data is clean, verified, and deduped. Here's what actually breaks between the scrape and the CRM.
A Python vector search implementation that survives real data
Python vector search implementation looks trivial until your index hits a million rows: here's the embedding, indexing, filtering and reranking code that actually holds up in production.
How to build a local RAG system that runs on your own machine
How to build a local RAG system from scratch in Python — the parts that matter, the parts that break, and why the demo that works on 12 documents falls over at scale.
The MCP Server Security Mistakes Nobody Warns You About
Secure MCP server development is mostly about the boring parts — token scope, tool descriptions, and what your tools return — not the model. Here are the failure modes we actually hit in production.
What Actually Breaks When You Ship Next.js App Router
Next.js development that survives production: the App Router caching traps, the Server Component boundary, and the failure modes no tutorial warns you about.
What to look for in a white-label WordPress partner
White-label WordPress development lives or dies on the handoff, not the code. Here's what separates a partner your clients never notice from one who blows your margin on the third revision.
How to build a RAG system that doesn't hallucinate
Most RAG demos look great until they confidently invent an answer. Here's the RAG development playbook we use to make a system admit what it doesn't know.
Building an MCP server: treat your tools like a contract
MCP server development is less about the protocol and more about tool design. Here's how to build tools an agent can actually call without guessing.
Chrome MV3 extension patterns that survive updates
Manifest V3 killed the persistent background page and broke a decade of habits. Here are the Chrome extension development patterns that hold up.
n8n automations that don't break at 2am
AI workflow automation is easy to build and easy to leave fragile. Here's how to make an n8n workflow retry, recover, and page you before it fails silently.
How much does a RAG system cost to build in 2026?
RAG development cost depends less on the model and more on your data. Here's an honest breakdown of what drives the number and where teams overspend.
How much does it cost to build an AI agent?
AI agent development cost runs from about $2k for a tightly scoped one to $3k+/mo retainers for multi-step systems. Here's the honest breakdown of the tiers and what moves the number.
How much does custom AI chatbot development cost?
AI chatbot development cost ranges from cheap widget to serious project. Here's what actually drives the number and how to avoid paying for the wrong tier.
How much does MVP development cost? An honest 2026 guide
MVP development cost hinges on how much you cut, not how much you build. Here's what actually drives the number and how founders waste money before launch.
How much does a web scraping service cost?
Web scraping service cost is driven by how hard the site fights back, not the data itself. Here's an honest breakdown of the tiers and the hidden line items.
RAG vs fine-tuning: which for your use case
RAG and fine-tuning solve different problems, and picking the wrong one wastes months. Here is a straight answer on which fits your situation.
Custom AI chatbot vs off-the-shelf SaaS
Off-the-shelf chatbot SaaS gets you live in an afternoon. A custom build costs more up front. Here is honestly which one you should pick.
Software agency vs freelancer vs in-house
Freelancer, agency, or in-house hire for your software build? Each is right for a different situation. Here is the honest breakdown of the trade-offs.
MCP vs traditional API integration for AI
MCP standardizes how AI agents reach your systems. Traditional API integration is proven and direct. Here is which one your project actually needs.
How much does a Chrome extension cost to build?
A simple Chrome extension starts around $1k; a full MV3 build with a back end, auth, and AI runs $5k–$20k+. Here is the price/timeline breakdown and what actually moves the number.
n8n vs Make vs Zapier: which automation tool
The three big automation tools price and behave very differently. Here is an honest comparison of cost, data ownership, and custom logic — and why we build on self-hosted n8n.
How much does a Shopify app cost to build?
A private connector and a public App Store product are not the same project or the same budget. Here is an honest breakdown of what drives Shopify app cost and where the tiers land.
Start with a paragraph, a Figma, or a Loom.
Bring us a difficult build.Reply within one business day · one clear scope · one fixed numberIdeas gain dimension when they can be turned over.