My Content Website Stack

The complete stack behind daveswift.com — Ghost, Cloudflare, Typesense, Tinybird, and more.

My Content Website Stack

Last updated: March 21, 2026

I built daveswift.com from scratch. No managed hosting, no page builders, no $50/month WordPress plugins. Just a fast, self-hosted stack that I control end to end.

This is everything behind the site you’re reading right now — what each piece does, why I chose it, and what it actually costs.

The CMS: Ghost

Ghost: The best open source blog & newsletter platform
Beautiful, modern publishing with email newsletters and paid subscriptions built-in. Used by Platformer, 404Media, Lever News, Tangle, The Browser, and thousands more.

I moved from WordPress to Ghost for this site, and I haven’t looked back. The writing experience is cleaner, performance is better out of the box, and memberships plus newsletters are built in — no plugins needed.

Ghost runs in Docker on my own server. That means I’m not paying for Ghost Pro — I pay a fraction of that and get full control over the database, the theme, and the deployment pipeline.

I want to clarify that Ghost Pro is a great service, and if you don't want to worry about the tech, you get the benefits of Ghost without the hassles of managing your own server. Besides, when you host with Ghost Pro you're supporting the Ghost open source project, which is a real non-profit!

💡
Worth noting: I still use WordPress for other things, and I think it’s the right choice for a lot of use cases. But for a content site with memberships and email, Ghost does it with fewer moving parts.

Hosting: Hetzner VPS

Hetzner — Making IT easy
Host, Cloud, Storage and Domains. Professional hosting solutions with excellent price-to-performance.

The entire site runs on a Hetzner VPS. Fast, affordable servers with excellent uptime. I use Docker Compose to run Ghost, MySQL, and a few supporting services on a single box.

If you’re self-hosting anything, Hetzner is hard to beat on price-to-performance. I’ve been running production sites on their infrastructure for years.

Reverse Proxy: Caddy

Caddy — The Ultimate Server
A powerful, enterprise-ready, open source web server with automatic HTTPS written in Go.

Caddy handles HTTPS and reverse proxying. It automatically provisions and renews SSL certificates, and the config is about 10 lines long. I switched from Nginx and the difference in simplicity is night and day.

CDN & Security: Cloudflare

Cloudflare — The Web Performance & Security Company
Make your Internet properties faster, more secure, and more reliable.

Cloudflare sits in front of everything — DNS, CDN, DDoS protection, caching rules. The free plan covers most of what I need. Static assets get cached at the edge for a year, and HTML gets revalidated on every request so content stays fresh.

Search: Typesense

Typesense — Fast, typo-tolerant open source search engine
An open source, typo-tolerant search engine optimized for instant search-as-you-type experiences.

Ghost’s built-in search is basic. I replaced it with Typesense — a self-hosted search engine that returns instant results as you type. It indexes every post and page, and the search experience is genuinely fast. Hit Cmd+K on this site to try it.

Typesense runs in Docker alongside Ghost on the same VPS. No external service, no monthly fee.

Analytics: Tinybird

Tinybird — Real-time data platform
Build real-time data products at any scale. Fast, secure, and developer-friendly.

I don’t use Google Analytics. Tinybird powers Ghost’s native analytics dashboard, giving me pageviews, sources, and engagement data without any third-party tracking scripts loading on the frontend.

Privacy-friendly, fast, and it works with Ghost right in the admin view. This is a new native integration as part of Ghost v6.

Email: Mailgun

Mailgun — Email API Service for Developers
Powerful transactional email APIs that enable you to send, receive, and track emails.

Mailgun handles both transactional emails — signup confirmations, magic links — and newsletter delivery. Ghost integrates with it natively (they require it actually). You add an API key and SMTP credentials and it handles the rest.

Reliable delivery, solid analytics, and significantly cheaper than dedicated newsletter platforms.

Forms: OpnForm

OpnForm — Free Open Source Form Builder
Create beautiful forms and share them anywhere. Free, open-source, and takes seconds to set up.

No forms with Ghost, so I self host OpnForm. It powers the contact form on this site as well as a lot of the services I offer.

Like I mentioned, It’s open-source and self-hostable, though I use their hosted version. Form submissions automatically create Ghost members and subscribe them to my newsletter via an N8N automation (which I also self host).

I have a full review of OpnForm if you want to learn more.

Social Proof: Testimonial.to

Testimonial.to — Collect and display testimonials
The easiest way to collect text and video testimonials from your customers.

Testimonial.to collects and displays reader testimonials. People can submit feedback through a simple form, and I embed the best ones across the site without building anything custom. Want to leave me a testimonial and try it out?


That’s the full stack behind daveswift.com. Most of it is self-hosted, all of it is fast, and the total monthly cost is less than what most people pay for managed WordPress hosting alone. Much less, if I'm being honest.

Share this post