Bryan Hamilton / writing

bryanhamilton.info / writing

Writing Production notes, not tutorials.

Everything here was learned the expensive way: in production, on a live site with real traffic. Web Audio, search, structured data, MySQL, vanilla JavaScript - full articles live on this domain, and each one links to its dev.to discussion.

  • 11 articles
  • 2015-present in production
  • Zero dependencies, in spirit and in fact
I Predicted When DJs Will Tour Next With MySQL and a Stats Trick 629 past shows, one 45-day clustering rule, and an honest confidence score. How The DJ Calendar predicts when DJs will tour next. October 24, 2026 · 8 min read · php · mysql · webdev A Login Form Beat My Twenty Years of PHP Three bugs, one screen door: a doppelganger include file, a cookie-eating CDN, and a first-visit death spiral - and the stateless CSRF token that killed all three. An aut... October 23, 2026 · 6 min read · php · webdev · security The Equalizer That Actually Listens: A Web Audio Analyser Deep-Dive Build a real frequency-reactive equalizer with Web Audio - fftSize 64, smoothing 0.8, and the race condition nobody warns you about. October 17, 2026 · 9 min read · javascript · webdev · webaudio The Search Engine With Zero Server Calls A prebuilt JSON index, weighted AND matching, ARIA combobox - site search with no server, no dependencies, no round-trips. ~1,000 pages. October 16, 2026 · 8 min read · javascript · webdev · a11y I Built My Portfolio Like a Piece of Rack Gear - Zero Dependencies, All Vanilla JS A 29-year engineer rebuilt his portfolio as a production console - Web Audio EQ, booting LEDs, a scroll-reactive Venn diagram, 104 KB of vanilla everything. How each piec... October 15, 2026 · 8 min read · webdev · javascript · css How I Took ~1,000 Pages From Hundreds of Rich Results Warnings to Zero The silent JSON-LD bug behind most Rich Results warnings, and the 178-line PHP auditor that catches it in CI. October 13, 2026 · 8 min read · php · seo · webdev Replay the Feed, Never a Duplicate: Idempotent Upserts in MySQL I run The DJ Calendar, a site that tracks tour dates for the world's biggest DJs. Every show on it... October 12, 2026 · 4 min read · mysql · php · database Client-Side Search From a Prebuilt JSON Index: Zero Dependencies, Zero Server Calls I run The DJ Calendar (https://thedjcalendar.com/) — a site with hundreds of artist pages. Every page... October 9, 2026 · 4 min read · frontend · javascript · performance Classic Snake and Tank Wars! I wanted a couple of small games for my portfolio that anyone could play in ten seconds, so I rebuilt... October 8, 2026 · 5 min read · gamedev · html · javascript Building a Real Audio Hover Preview with Zero Dependencies I run The DJ Calendar, a real-time EDM tour date platform. The homepage has 99 artist cards. I wanted... October 7, 2026 · 4 min read · javascript · webdev · opensource Extracting a Production Hover Preview: Audio, Canvas EQ, and Consent-First Design 1. The Problem 99 artist cards on The DJ Calendar homepage Users needed a way to preview music... October 7, 2026 · 2 min read · javascript · webdev · opensource