Things we've learned the hard way.

Short, honest writeups from in-flight work. Not a blog with SEO targets — more like the README we wish someone had handed us.

three-things-we-keep-getting-wrong-in-crm-rebuilds.md
# three-things-we-keep-getting-wrong-in-crm-rebuilds.md
April 22, 2026 · Business Systems
## ▸ Three things we keep getting wrong in CRM rebuilds

Every CRM rebuild we take on starts with a confident estimate and ends with us writing migration scripts at 11 p.m. We keep underestimating the same three things — none of them are technical.

First: nobody knows the real schema. The "current CRM" is the official one plus three Excel files plus institutional memory. We now spend the first week mapping the unofficial system before we touch a database.

Second: history is non-negotiable. Sales teams want every comment, every status change, every email — even from records nobody has touched in five years. Plan migrations around full provenance, not "minimum viable data".

Third: the cutover weekend is a myth. We schedule a parallel-run period now — both systems live, writes mirrored — and only flip when the team agrees. It costs a sprint. It saves a launch.

when-not-to-build-an-ai-chatbot.md
# when-not-to-build-an-ai-chatbot.md
April 8, 2026 · AI & Automation
## ▸ When not to build an AI chatbot

About a third of our AI conversations should end with "you don't need a chatbot." We write this down so we remember to actually say it.

Symptoms that the bot is the wrong answer: the questions are 90% pricing, returns, or account-specific — i.e. things the bot will get wrong and shouldn't guess at. Or the underlying docs are out of date and nobody owns them. Or the team really wants a human-shaped routing layer, not a generative one.

When the bot does make sense, it's usually grounded in a stable doc set with one owner, the cost of a wrong answer is low (or hand-off is fast), and the team will actually read the eval logs we hand back to them. Without those, you're paying inference costs to generate a future support ticket.

staging-urls-are-the-deliverable.md
# staging-urls-are-the-deliverable.md
March 27, 2026 · Custom Software
## ▸ Staging URLs are the deliverable

We used to pitch "regular demos" as our differentiator. We stopped, because cadence is a promise we can't always keep. The new pitch is simpler: a real staging URL, live from week one.

The URL changes everything. It pulls a real domain, real SSL, real auth — the boring infra that usually slips to launch week. By the time the project ends, the staging environment is a slightly older copy of production, not a surprise.

It also reframes feedback. "Click around the URL" beats "review this Figma" every time. The conversation shifts from how things look to how they actually work, and that's where the interesting bugs live.

Want these in your inbox when we publish? We don't have a newsletter yet — just send us a line and we'll send the next one your way.

Get in touch

Let's build
something real.

No pitch decks. No committees. A focused conversation about what you need built, who uses it, and what it has to do.