Skip to content
qino

Contentlayer exit

Fixed price

3 days

Get off Contentlayer and onto Next.js 16 this week.

contentlayer hasn't shipped since 2023, and it's keeping you on a Next.js that no longer gets security patches. I'll replace it with @qino/cms and upgrade you to Next.js 16 in one green pull request, for a fixed price.

$999 fixed · half up front

Before

$ npm install
npm ERR! peer next@"^12 || ^13"
  from next-contentlayer@0.3.4

After

$ qino build
✔ All content passes schema validation.
✔ qino build done!

Why you can't just bump the version.

Upgrading Next.js means replacing Contentlayer first. That's the part nobody on the team has a spare week for.

Abandoned

Contentlayer last shipped in June 2023

Its community fork, contentlayer2, last shipped in May 2025. Nobody is coming to fix it for the next Next.js.

Unpatched

Next.js 15 lost support on 21 Oct 2026

Security fixes now land in Next.js 16 only. Every week on an older version is a week without patches.

Coupled

Contentlayer is wired into your build

It hooks into Next.js through webpack, and Next.js 16 builds with Turbopack by default. The upgrade and the replacement are one job.

Common

96 of 124 company repos are in the same spot

Of the organisation repos still on Contentlayer on GitHub, 96 run a Next.js version that no longer gets security patches.

Get off Contentlayer in 3 working days.

$999 fixed · half up front

Get unblocked this week

One pull request. Your site, unblocked.

I do the work in your repo, on a branch. You review it and merge it like any other PR.

Replace

Contentlayer out, qino in

Your document types become Zod schemas, with the same fields and typed queries. Your Markdown and MDX stay in your repo.

Upgrade

Next.js 16

Next.js and React on current versions, including the changes the upgrade forces in your own code.

Verify

A green build, with checked links

Pages render as before, and broken references between documents now fail the build instead of shipping.

Deliver

Three working days

One site, one branch, CI green, with a preview deploy if your host makes one.

Own

No lock-in

qino is open source, MIT-licensed, and runs inside your repo. No service to depend on, no account to create.

Bonus

Qino Cloud beta pricing, for life

The cloud UI lets non-developers edit content and open pull requests from the browser. When it launches, you keep beta pricing for as long as you use it.

One fixed price.

Contentlayer exit

$799was $999

For the first 5 teams only, in exchange for a case study: a write-up of your migration to qino with your logo.

  • Contentlayer replaced with qino
  • Upgrade to Next.js 16
  • One green pull request in three working days
  • Half on signing, half when the PR is approved
  • qino Cloud beta pricing forever

How it works.

Four steps, and only one of them needs your time.

Step 1

Send me your repo

I look at it and reply with a fixed scope, flagging anything that falls outside it before you commit.

Step 2

Sign and pay half

A short agreement and a 50% deposit, then I book your three working days.

Step 3

Review the pull request

I work on a branch and share progress as I go. You get one green PR at the end.

Step 4

Pay the rest, merge when you want

The second half is due once the PR is green or approved by your team. Merging is up to you. Then we write the case study together.

Who does the work.

Me. I'm a senior software engineer and the maintainer of qino, the open-source library that replaces Contentlayer in your repo. It runs in production on the Filecoin Foundation website already. No agency, no handoff: the person who wrote the library writes your PR.

Charly Martin

Charly Martin

Creator of qino

Questions?

One of your questions is not answered here? Feel free to email me at charly@hey.com.

qino already runs content in production.

Loved by engineers

I thought using Markdown for content would be easy. Then I saw how much wiring and formatting it takes.... qino just handles all of that, amazing tool!

Jeremy Marcillaud

Jeremy Marcillaud

Fullstack Engineer, Rainbow

Get Contentlayer out of the way of your next upgrade.

Once you send your repo details, I'll reply personally with a fixed scope and anything I'd flag before we begin. No charges until you approve the scope.