Web Development 5 min read

Why I built Cloud Herder

The web is saturated with CMS options—WordPress alone powers 40% of the internet. Squarespace, Wix, Ghost, Contentful, Sanity... the list goes on. And yet, I built another one. Keep reading to find out why.

A stylized illustration of a developer working at a desk, typing on a laptop with a “</>” code symbol. Behind them, a large monitor displays CSS code. Coral-pink background. Represents web development.
Photo: Image by Sunrise from Pixabay

Why build your own?

The honest answer? None of the existing options fit how I wanted to work.

WordPress is powerful, but the plugin ecosystem can be a minefield. One bad update and your site breaks. Squarespace and Wix are great for non-technical users, but they come with trade-offs—locked-in data, limited customization, monthly costs that add up.

I wanted to:

  • Own my data — No platform risk
  • Control my workflow — Not fighting someone else's opinion
  • Learn by building — What better way to understand than to create?

Some developers adapt to the tools available. Others build their own. I'm in the latter camp.

The Stack: Why Laravel + Livewire?

When I decided to build, I had choices. React, Vue, Alpine, Inertia, Livewire... the JavaScript ecosystem is overwhelming. Here's why I landed on Laravel + Livewire.

Why Not React or Vue?

Modern frontend frameworks are powerful—but they come with complexity. Build pipelines, state management, API layers, hydration mismatches. For a CMS that's primarily about content management, it felt like using a sledgehammer to crack a nut.

I wanted:

  • Server-side rendering by default
  • Less JavaScript to maintain
  • One language (PHP) for the whole stack
  • A framework that handles the boring stuff so I can focus on features

Enter Livewire

Livewire hits the sweet spot. It gives you reactive components—think Vue or React—without writing JavaScript. You write PHP, and Livewire handles the AJAX, DOM diffing, and state synchronization.

Pair that with Laravel's:

  1. Eloquent ORM — Clean database interactions
  2. Built-in auth — Done in minutes, not hours
  3. Spatie packages — Media library, permissions, backup—ready to install
  4. Ecosystem — Everything just works together

And Tailwind for styling—utility-first, no context switching between HTML and styles, easy dark mode support.

What I Built

CloudHerder is a multi-type CMS with features you'd expect—and some you might not:

Post Types

  1. Standard posts (what you're reading now)
  2. Video posts (with embed support)
  3. Audio posts (podcast-friendly)
  4. Image posts (galleries and photos)
  5. Newsletters (more on this below)

All powered by Laravel's polymorphic relationships—one posts table, endless content types.

Taxonomy

  1. Hierarchical categories
  2. Flat tags
  3. Works across all post types

User Roles

  1. Admin, Editor, Author, Viewer
  2. Permission-based access control

Features

  1. Comment system with moderation
  2. Newsletter subscription with double opt-in
  3. Contact forms with spam protection
  4. Full-text search
  5. Sitemap generation
  6. Media library (Spatie)

The Newsletter System

This deserves a special mention. I wanted to own my email list—no Mailchimp, no Substack. CloudHerder handles:

  1. Subscriber management
  2. Double opt-in confirmation
  3. "View in browser" links
  4. Unsubscribe handling
  5. Open/click tracking

All self-hosted. All yours.

Key Technical Decisions

1. Polymorphic Relationships

Instead of separate tables for each post type, we use Laravel's polymorphic relationships. One posts table, with postable_type and postable_id columns that point to the actual content model (StandardPost, VideoPost, etc.).

This keeps the database clean while allowing each post type to have its own structure and behavior.

2. Livewire for Admin

The admin panel is built entirely with Livewire. Why? Because it's an internal tool—we don't need an API for managing posts. Livewire lets us build interactive dashboards with minimal JavaScript, and it integrates seamlessly with Laravel's ecosystem.

3. API-First Mindset

Even though the admin doesn't need an API, we built one anyway. This keeps options open for the future—headless CMS, mobile apps, or third-party integrations become trivial.

4. Tailwind for Styling

Utility-first CSS means no separate stylesheets, no context switching, and easy dark mode support. Tailwind's component-friendly approach also sets us up for the future of web components.

Lessons Learned

1. Livewire is underrated

Coming from a world of SPAs, I was skeptical. But Livewire delivers on the promise of reactive interfaces without the JavaScript burden. For content management systems and internal tools, it's genuinely excellent.

2. Trust the conventions

Laravel's "convention over configuration" approach saves time once you embrace it. Fight the framework less, trust the patterns more.

3. Start simple, add complexity only when needed

I didn't build everything at once. Started with core posts, added categories, then tags, then media, then newsletters. Building iteratively means better decisions with more context.

4. Polymorphic relationships are powerful

For content that varies in structure but shares common behavior, polymorphic is elegant. One table, multiple types, clean queries.

5. Own your infrastructure

Running your own CMS means owning your data, your costs, and your uptime. It's more work, but it means you're not at the mercy of platform changes or price hikes.

The Bottom Line

Building a CMS in 2026 might seem redundant. There are countless options, free and paid. But for those who want control, customization, and ownership—it's worth it.

PHP/Laravel + Livewire made the journey enjoyable. The ecosystem is mature, the community is helpful, and the result is something I actually want to use.

If you've ever thought about building your own tool, I'd say: start now. You'll learn more in a month of building than years of learning by reading.

D

Dallum Brown

Writer and curator exploring the impact of technology on everyday life.

View All Articles

Subscribe to
The Brief

Our curated selection of tech news and other discoveries, delivered every month.

No spam. Unsubscribe anytime.

Comments (0)

Please sign in to leave a comment.

No comments yet. Be the first to share your thoughts!

Further Reading

Privacy Notice

We use essential cookies for site functionality (session management, CSRF protection) and do not track you across the web. By using this site, you acknowledge our Privacy Policy and New Zealand Privacy Act 2020 compliance.

Learn More