If you've ever built the same app for web and mobile, you know the tax: two codebases, two sets of backend glue code, and one data model you keep in sync by hand. Change a field, update it in both places, miss one, ship a bug.
Underpeaks Core is a free, open-source, self-hosted headless CMS built to get rid of that. You define your data model once, and it gives you a backend, a content editor and a REST API. It can also generate working Flutter and Next.js apps from the same model. It's compiled, not AI-generated, so the same model always gives you the same code.
The video above shows the whole install. Here's the written version, so you can follow along or come back to it.
git clone https://github.com/underpeaks/underpeaks-core.git
cd underpeaks-core
npm install
npm run dev
Open http://localhost:3000. On a fresh install you're taken straight to the installer.
You don't write any environment variables by hand. The installer does it for you:
.env for you)
When it's done, you're sent to the sign-in page.
Use the admin email and password you just created.
The first time you sign in, Core asks for a license key:
Then you land in the console.
| Section | What it does |
|---|---|
| Shared Models | Define your data models |
| Pages | Build pages from your models |
| Menu | Control the admin sidebar |
| Navigator | Connect pages to each other |
| Theme | Colours and branding |
| Storage | Upload and manage media |
| Users | Manage who can access your instance |
| Settings | Project name, license key, SMTP, API keys |
A good first move is to create a model and attach it to a page. The admin views for it show up straight away.
npm install -g underpeaks-nxf
nxf login
nxf generate flutter # or: nxf generate nextjs
nxf login opens your browser to connect the CLI to your account. After that, generate gives you a real project you own, with models, an API client and auth flows included.
.env.local match your database exactly.
If you get stuck, tell me which step and which database you used. I'm a solo developer and I read every comment.
The next video in the series is Core vs Studio, the free self-hosted version compared with the hosted one. After that, we create your first model.
Core is free and open source: GitHub.
Which database are you planning to run it on?