← blairpatterson.com

Uses

What I build with, day to day, across my own work and the products we run at Canyon. It changes; the habits mostly don't.

Back end

Language
PHP, kept on the current release. It's a much better language than its reputation.
Framework
Laravel, usually on the newest major within weeks of release. Queues, websockets, auth and OAuth from the first-party packages wherever they exist.
Admin
Filament on Livewire. Back-office screens in days, not sprints.
Patterns
Action classes, role-based permissions that deny by default, and an activity log on anything that matters.

Front end

Apps
SvelteKit with strict TypeScript, and Vue when a project already speaks it.
Styling
Tailwind and design tokens. No raw hex values in components.
Tooling
Vite and Bun. Fast feedback loops or nothing.

Data & infrastructure

Database
MySQL, including in tests. If it doesn't run against the real thing, it doesn't count.
Queues & cache
Redis, with a dashboard watching the workers.
Hosting
Zero-downtime deploys on managed servers for the apps. Push to the main branch, it ships.
Edge
Cloudflare Workers and object storage for anything that should be fast everywhere. Precompute it and put it close to people.
Watching
Application monitoring on every production app, so the first person to notice a bug isn't a customer.

AI

Daily driver
Claude Code. Every repo gets written instructions for it, a few specialist agents (architect, reviewer, security) and guardrails that run automatically.
In the products
Apps ship their own MCP servers so agents can work with real data: authenticated, read-only by default, and anything an agent writes starts as a draft.
Evaluation
If an AI feature can't be measured, it isn't finished. Retrieval respects permissions, and answers get tested like code.

IT & operations

Scripting
PowerShell for provisioning machines, audits and cleanup.
Rules
Dry run by default. Check for admin rights first. Never log a credential. Verify the machine's actual state instead of trusting an exit code. Every script gets a runbook.

How I like to work

This site

Built with
Plain HTML and CSS, no framework. Three.js and about 200 lines of shader code for the canyon. Built with Claude Code, bundled with esbuild, hosted on Vercel.
Data
The sun position is calculated live for greater Nashville, and the weather comes from Open-Meteo.