Blog

Thinking out loud

Engineering perspectives, technical deep-dives, and practical lessons from the teams building modern software systems.

Featured · May 2025 · Engineering

Why most AI agent projects fail in production (and how to avoid it)

Building a demo that works is easy. Building an agent that performs reliably across thousands of real interactions is a different discipline entirely. Here's what we've learned.

Read article
April 2025 · Cloud

The hidden costs of "lift and shift" cloud migrations

Moving workloads to the cloud without rearchitecting them is rarely the shortcut it appears to be. A candid look at what goes wrong.

Read more
March 2025 · Security

CMMC 2.0: What Canadian defence contractors actually need to know

The compliance landscape is shifting. Here's a practical breakdown for Canadian companies selling into the US defence supply chain.

Read more
February 2025 · Engineering

Designing multi-tenant SaaS: the decisions that haunt you later

Row-level security, data isolation, and billing logic are things you want to get right early. We share what we wish we'd known.

Read more
January 2025 · AI

Building AI tools for African markets: what changes and what doesn't

Connectivity constraints, payment infrastructure, and language diversity require more than swapping out an API endpoint. Our experience building for Nigeria and beyond.

Read more
December 2024 · DevOps

Why we moved our deployment pipelines from GitHub Actions to a hybrid setup

Speed, cost, and reliability all played a role. A technical look at the trade-offs and what we'd do differently now.

Read more
November 2024 · Engineering

The real cost of technical debt: a framework for communicating it to leadership

Technical debt isn't just a developer concern. Here's how to translate it into business risk so it actually gets prioritised.

Read more