I work in cloud security, and most of my day goes into finding what's misconfigured in other people's systems. So when I decided to launch a blog, the question wasn't only where to publish. It was what I was willing to run and defend.
Why not WordPress?
WordPress is the obvious answer, and it's a good one for many people. But its plugin ecosystem is a steady source of vulnerabilities, and I didn't want my first project to depend on patching someone else's code. I also wanted more than a static site: users who could register, write their own posts, comment, and like. That meant a real backend, not a generator with a comment widget bolted on.
The constraints that shaped it
My hosting supports PHP, so the stack was PHP with a SQL database. My usual choice, Spring Boot, wasn't an option.
I wanted nothing installed on my laptop, so everything ran and was tested in Docker containers.
I wanted it to feel like Medium: clean writing, minimal friction, a reader-first layout.
How I built it
I built the platform with AI assistance: [Replit Agent first / Antigravity with Gemini], with me setting direction and reviewing what came back. I started with the media and asset list (logo, images), then the core features: registration, posting, comments and likes. [Add one specific thing that surprised you, good or bad.]
What shipped
User registration and authoring
Comments and likes
An admin portal for user counts and status, because I couldn't query the database directly
Bulk article upload via spreadsheet
What I'm learning
Getting a site live is the easy part. Getting found is the hard part: SEO, indexing, and keeping the production database clean of test data.
★ Member story
Why I Built My Own Blogging Platform Instead of Using WordPress
A security engineer's take on building a Medium-style platform from scratch: the constraints, the trade-offs, and what I'd do differently.
Responses (0)
Join the technical conversation or share implementation thoughts.
What are your thoughts?
Sign in to join the technical discussion or share feedback.
There are currently no responses for this story. Be the first to respond.