Along with coding I also like to write about what I build and learn. Here are my posts.
Web Development
Choosing how each page is rendered affects speed, cost, SEO and freshness. A clear comparison of client rendering, SSR, SSG, ISR and streaming — and when to use each.
22 Sept 2026
AI Automation
LLM features fail quietly. How to build evaluation sets, add guardrails, handle unreliable providers with fallbacks, and keep AI costs predictable.
15 Sept 2026
SaaS Platform
Microservices are not a default. Why most SaaS products should start as a well-structured modular monolith, and the signals that tell you it's time to split.
08 Sept 2026
Cloud & DevOps
Serverless can remove most operational work — or quietly increase cost and complexity. How AWS Lambda works, where it shines, its limits, and how it compares with containers.
01 Sept 2026
Backend Services
Each API style solves different problems. A practical comparison of REST, GraphQL and tRPC — strengths, costs, and which fits public APIs, mobile apps and full-stack TypeScript teams.
26 Aug 2026
Accessible websites reach more people, rank better and reduce legal risk. The WCAG principles, the most common failures, and what developers can fix in code today.
19 Aug 2026
Monitoring tells you something is wrong; observability tells you why. How OpenTelemetry unifies logs, metrics and traces, and how to instrument a Node.js service in minutes.
12 Aug 2026
Combining workflow automation with language models removes hours of repetitive work. Real patterns from my n8n projects — triggers, AI steps, branching and reliable outputs.
05 Aug 2026
Page views don't pay the bills. How to define activation, retention and conversion metrics, instrument events correctly, and build analytics your team can trust.
22 Jul 2026
Moving slow or unreliable work out of the request path makes systems faster and more resilient. When to use queues, how SQS, RabbitMQ and Kafka differ, and how to process messages safely.
15 Jul 2026
TypeScript's types disappear at runtime — exactly where untrusted data enters your app. How to use Zod schemas as a single source of truth for validation and types across the stack.
08 Jul 2026
You don't need to be a cluster administrator to work effectively with Kubernetes. The core objects, a production-ready Deployment, health checks, configuration and when Kubernetes is overkill.
01 Jul 2026
MCP is becoming the standard way to connect AI assistants to external systems. What the protocol is, how servers and clients work, and how to build a secure MCP server.
24 Jun 2026
Passwords alone are no longer enough for B2B software. A practical guide to OAuth 2.1, enterprise SSO, passkeys, and session design for multi-tenant SaaS.
17 Jun 2026
Most slow applications are slow in the database. How to read EXPLAIN ANALYZE, design indexes that match your queries, avoid N+1 problems and pool connections correctly.
10 Jun 2026
Google's Core Web Vitals measure loading, responsiveness and visual stability. What LCP, INP and CLS mean, how to measure them with real-user data, and the fixes with the biggest impact.
03 Jun 2026
Clicking through a cloud console doesn't scale. A comparison of Terraform, AWS CloudFormation and the AWS CDK, with a working EC2 example and practices for managing state safely.
27 May 2026
AI agents are moving from demos to real products. The architecture of a tool-calling agent, how to design tools models use correctly, and the guardrails that keep agents safe.
20 May 2026
Billing is where SaaS products quietly lose revenue. How to model plans and entitlements, run free trials, and keep your database in sync with the payment provider using webhooks.
13 May 2026
The right cache can cut response times and database load dramatically — the wrong one serves stale data. Cache-aside, write-through, TTLs, stampede protection and invalidation with Redis.
06 May 2026
Server Components change where React code runs. What they are, how they differ from Client Components, and the patterns that keep Next.js apps fast and secure.
29 Apr 2026
A practical CI/CD pipeline with GitHub Actions — linting, tests, builds, preview environments and safe production deployments — plus the security settings most teams miss.
22 Apr 2026
RAG grounds language models in your own data. How production RAG pipelines are built — chunking, embeddings, hybrid retrieval, reranking and evaluation — and where they usually fail.
15 Apr 2026
Database-per-tenant, schema-per-tenant or shared tables? A practical comparison of SaaS isolation models, their trade-offs, and the safeguards that prevent cross-tenant data leaks.
08 Apr 2026
Most data breaches now involve APIs. A developer-focused walkthrough of the OWASP API Security Top 10 — broken object authorisation, authentication flaws, rate limiting and more.
01 Apr 2026