I've always liked the idea of owning my content — but whispers of wordpress under my bed keeps me up at night, conversely the limitations of static sites are what they are. So I built Deadlight, a minimalist blog/site framework that runs entirely on Cloudflare Workers + D1 (SQLite) — all on the free tier, with built-in auth, Markdown, and themes.
Why I Built It
I wanted something that lived in the sweet spot between:
- Static site generators (like Hugo or Eleventy)
- Full CMS platforms (like WordPress or Ghost)
Most "simple" blog solutions I tried still relied on multiple services (hosting + DB + backend). I wanted something all-in-one, deployable in minutes, and ideally free to run — even at scale.
What It Is
Deadlight is a fully functional site/blog framework that includes:
- Markdown content support
- Built-in authentication (no 3rd-party auth required)
- Dark/light themes
- SQLite-backed database via Cloudflare D1
- No build step — dynamic but lightweight
- <150KB total size (HTML, CSS, routing, auth, and database logic)
Deployed to the edge, with no server/VPS to manage
Architecture Overview
Everything runs on Cloudflare’s edge network:
- Cloudflare Workers handle routing, rendering, auth, and API logic
- D1 stores your posts, user credentials, and metadata
- No JS frameworks or client-side routing
- Pure CSS (with dark/light toggle), basic Markdown rendering
This is not a static site generator. The content is dynamic — created, stored, and served live — but lightweight enough to load instantly.
Setup
If you have a Cloudflare account and Wrangler installed:
git clone https://github.com/gnarzilla/deadlight-bootstrap
cd deadlight-bootstrap
wrangler d1 create deadlight
wrangler publish
That's it. Your blog is now live.
Design Philosophy
Intentionally kept this small and opinionated:
- No JavaScript framework
- No bloated admin interface (yet)
- No dependencies outside what Cloudflare offers (workers)
But it's built to be built upon. Add an /admin dashboard, plug in image hosting, or integrate with KV/Queues - the world is your oyster.
Feedback
I'd love to hear your thoughts, or a good roast if that's more your speed.
Top comments (0)