Content Migration — A custom Artisan command handles the full WordPress-to-Laravel migration: it parses Gutenberg block format (paragraphs, images, galleries, headings, quotes, embeds, lists), downloads and rewrites all media from the live site, deduplicates taxonomy terms, and preserves all 21 original articles with their categories and tags. YouTube embeds are converted to responsive iframes automatically.
Admin Panel — Built on Filament 5, the admin panel provides complete management for articles (rich editor, auto-generated slugs, SEO fields, category and tag assignment, bulk publish/unpublish), categories, tags, static pages, portfolio items (drag-and-drop reordering), and contact messages (with read/unread status). Dashboard widgets show article statistics and recent contact messages.
Reactive Frontend — Pages are built as Livewire 4 Single-File Components with no traditional controllers: homepage with featured hero and latest articles, paginated blog listing, article detail with related posts, category and tag filtering, portfolio grid, and a contact form with real-time validation, honeypot anti-spam, and rate limiting.
SEO & Performance — All 21 original WordPress slugs are preserved with a 301 redirect catch-all for legacy URLs. A dynamically generated sitemap.xml (cached 1 hour, auto-invalidated on content changes) covers articles, categories, and tags. Every page includes full meta tags, Open Graph, Twitter Card, and JSON-LD Article structured data. All non-hero images use lazy loading; N+1 queries are prevented via eager loading throughout.
Design System — An editorial/rural-magazine aesthetic using Playfair Display, Lora, and Inter with an earthy palette (forest, terracotta, cream, charcoal), CSS animations (fade-in, slide-up, stagger), grain texture overlay, asymmetric grids, drop-cap prose styling, breadcrumbs, and share buttons.
Testing — 76 PHPUnit tests across 10 feature and 2 unit test files covering all pages, edge cases, the Gutenberg parser (14 tests), image downloader logic (9 tests), sitemap validity, contact form honeypot and rate limiting, and legacy URL redirects.
Tech stack: Laravel 13, PHP 8.3, Livewire 4, Alpine.js, Tailwind CSS 4, Filament 5, MySQL, PHPUnit 12.