Let's talk
Menu

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.

Chrome extensions

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.

Product engineering

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.

Operations

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.

Automation

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.

Product engineering

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.

Automation

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.

AI & RAG

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.

Automation

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.

AI & RAG

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.

MCP

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.

Product engineering

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.

MCP

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.

Product engineering

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

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.

Product engineering

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.

Automation

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.

Product engineering

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.

AI & RAG

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.

Product engineering

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.

AI agents

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.

Automation

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.

AI & RAG

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.

Product engineering

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.

Automation

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.

AI agents

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.

Chrome extensions

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.

MCP

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.

Product engineering

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.

AI agents

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.

Product engineering

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.

AI & RAG

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.

Automation

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 agents

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 extensions

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.

Product engineering

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.

Automation

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.

Product engineering

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.

Chrome extensions

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.

AI & RAG

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.

Automation

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.

Chrome extensions

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.

Automation

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.

Product engineering

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.

AI agents

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.

Product engineering

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.

Automation

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.

AI & RAG

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.

AI & RAG

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.

MCP

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.

Product engineering

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.

Product engineering

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.

AI & RAG

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.

MCP

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 extensions

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.

Automation

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.

AI & RAG

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.

AI agents

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.

AI agents

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.

Product engineering

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.

Automation

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.

AI & RAG

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.

AI agents

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.

Product engineering

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

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.

Chrome extensions

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.

Automation

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.

Product engineering

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 number
05

Ideas gain dimension when they can be turned over.

Thinking, rendered.

Planes of research, field notes, and decisions assemble into a changing body of knowledge.