Real write-ups on the systems I build — booking engines, Shopify apps and admin panels, and the unglamorous work of rescuing legacy .NET. No fluff, no listicles for their own sake.
"It depends" isn't a dodge — a Shopify store's price is set by choices you make before any code: theme vs custom design, how big your catalog is, the features themes can't do, and whether you're migrating. Here's what actually drives the number, and how to keep it down.
Read the write-up →Everyone wants one number, but "Shopify app" covers a one-screen tool and a product sold to thousands of merchants. What actually moves the price — scope, how deep into Shopify it reaches, whether it needs a backend, and private vs App Store.
Read the write-up →It was fast on launch day and crawls now that you've grown — and nothing obvious broke. The queries didn't change; the data and the load did. Why databases slow down as they scale, and how to build one that stays fast under load.
Read the write-up →Amadeus gives you flights and fares over a clean REST API — but a B2B portal is more than a search box. The auth flow, the search-price-book sequence, and the pieces the docs skip: markup, agent wallets and multi-tenancy.
Read the write-up →"It depends" isn't a dodge — a booking engine's price is set by things you can't see from the outside: how many suppliers you connect, how hard the money movement is, and the edge cases nobody demos. Here's what actually drives the number.
Read the write-up →Before you pay for a bigger server: a slow database is almost always a few queries and some missing indexes, not hardware. Missing indexes, N+1 queries, blocking, stale stats — where to look first, cheapest fix to last.
Read the write-up →Amadeus, Sabre, Travelport and direct supplier feeds all speak different languages. Here's the architecture that lets one booking engine talk to all of them — normalisation, fan-out search, price drift, failover and refunds.
Read the write-up →Custom app, public App Store app, or an internal admin tool? They sound similar and cost very differently. A plain-English guide to picking the right build before you spend a rupee — or a dollar.
Read the write-up →Ageing ASP.NET apps rarely fail all at once — they get slow, fragile and scary to touch. Here are the seven warning signs, and how a structured rescue (audit, stabilise, modernise) actually works.
Read the write-up →Whether it's a booking engine, a Shopify build or a legacy app that needs rescuing — tell me what you're working with.