Personal blog system · Cloudflare-hosted · automated deploy

Build your permanent home on the internet

01mvp-blog-starter is a Cloudflare-native personal blog system. Writing dashboard, comments, image hosting, and RSS ship out of the box, and the setup flow can take it from configuration to live deploy.

Latest posts

Your content, truly yours.

Platform accounts can be suspended anytime. Content can be deleted without warning. A personal site is an internet asset you actually own.

No platform controlPlatforms decide what you can post, when you get pushed, and when you get banned. On your own site, you set the rules.
Write what you actually wantLink out freely, share contact info, critique competitors — none of the restrictions that come with publishing on someone else's platform.
Blog as hub, platforms as outletsWrite once on your blog, then use multipost or AI to syndicate to each platform in its own voice.

A full dynamic publishing system for a living blog.

Real database, real admin panel, built-in comments and media management — all on Cloudflare's free tier.

Writing dashboardMarkdown editor, tags, covers, scheduled publishing — all in /admin.
Image hosting (R2)Images, imports, exports, and backups. Activation usually requires a payment method; small personal sites usually stay inside the free tier.
CommentsSelf-hosted on D1. Moderation queue, Cloudflare Turnstile spam protection — no Disqus required.
AI-customizableOpen-source template. Use Cursor, Claude Code, or any AI tool to restyle or extend it however you like.
Multi-platform distributionUse multipost to sync posts to other platforms. Your blog is the source; social channels are outlets.
Export and migratePosts, images, comments, and settings are all exportable. No lock-in.

Publish Obsidian-style Markdown as blog posts.

Put selected Markdown / MDX files under content/notes and publish them through GitHub or your deploy flow. Only files with publish: true become public posts, and they still use tags, RSS, comments, and site search.

Write in any folder structurePut files under content/notes and organize them however you like. The site ignores folders and groups public posts by tags and publish time.
Image references are handledSupports ![[image.png]] and standard Markdown image links. Images found in the vault are uploaded to R2 and rewritten automatically.
Git-backed publish and hideDeployment sync records source paths and content hashes. Remove publish: true or delete the source file, and the public post is hidden on the next sync.

Give the template to AI in either of two ways.

Install the 01mvp-blog Skill for the best long-term flow, or copy the setup prompt from the docs. AI creates Cloudflare resources, writes config, runs migrations, and deploys; you only handle account, domain, and payment confirmations.

  1. 01Install Cloudflare accessConnect your Cloudflare account inside Codex, Claude Code, Cursor, or another AI coding agent.
  2. 02Fork or clone the templateStart from 01MVP/blog-starter, or let AI create a fresh GitHub repository for your blog.
  3. 03Let AI initialize the siteCreates D1, KV, R2, and Worker resources, writes config, runs migrations, and deploys.
  4. 04Handle manual confirmationsCloudflare login, payment-method confirmation, nameservers, OAuth apps, or email verification.

No server. No renewal fees.

Cloudflare's free tier is effectively more than enough for a personal blog. Configure it on day one, then stop thinking about servers, databases, and storage.

No server required

Runs on Cloudflare Workers — 100K free requests per day. A personal blog will never come close.

Built-in URL

A free *.workers.dev subdomain is included for testing. For mainland China readers, bind your own domain; long-term high-volume access may need filing work.

Mature infrastructure

Workers, D1, and R2 are hosted by Cloudflare, so you do not maintain VPS, database, or object storage infrastructure.

Workers100,000 requests / dayPersonal blogs typically use a tiny fraction of this.
D1 database5 GB + 5M reads / dayPosts, comments, settings — enough for years.
R2 image storage10 GB, free egressImages, imports, exports, and backups; payment-method confirmation is usually needed.
KV cache100K reads / day, 1 GBPage caching for faster load times.

Cloudflare-native · Modern full-stack · AI-friendly

CloudflareCloudflareRuntime · Storage · DB
ReactTanStack StartFull-stack framework
TypeScriptTypeScriptType safety
ViteViteBuild tool
DrizzleDrizzle ORMDatabase ORM
Better AuthAuth

Four presets. Customize freely with AI.

Default is minimal monochrome. Switch presets in one line — or use your AI tool to build something entirely different.

Monochrome

Pure black and white, sharp corners, maximum contrast for technical writing.

Apple Rounded

Blue primary, larger radius, softer borders for calm product docs.

Warm Editorial

Warm cream-orange, soft and humanistic, for essays and reflective posts.

Brutalist

Thick borders, high contrast, bold accent for expressive personal sites.