A Developer’s Personal Site in 2025: What I Actually Use
When I decided to rebuild my portfolio and blog, I quickly realised that all my old content was either lost or no longer relevant. It had been more than eight years since I last had a personal site — and that gave me a rare opportunity for a truly fresh start, with no legacy constraints.
Given my preferred tools, Laravel v12 was an obvious choice. I’ve been using it daily at work and I’m very comfortable with its expressive features and modern architecture. Most of the web apps I manage professionally are built on a custom CMS using Filament v3, but for this personal site, that felt like overkill.
All I really needed was a handful of pages and a lightweight blog.
As I explained in Blazing-Fast Blogs with Laravel, Markdown, and Sushi, I opted to use Markdown files for content and Sushi to feed them into Eloquent — keeping everything fast, simple, and flexible. To handle routing, I reached for Laravel Folio. Folio introduces file-based routing to Laravel, similar to frameworks like Next.js.
It’s perfect for smaller sites: each Blade file in your /resources/views/pages
directory automatically becomes a route. For example, dynamic pages can be created using [slug].blade.php
, which works perfectly for blog articles.
With Sushi reading markdown into models, I layered in a few more key packages:
- Spatie's Feed – to generate an RSS feed from the Article model
- Spatie's Sitemap – wired into a custom sitemap service to include Folio pages and articles
- Volt – a modern, single-file component format for Livewire, which I used to extend Folio and inject dynamic SEO meta data into pages
- Spatie's Response Cache – to cache full-page HTML responses and drastically improve load times
With these packages in place, I was able to focus on the frontend. I built the UI from a modern TailwindCSS template, enhanced it with Blade components, Livewire for interactivity, and a light layer of FluxUI components for polish and structure.
Conclusion
Every project is different, and personal sites are no exception. For this build, scalability wasn’t the goal — speed, simplicity, and maintainability were. Laravel 12, Folio, and Sushi let me move fast without sacrificing quality. And with a few carefully chosen packages, I now have a performant, modern developer blog that feels like mine.
