A live demo by AstroBeginner
How this demo is built
This is a real EmDash site, running on the internet, so you can see what one looks like before you make your own. The posts, pages and photos are the sample content that comes with EmDash's blog template. We set it up on November 8, 2026, following the same steps as our EmDash guides.
The stack
| Part | What we use | What it does |
|---|---|---|
| Content and dashboard | EmDash 1.4 | The CMS. Posts, pages, images, users, menus and sign-in all live here. Open source, MIT license, made by Cloudflare. |
| Website framework | Astro 7.4 | Builds every page you see. EmDash is built on Astro, so this is an Astro site with EmDash added. |
| Design | EmDash blog template | The layout, post pages, search and RSS feed. Unchanged except for this page and the bar at the top. |
| Dashboard screens | React 19 | Powers the admin dashboard that editors use. |
| Hosting | Cloudflare Workers | Runs the site on Cloudflare's network, close to every visitor. |
| Database | Cloudflare D1 | Stores the posts, pages, users and settings. |
| Images and files | Cloudflare R2 | Stores uploaded images. Downloads from R2 are free. |
| Picture resizing | Cloudflare Images | Makes smaller copies of images for phones and thumbnails. |
| Staying signed in | Cloudflare KV | Remembers who is signed in to the dashboard. |
| Scheduled posts | A Cron Trigger | Runs every minute, so posts scheduled for later go live on time. |
| Signing in | Passkeys | Fingerprint, face or PIN instead of a password. Nothing to steal. |
| Fonts | Inter and JetBrains Mono | Loaded through Astro's built-in font feature. |
| Deploying | Wrangler | Cloudflare's command-line tool. One command, npm run deploy, builds and uploads the site. |
What it costs
Nothing extra. It runs on Cloudflare's free plan, and its address is part of astrobeginner.com, so there's no separate domain to pay for. A site of your own would cost about $12 a year, for the domain. What EmDash costs has the free limits.
How it was made
- One command made the project:
npm create emdash@latest my-blog -- --template cloudflare:blog. Install guide. - One more put it online:
npm run deploy. Cloudflare created the database, the image storage and the sign-in store by itself, in 27 seconds. Deploy guide. - The setup wizard added the sample content, and the site owner signed in with a passkey.
- We added this page and the bar at the top. That's the only code we changed.
Can I try the dashboard?
Not here. The dashboard on this site is private, like it would be on yours. To click around a dashboard, use the playground at emdashcms.com, or run EmDash on your own computer in about ten minutes with our install guide.Our dashboard tour shows every screen.
Building documentation instead?
This demo is a blog. For a docs site, with a sidebar and search, the Astro team makes a different free theme called Starlight. It isn't part of this demo. What is Starlight? explains it.
Back to AstroBeginner, free Astro and EmDash guides for beginners.