DEV Community

Cover image for We Open-Sourced a Next.js 15 Blog Theme You Can Preview Without a Backend
FECommunity
FECommunity

Posted on

We Open-Sourced a Next.js 15 Blog Theme You Can Preview Without a Backend

We just open-sourced ReactPress Theme Starter — the official public-facing theme for ReactPress, a headless blog/CMS stack.

Built with Next.js 15, React 19, Tailwind CSS 4, and TypeScript.

The problem with most blog starters

You clone a Next.js template, and before you see anything useful you still need to:

  • Wire up a CMS or content pipeline
  • Configure .env for API keys
  • Seed sample data

We wanted a theme you could evaluate in 60 seconds — full UI, real routes, no backend.

Try it in 60 seconds (mock mode)

git clone https://github.com/fecommunity/reactpress-theme-starter.git
cd reactpress-theme-starter
pnpm install
pnpm dev:mock
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:3001. Sample data comes from an embedded mock API — same mode as the live demo.

No ReactPress install. No .env wiring.

Architecture

ReactPress API  ──REST──▶  Theme Starter (Next.js)  ──▶  Public Site
Enter fullscreen mode Exit fullscreen mode

This repo is the visitor-facing frontend only. Content, admin, and API live in ReactPress. Data flows through @fecommunity/reactpress-toolkit.

When you're ready for the full stack:

npm i -g @fecommunity/reactpress@3
reactpress init
reactpress dev
Enter fullscreen mode Exit fullscreen mode


Then point the theme at your local API with pnpm dev.

What's included

  • Articles, archives, tags, search
  • CMS pages & knowledge base
  • Comments, RSS, sitemap
  • Light / dark mode
  • Customizable via ReactPress admin + theme.json
  • One-click Vercel deploy

Why React 19 + Next.js 15 App Router?

The theme uses App Router throughout — layouts, server components where it makes sense, and client components for interactive UI (search, comments, theme toggle).

If you're exploring headless CMS patterns with modern React, this is a working reference implementation, not a static landing page.

Deploy

Demo (mock data): import the repo to Vercel as-is — vercel.json runs build:mock.

Production: point REACTPRESS_API_URL at your ReactPress API and run pnpm build.

Get involved

We're looking for feedback on the mock-mode DX and theme customization via theme.json. PRs welcome — especially docs, mock data, and UI polish.


MIT licensed. Built by FECommunity.


Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.