Blog

One Login, Many Apps — The Honest Guide to Central-Hub SSO

You log in once to a central hub and every internal app just opens — no second login. That "seamless" jump isn't magic, and it definitely isn't "no authentication." Here's what's really happening: how single sign-on federates identity across a suite of apps, how the invisible handoff works, where your data should live, and how to stop one login from becoming one giant skeleton key.

Connect Claude to Your Own App — Build an MCP Server From Scratch

Claude is brilliant, but it can't see your task manager, your database, or your app — so you copy-paste context into chat all day. This is the complete, zero-to-deployed guide to the Model Context Protocol: what MCP is, how to build a real server in Python, and how to wire it into Claude so it can read and manage your data by itself.

Deploying Laravel with Ansible — From "SSH and Pray" to One Command

Deploying by hand — SSH in, git pull, composer install, migrate, clear caches, pray — is slow, unrepeatable, and one fat-fingered command from disaster. Here's how I turned the whole ritual into a single idempotent Ansible playbook — provisioning, atomic zero-downtime releases, and the gotchas that cost me real time.

Supabase — Database, Auth, Storage, RLS & More

Confused about where to even start with Supabase? This guide walks you through everything — what it is, setting up your first project, the database, auth, file storage, realtime, and the Row Level Security trap that catches everyone out — with real code you can copy.

Docker — Containers, Images, Commands & More

Never installed Docker before? This guide walks you through everything — what Docker is, how containers and images differ, essential commands, running databases, and navigating Docker Desktop — so you leave with a solid grip.

Dockerizing a Laravel + PostgreSQL App — and the Gotchas Nobody Warns You About

"Works on my machine" dies the day you containerize properly. Here's a clean Laravel + PostgreSQL Docker setup, plus the handful of gotchas — pdo_pgsql, DB_HOST, readiness, volumes — that eat an afternoon if you don't know them.

Killing N+1 Queries — Making a Slow Laravel + PostgreSQL API Fast

A "simple" endpoint was firing hundreds of queries per request. The culprit was almost always the same one — N+1. Here's how I find it, how I fix it, and the one line that stops it from ever sneaking back in.

I Almost Deleted the Production Database While Setting Up Staging

A staging environment co-hosted on the production server put me one command away from wiping live data. Here's exactly how it nearly happened — and the guardrails I now put in place so it can't.

Taming a Growing Database — 6-Month Retention with CSV Archives on a Media Server

A production PostgreSQL table was growing without limit. Here's the tiered-storage pipeline I built — keep 6 months hot in the database, archive everything older as date-wise CSVs onto a separate media server over a Samba share, driven by a single daily cron.