Engineering notes for
people who run businesses.

Modernizing a legacy system without stopping the business
Full rewrites promise a clean slate and usually deliver a long, risky project. Replacing a legacy system in stages keeps the business running and proves each step.
Modernizing a legacy system without stopping the business
Full rewrites promise a clean slate and usually deliver a long, risky project. Replacing a legacy system in stages keeps the business running and proves each step.
Custom CRM or off-the-shelf? A practical way to decide
Packaged CRMs are excellent for standard sales pipelines. A custom CRM earns its cost only where your process is genuinely different. Here is how to tell which situation you are in.
Choosing a tenancy model for a B2B SaaS product
Tenancy is one of the most expensive decisions to reverse in a SaaS product. A practical comparison of the three common models and the signals that should drive the choice.
Role-based access control that survives growth
Access control often starts as an 'admin' flag and becomes a tangle of special cases. A structure for roles, permissions and scopes that stays understandable as the business grows.
What a good discovery phase should give you
Discovery is where a software project's cost and risk are mostly decided. A checklist of what a useful discovery phase produces, and the warning signs of one that won't help.
Event-driven order systems: keeping checkout alive under load
When ordering, payments, menus and dispatch share one application, a slow component can take down checkout. How event-driven design isolates failures — and what it costs.
How to build a scalable SaaS platform: the decisions that matter early
Most SaaS scaling problems are decided in the first release. A practical guide to the architecture choices that let a SaaS product grow without a rewrite.
Modern cloud architecture for growing businesses: a practical baseline
You don't need a complex cloud setup to run a reliable business application. A practical baseline architecture — and the signals that tell you when to go further.
Microservices vs monolith: how to choose the right architecture
Microservices are not an upgrade from a monolith — they are a trade-off. How to decide which architecture fits your product today, and how to move between them safely.
DevOps best practices for small and mid-sized engineering teams
DevOps isn't a tool or a job title. A practical set of habits — pipelines, environments, monitoring and recovery — that make releases boring in the best way.
Building production-grade REST APIs: a practical checklist
An API is a product for developers. A practical checklist for designing, securing, versioning and operating REST APIs that integrators trust.
Application security checklist for business software
Most breaches in business software come from ordinary gaps, not exotic attacks. A practical application security checklist for teams building and running web and mobile systems.
Edge computing explained: making business web applications faster
Edge computing moves work closer to your users. What CDNs, edge caching and edge rendering mean in practice, and how to use them to make business web applications faster.
Get new articles by email
A short monthly note with our latest writing on architecture, SaaS and business systems.
Have a product
worth building?
Let's turn the idea into a system your business can actually use.
