KMD Agency is a Laravel + Inertia + React application — a single codebase serving both the public marketing site and the authenticated portal, with no separate frontend deployment or API layer to keep in sync.
Stack
| Layer | Technology |
|---|---|
| Backend framework | Laravel 13 |
| PHP | 8.3+ |
| Frontend | React 19 + TypeScript, rendered server-driven via Inertia.js |
| Styling | Tailwind CSS |
| Database | MySQL/MariaDB, SQLite, or PostgreSQL |
| Authorization | Spatie Laravel Permission — role-and-permission based, checked server-side on every request |
Design principles worth knowing
- Authorization is never client-side only. Every permission check that matters is enforced on the server; the frontend hiding a button is a convenience, never the actual boundary.
- Content is a closed block vocabulary, not an open page builder. Pages and blog posts share one fixed set of block types (see Content Blocks Reference) rather than an arbitrary drag-and-drop system — this keeps every layout looking correct on your theme by construction.
- Settings are database-backed, not scattered across config files. Anything a Super Admin can reasonably expect to change without editing code lives in the database and is editable from the portal.
- The update system never touches your data. Application code is the only thing an update replaces — see Auto-Updates.