Writing

Guides and technical explainers.

What I learn about cloud, architecture and agents, written to be reusable. All of it free to read.

AllGuidesTechnical
26 articles
2026
Guide

Ship a SaaS in 24h with Claude Code

From empty repo to a live product in a day: the plan, the shortcuts, and what breaks when you go too fast.

→
Technical

The common mistakes with Claude Code

Mega-prompts, no CLAUDE.md, no tests, no commits: the traps that turn the agent into a liability.

→
Guide

Using GitLab CI/CD well

A clean end-to-end pipeline: stages, cache, artifacts, environments and automatic deployment.

→
Technical

Why Vercel for your SaaS

Zero infra, per-PR previews, global edge: what Vercel saves you — and the day you must leave it.

→
Guide

Hosting your SaaS on AWS

Amplify, EC2, ECS, or serverless: the four paths to host a SaaS on AWS, and how to choose.

→
Technical

The basic security holes in a Next.js app

Leaked secrets, unprotected API routes, IDOR, XSS: the holes I find on almost every app.

→
Guide

Self-hosting GitLab

Your own GitLab on a server: Docker, backups, CI runners, and the sizing to plan for.

→
Technical

Optimizing Core Web Vitals on Next.js

LCP, CLS, INP: the concrete levers — images, fonts, server components — for an app that flies.

→
Guide

Authentication in a Next.js app

Sessions vs JWT, httpOnly cookies, OAuth, and where to put the checks: an auth foundation that holds.

→
Technical

Rate limiting and API protection

Stop abuse without hurting real users: token bucket, Redis, and what to limit first.

→
Technical

Handling secrets properly

No more accidentally committed .env: where secrets live, how to inject them, how to rotate them.

→
Guide

Monitoring: logs, alerts, uptime

Know it broke before the customer does: structured logs, metrics, alerts that don’t cry wolf.

→
Guide

Backups that actually work

An untested backup isn't a backup. Retention, real restore drills, and the 3-2-1 rule.

→
Technical

Monorepo or multi-repo

How I structure a growing project: when a monorepo helps, when it becomes a burden.

→
Guide

The basics of Claude Code

Coding in the terminal with an agent: the mental model, the commands that matter, and how to keep it on the rails.

→
Guide

Cut an AWS bill in half

The real playbook: tagging, rightsizing, Savings Plans vs Spot — without breaking production.

→
Technical

The 5 lines that wreck your bill

NAT Gateway, egress, forgotten snapshots, oversized EBS, logs: the hidden costs that bleed scale-ups.

→
Technical

EC2, ECS or Lambda: how I choose

A decision tree based on load, budget and team size — not hype.

→
Guide

Make a deployment boring

From "works on my machine" to reproducible and observable: IaC, CI/CD, health checks, rollback.

→
Guide

Scale without blowing the budget

Load balancer, auto-scaling, read replicas, cache — sized right to absorb a spike.

→
Technical

Give an agent tools without it hallucinating

Ground on real data, function calling, guardrails: escape the believable fiction.

→
Technical

Human-in-the-loop, for real

When the agent should ask vs decide alone, and how to interrupt then resume a durable run.

→
Guide

Why AWS for an e-commerce

The architecture that survives a traffic spike: EC2 for the site, RDS for the database, S3 + Lambda for WebP-optimized product photos.

→
Technical

Trace and score an agent with Langfuse

Get the agent out of the black box: instrument every step, measure cost, and score it with an LLM-as-a-judge.

→
2025
Technical

From a prompt to agentic AI

My first LangGraph agent, and why a good prompt stops being enough once the task gets real.

→
Guide

Deploy Langfuse on AWS EC2

The full v3 stack in Docker Compose — Postgres, ClickHouse, Redis, MinIO — behind HTTPS. Copy-paste blocks.

→