Day 4: Creating a Form

Day 4: Creating a Form Summary Wednesdays are usually pretty busy for me since I go to church after work and don’t get home until very near the kids bedtime so I decided to break today into 2 sessions. Going into session 1 I had the following goals: Set up the “Landlord” controller Create the route Ensure the Site model works with User relationship Work Session 1 Using php artisan again I created the SiteController controller. Not to be confused with Tenant\SiteController that I created yesterday. ...

January 14, 2026

Day 3: Tenant Aware Routing

Day 3: Tenant Aware Routing Summary Going into today’s session I had the following goals: Middleware correctly pulls sudomain from host string Middleware throws 404 if no slug in database Navigating to mountainlotus.rhizomecms.test displays site name As part of the setup I added some test domains to /etc/hosts so I could work with them and not have to mess with a dns server. 1 2 3 127.0.0.1 rhizomecms.test 127.0.0.1 mountainlotus.rhizomecms.test 127.0.0.1 another-site.rhizomecms.test The Work Session Using php artisan again I created the IdentifyTenant middleware. ...

January 13, 2026

Day 2: Models & Migrations

Day 2: Models & Migrations Summary Going into today’s session I had the following goals: Create a Site model Create a sites table that can be “owned” by a user Create a site belonging to a user I referenced the Laravel migrations doc at laravel.com/docs/12.x/migrations and asked Gemini a few clarifying questions when I ran into issues that I couldn’t quickly find an answer to. I was also aquainted with php artisan today, and it feels very much like working with Ruby on Rails scaffolding. ...

January 12, 2026

Day 1: Scoping a Multi-Tenant CMS

Phase 1: Prep Day (Day 1) 1. Pick your poison Learning Laravel. I haven’t actively used php on purpose for anything since Late php 4/Early php 5. I want to jump back in and refresh my php skills so I plan to do so by learning the Laravel framework. ...

January 10, 2026

The 21-Day Sprint: A Framework for Functional Fluency

The Inspiration In the book The First 20 Hours, Josh Kaufman argues that the 10000 hour rule only applies to becoming a world class expert and about 20 hours is all that is needed to become “good enough” at most hobbies or professional skills. Why 21 Days? The goal of any sprint shouldn’t be mastery. It should be functional fluency. Becoming good enough to use the new skill to create something and overcome barriers that may come up along the way. ...

January 10, 2026