Articles
Notes from the build
What we have learned shipping AI systems that have to work unattended. Opinionated, specific, and written from things that actually went into production.
AI Agents
What we build in this areaGenerating Into a Schema: When Prose Is the Wrong AI Output Format
Free prose is the easy AI output. When it needs to be rendered, stored, revised, or reproduced consistently, a schema is what makes it a product.
- AI agents
- Structured output
- Generation
MCP Servers as the Access Control Layer Between an Agent and Your System
Giving an agent tools is not the same as giving it your API. An MCP server is where you decide, tool by tool, what it is actually allowed to do.
- AI agents
- MCP
- Integrations
RFP Response Automation: What an Agent Actually Needs to Read a 200-Page Solicitation
Matching a solicitation against your own past performance, at the level of detail a real bid decision requires, is harder than reading it.
- AI agents
- RFP
- GovTech
Multi-Agent Orchestration: When One Agent Is Not the Right Shape
Splitting a task across several specialist agents is a specific answer to a specific problem, and it is the wrong answer most of the time.
- AI agents
- Architecture
- Orchestration
AI Agent Guardrails: What Actually Stops Something From Going Wrong
A real guardrail is a specific set of constraints enforced in code, not a polite request in a system prompt, and the two are not interchangeable.
- AI agents
- Guardrails
- Safety
AI Agents vs Chatbots: The Difference That Actually Matters
The distinction comes down to whether the system can take an action that changes something, not conversational quality or model size.
- AI agents
- Architecture
- Tool use
Why AI Agents Fail in Production (And What Actually Fixes It)
The prototype worked, then nothing shipped. The failure is almost never the model. It is five specific engineering gaps, and all are avoidable.
- AI agents
- Production
- Reliability
How to Evaluate an AI Agent Before You Trust It
You cannot ship what you cannot measure, and “it seemed good when I tried it” is not measurement. A practical method for testing non-deterministic systems.
- Evaluation
- AI agents
- Testing
Workflow Automation
What we build in this areaEmail Outreach at Scale: Why the State Machine Is the Product
Outreach at volume is a state machine problem. Tracking each lead's position, enforcing send limits, and routing replies correctly are the real work.
- Automation
- State machines
Durable Pipelines: Why One Retry Policy Is Not Enough
When a pipeline chains slow stages, retrying from the start discards prior work. Stage boundaries need to be checkpoints, not just function calls.
- Workflow automation
- Pipeline design
- Background jobs
Automated Reporting: Turning Scattered Numbers Into One You Trust
The monthly reporting scramble is a trust problem, not a scheduling one. Automating the pull without the trust just delivers the wrong number faster.
- Reporting
- Automation
- Dashboards
Data Enrichment Automation: Keeping Two Systems From Quietly Disagreeing
Enrichment is the easy part. Deciding which record is correct when two sources disagree, automatically and at volume, is where these systems earn their keep.
- Data enrichment
- Automation
- Reconciliation
Building a Monitoring Agent That Does Not Cry Wolf
The hard part of watching a data source is deciding which changes are worth telling anyone about, not catching every single one.
- Monitoring
- Automation
- Alerting
Zapier, n8n, or Custom: How to Actually Choose
No-code automation is the right answer more often than agencies admit, and the wrong answer in five specific situations. Here is where the line falls.
- Automation
- No-code
- Architecture
Automating Document Processing With AI: A Practical Guide
Invoices, contracts, applications, claims. The architecture that works, the failure modes nobody warns you about, and how to know when it is ready.
- Document processing
- Automation
- OCR
The Spreadsheet Ceiling: Knowing When You Have Hit It
Spreadsheets are excellent software. But there is a specific point where they start costing more than they save. Here is how to recognise it.
- Internal tools
- Operations
- Build vs buy
Applications
What we build in this areaExpanding to a Second Market Without Forking the Codebase
The second market surfaces every assumption baked into the first build. Factor market logic into configuration, and expansion becomes an adapter.
- Software architecture
- SaaS
- Multi-market
Local-First Software: When the Cloud Is the Wrong Default
Hosted infrastructure is the default for a reason, but a tool used by one person on one machine often pays for a scaling problem it will never have.
- Local-first
- Architecture
- Internal tools
Migrating Off Legacy Software Without a Big-Bang Cutover
The riskiest way to replace an old system is to switch everyone over on a single weekend. Almost none of that risk is necessary.
- Migration
- Legacy systems
- Architecture
Multi-Tenant SaaS Architecture: The Decisions That Are Expensive to Change Later
Most multi-tenancy decisions are cheap to change if caught early and expensive if caught after real customer data depends on them. Here is which is which.
- SaaS
- Architecture
- Multi-tenancy
Retrieval-Augmented Search: Making Company Knowledge Actually Trustworthy
A search bar that answers in sentences is easy to demo. Getting people to actually trust it instead of asking a colleague is a different problem entirely.
- RAG
- Search
- Knowledge management
Build vs Buy: When Custom Software Is Actually the Right Call
A framework for the decision, from a studio that gets paid to build, including the four situations where we tell people to buy instead.
- Build vs buy
- Strategy
- Internal tools
How to Scope an AI MVP That Actually Ships
Most AI MVPs fail on scope, not technology. The specific cuts that get a product in front of real users in weeks instead of quarters.
- MVP
- Product
- Scoping
Which Internal Tools Are Worth Building
Most internal tool ideas should be rejected. A test for the ones that are not, and the reason small focused tools beat platforms almost every time.
- Internal tools
- Prioritisation
- Operations
Rather talk than read?
If something here maps onto a problem you have, the fastest path is usually a conversation about your specifics.