Replacing a homegrown database layer with DBAL

How waaseyaa migrated from a homegrown PdoDatabase to Doctrine DBAL across 67 commits — and how all three applications upgraded without breaking.

March 20, 2026 · 6 min · Russell

I Migrated a Laravel App to a Custom PHP Framework in One Claude Code Session

How Claude Code built 3 framework packages, scaffolded a full application, and got 12 pages rendering — all in a single session.

March 19, 2026 · 5 min · Russell

Introducing Minoo: A Living Map of Indigenous Community

Minoo connects Indigenous communities, Knowledge Keepers, and volunteers through a location-aware platform rooted in community values.

March 19, 2026 · 3 min · Russell

JSON:API from Framework to SPA: Waaseyaa's API Layer

How waaseyaa’s JSON:API layer works — ResourceSerializer, SchemaPresenter, and how Tier 3 specs let a new session pick up mid-feature without re-explaining the whole contract.

March 19, 2026 · 6 min · Russell

Production Linux: Secure and Maintain Your Own VPS

A 10-post series covering the full lifecycle of a production Linux VPS — from first login to disaster recovery.

March 19, 2026 · 2 min · Russell

Deny-unless-granted: access control in waaseyaa

How waaseyaa’s AccessPolicyInterface implements deny-unless-granted semantics with field-level access control — and how GitHub milestones kept it from scope-creeping.

March 18, 2026 · 5 min · Russell

Manage DigitalOcean Infrastructure With Ansible for Laravel and PHP Apps

How to structure an Ansible repo to manage two DigitalOcean droplets, six Laravel apps, and a Go microservices platform without replacing the existing Deployer workflow.

March 18, 2026 · 5 min · Russell

Wiring Spec Drift Detection Into Your Monorepo

How to turn a spec drift detector from a script nobody runs into a hard gate across your task runner, git hooks, and CI pipeline.

March 18, 2026 · 5 min · Russell

Building a temporal layer so your AI never lies about time

How Claudriel’s temporal subsystem pins time per request, resolves timezones from context, and detects clock drift before it corrupts AI reasoning.

March 17, 2026 · 8 min · Russell

Feeling Overwhelmed by Dev Tools? Start With HTML

Why HTML is the best starting point for anyone learning to build for the web, and how to get going without the overwhelm.

March 16, 2026 · 2 min · Russell