Hey Vercel community! ![]()
I’m excited to share a template I’ve been working on: ReactPress Theme Starter – a production-ready, headless blog theme built on Next.js 15 that you can deploy with zero environment variables and get a fully functional blog up in seconds.
Live Demo & Repositories
- Live Demo: https://reactpress-theme-starter.vercel.app
- Template Repo: github.com/fecommunity/reactpress-theme-starter
- ReactPress (CMS): github.com/fecommunity/reactpress
Why I built this
Most blogging platforms force a trade‑off: an easy CMS with a sluggish frontend, or a fast static site without a proper editor. ReactPress was designed to bridge that gap – and this starter is the fastest way to experience the full stack. The theme isn’t just for blogs; it’s ready for knowledge bases, CMS‑driven sites, and even product documentation.
Tech Stack & Performance
- Next.js 15 (App Router) + React 19 + Tailwind CSS 4 + TypeScript
- Lighthouse Scores: Performance 95 / Accessibility 100 / Best Practices 100 / SEO 100
- Core Web Vitals: FCP 0.4s | LCP 1.0s | TBT 150ms | CLS 0.0
What‘s included out of the box
- Articles, archives, full‑text search, CMS pages, knowledge base, comments, light/dark mode, RSS, sitemap
- Zero‑config deployment –
vercel.json+ build script handle everything, no env vars required - Embedded mock API – preview the entire UI without a backend
- Built‑in admin console to customize appearance via
theme.json
Two Ways to Start
- One-Click Deploy – Use the button in the README to deploy instantly
- Local Setup –
pnpm create-next-app@latest reactpress-theme-starter --example "https://github.com/fecommunity/reactpress-theme-starter"
What makes it different
| Feature | ReactPress Theme Starter | Generic Next.js Blog Template |
|---|---|---|
| CMS & admin | ||
| Try without backend | pnpm dev:mock |
|
| Knowledge base & comments | ||
| Customizable appearance | theme.json |
|
| Lighthouse performance |
I‘d love your feedback
- What other features would you want in a headless blog theme?
- If you’ve tried it, what was your first impression?
Happy building! ![]()