i18n for a cultural platform

How waaseyaa’s i18n package handles language negotiation and multilingual entities — built for an indigenous cultural platform where language isn’t a feature, it’s the point.

March 21, 2026 · 6 min · Russell

SSH Hardening: Ed25519 Keys and Disabling Root Login

Lock down SSH access with ed25519 keys, disable root login, and remove unused authentication methods.

March 21, 2026 · 4 min · Russell

Provision an Ubuntu VPS and Create a Deploy User

Set up a DigitalOcean droplet from scratch: first SSH connection, deploy user, UFW baseline, and unattended upgrades.

March 20, 2026 · 3 min · Russell

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