on-page editing for static Next.js websites deployed on Vercel
0 databases • 1 commit per publish • 100% open-source code

Keep it static.Make it editable for your customers.

biberblog lets clients edit content directly on your static Next.js site — without adding a CMS database, content API or separate admin dashboard.

biberblog beaver with a toolbox and planks in front of a website with an editable text field

How it works.

Two roles, one pipeline: you push code, your client publishes content – both end up as commits on main and are deployed by Vercel.

Edit in place, publish – live in about a minute.

For developers

Key icon

Set up once

Create a repository from the biberblog template, import it in Vercel and add a private Blob store. npm run setup stores your client's password as a hash and asks for a GitHub token limited to this one repository.

Terminal icon

Scaffold pages and modules

npm run module:create, page:add-module and module:add-editable-field generate components, schemas and content files and keep the registries in sync.

Code icon

Build it your way

Write the components with your own markup and styling. Place EditableText, EditableRichtext, EditableImage or EditableCollection exactly where your client should edit – everything else stays code.

Rocket icon

Deploy and hand over

Push to main and Vercel deploys a static site. Your client gets the URL and the password – no CMS account, no dashboard.

For your customers

Edit icon

Switch to editor mode

Click the edit button on the website and enter the password – once per device, the session lasts about a year.

Cursor icon

Edit in place

Click a text or image and change it: texts, lists, images with crop, collections and SEO. Every change shows up immediately in the real layout – nothing is saved until it is published.

Commit icon

Publish

One click: biberblog checks all changes, converts new images to optimized WEBP files and writes everything – across all edited pages – to GitHub as one commit on main.

Globe icon

Live in about a minute

The commit triggers a new Vercel deployment. The editor waits for it and reports as soon as the new version is live – usually after 30–60 seconds.

Both paths end the same way: a commit on main → a Vercel deployment → a static website.

Not another CMS platform.

On-page editing is not new. Neither is Git-backed content management. biberblog combines both ideas with two deliberate choices.

Website in editor mode: editable areas are outlined, a cursor clicks a text block, the editor toolbar sits below

No external CMS service. No separate admin UI.

The website itself is the editing interface. Your customer signs in where the content already lives, edits it in context and publishes from there — no separate CMS backend, dashboard or additional service to learn and maintain.

Project file tree with the editor component EditableRichtext.tsx under system/components/editable-fields

The editor code is no black box. Fleet-friendly updates are built in.

The editor lives in your project under src/system/. Read it, restyle it, modify it, extend it — or leave it alone. Built-in update tooling lets you keep client projects on current biberblog releases while retaining control over project-specific changes.

Why biberblog?

biberblog beaver typing on a laptop
FOR DEVELOPERS

It's a static Next.js site.

  • Your usual workflow. Build the site with the App Router as you always do. No CMS schema, no SDK in your components, no content API.
  • No database, no CMS subscription. Content lives as JSON in your repository, images end up as optimized WEBP files in public/.
  • Scaffolding included. Pages, modules and editable fields are generated and kept in sync by CLI commands.
  • Built for agentic development. Work by hand, hand the work to an AI agent, or mix both – it's the same workflow. biberblog ships with guidance for Claude Code, a non-interactive entry to the generators and ready-made skills.
  • No black box. The editor code lives in your repository. Adapt its look and texts per project.
FOR CUSTOMERS

Edit where the content is.

  • No training needed. No admin dashboard – click a text or image on the page, change it, see the result immediately in the real layout.
  • Safe by design. Customers can only change the fields you made editable. Layout, structure and code stay untouched.
  • Nothing gets lost. Every publish is a Git commit, so every version of every text and image can be restored.
  • Fast websites. The site stays fully static – great load times and SEO.

Using biberblog in a real project.

Arseny Bobrov

About the author

Arseny Bobrov is a senior software developer and UX/UI designer with more than 15 years of experience in digital and advertising agencies.

biberblog grew out of a simple idea: clients should be able to update their own websites without having to learn or maintain a traditional CMS. It combines direct on-page editing with the simplicity and performance of a static website.

free & open source!