Blog
Notes for founders and engineers
Practical posts for business owners and engineers: what software really costs, how to launch safely, and how systems behave at scale.
US 5.7M · EU 3.5M
Who builds the product?
Millions of new founders, not enough builders: the MVP gap in the US, EU and Australia
Close to ten million new businesses start each year across the US, EU and Australia, and more founders than ever start alone. The numbers behind the demand for a first product, and what to do if you are one of them.
80% of features unused
Better design ✓
More engineers won’t fix it. Good design can cut your software bill in half
Companies keep adding engineers, but much of the budget goes to features nobody uses and to paying for old shortcuts. The evidence, and how good design gets that money back.
27% wasted
7 places to look
About a quarter of your cloud bill is probably waste. Here’s where to look
Companies estimate that 27% of their cloud spend is wasted. The seven places that waste usually hides, and how to cut your bill without slowing your product down.
$34B → $39B
→ $49B in 2026
Why aren’t you building your tech team in Vietnam? A market on the move
Vietnam is Southeast Asia’s fastest-growing digital economy, NVIDIA is building an AI R&D centre there, and new laws back software and AI. What the shift means for your product and team.
+ what keeps it working
= your real budget
What does an MVP really cost? Where the money goes
Why quotes for the same app differ five times over, where an MVP budget really goes, the running costs nobody mentions, and how to spend less without building something fragile.
Safe with customers?
5 checks
Built your app with AI? 5 things to check before real customers use it
AI coding tools can build a working app in days. Before customers and money touch it, check these five things: secrets, data access, user input, payments and backups.
Per milestone ✓
Fixed price or hourly? How to pay for software without surprises
Hourly billing puts the risk on you, fixed price needs a clear scope. Why paying per milestone usually works best, what a good milestone looks like, and the red flags to watch for.
200 threads ≈ 50 s
virtual ≈ 1 s
Java virtual threads: 50× more throughput, with almost no code change
Java 21 virtual threads let a server handle thousands of waiting requests on a few OS threads. How they work, a simple benchmark, and the two traps: pinning and database limits.
SENT ✗
The dual-write problem: why your order saves but the event never arrives
Writing to a database and then publishing to Kafka, RabbitMQ or SQS can silently lose events. Learn why, and how the transactional outbox pattern fixes it.
3 replicas. 2 traps.
Read replicas: two production traps nobody warns you about
Read replicas take load off your primary database, but replication lag causes stale reads and gets worse under load. Two production traps and how to avoid them.