Bassam Ismail

Writing

Notes on engineering, leadership, and the craft.

Posts · Page 3 of 4

Building a self-hosted media stack (and what I deleted)
Jun 2026·Running a self-hosted media stack is more integration work than install. Here is how I wired Jellyfin, Sonarr, Radarr and friends, and what I deleted.
Personal
Running background jobs on macOS with launchd
Jun 2026·How to run launchd scheduled jobs on macOS: plist patterns, Full Disk Access pitfalls, and the C launcher trick that survives every redeploy.
Personal
How I reach a home server with no public address
Jun 2026·No open ports, no public IP, but real hostnames and a trusted TLS cert. Here is how Tailscale, DNS-01, and Caddy make it work.
Personal
Why my home server runs on a spare MacBook
Jun 2026·Running a MacBook home server on spare Apple Silicon? See how Tailscale, Caddy, and OrbStack power 25 self-hosted services with no public IP.
Personal
When Bot Mitigation Is Just Observation: Hardening Meridian Without Bot Management
Jun 2026·Bot mitigation without Cloudflare Bot Management signals? Learn how to harden Cloudflare WAF with scoped rules, auth carve-outs, and rolling telemetry.
Engineering
Tracking what the LLM costs in a one-person app
Jun 2026·Slow token leaks hit harder than one big call. Learn how a single wrapper and use-case tags make tracking LLM API costs a query, not a monthly surprise.
Engineering
Ask the app: a Q&A agent over a kid's school year
Jun 2026·How I built a bounded LLM agent to answer open-ended questions over a child's school year, with three SQL tools and a hard four-iteration ceiling.
Internal AI
Parent-friendly summaries without paying the LLM twice
Jun 2026·Regenerating LLM summaries on every page load wastes money and time. Learn how a derived cache key makes LLM summary caching effortless.
Internal AI
Teaching an LLM to ignore the recap and surface the homework
Jun 2026·Teacher notes are mostly recap, not actions. Learn how to prompt an LLM to extract action items only and ignore past events.
Internal AI
Scraping a school portal with no API: dropping the browser for raw HTTP
Jun 2026·Scraping a school portal with no public API: why I dropped Playwright for Node's built-in https module, a plain cookie jar, and regex parsing.
Engineering