in production since 1999 FR

Coming from Node.js? We move to Go, with AI.

Hundreds of npm dependencies, memory that keeps growing, containers multiplied to hold the load, a framework that changes its model every year: I rewrite your Node service in Go, one route after another, so it takes more traffic on far fewer machines.

A direct email, no salesperson. Answer within one business day, no obligation.

root@clh.ovh: ~
clh --inventory node
  routes, dependencies, jobs, environment variables: listed
clh --read --ai src/ package.json
  API contracts frozen as tests
01

What we keep, what we leave.

We don't copy Node.js, Express or Next.js into Go: we keep what matters to you and leave the rest behind.

We keep

Everything that matters to you.

  • every API route and its contract
  • business rules
  • the database and its schema
  • authentication (JWT, sessions, OAuth)
  • scheduled jobs and queues
  • server-side page rendering
We leave behind

Everything that costs you.

  • node_modules and its hundreds of dependencies
  • weekly npm security alerts
  • containers multiplied to hold the load
  • forced framework migrations
Watch points · Node.js

What I watch closely.

  • API contracts are frozen as tests before the rewrite: your client apps can't tell the difference.
  • A proxy switches routes one by one; Node serves the rest until the end.
  • Next.js server rendering becomes Go templates: the same HTML, with no Node server behind it.
02

Six steps, zero downtime.

a typical migration
clh --inventory nodejs
  ✓ every URL, every piece of content, every plugin
clh --read --ai
  ✓ rule map, reviewed with you
clh --go --tests
  ✓ every old page = a test to pass
clh --migrate --data
  ✓ replayable scripts until the day before
clh --compare old new
  ✓ zero diff, or an intended one
clh --cutover && clh --handover
  ✓ live, and you hold the keys
  1. 01

    Record everything.

    I record everything that exists on your Node.js: every public URL, every piece of content, every plugin and what it really does, the forms, the accounts. That record is the reference until the very end.

  2. 02

    Have AI read the code.

    AI agents read what exists (theme, plugins, settings, custom code) and extract the real rules: who sees what, which price applies when, which email goes out after what. I review that map with you: it becomes the reference, not the old code.

  3. 03

    Write Go, tests first.

    Tests before code: every page of the old site becomes a case to reproduce. The new site is written in Go by agents I run in parallel, and every line goes through me before it's kept.

  4. 04

    Move the data.

    Content, media, accounts and history are moved by replayable scripts: the copy is rerun as often as needed, right up to the day before cutover. Personal data never goes through the AI.

  5. 05

    Compare, side by side.

    Both sites run together. A robot compares them page by page: content, titles, links, prices. We fix until the difference is zero, or intended.

  6. 06

    Cut over, then hand over the keys.

    Cutover at DNS level, with no downtime; the old site stays read-only until you're sure. You get the source code, the documentation and the access: you don't depend on me.

03

AI speeds it up. I decide.

AI does in hours what used to take weeks: reading, comparing, writing the repetitive code. It doesn't choose the architecture, and it puts nothing into production without me.

What AI does

The volume.

  • read thousands of lines of code and settings in hours
  • draft the map of business rules
  • write the repetitive code and the tests
  • compare the old and new sites, page by page
coding agents · in parallel
What I do

The decisions.

  • decide the architecture
  • settle with you what stays and what goes
  • review and approve every line
  • own security and production
27 years in production
04

What you gain.

01

One stack less

--go

Node, npm, node_modules and the extra containers: all of it leaves production. What remains is one compiled program that starts in a fraction of a second.

ProofThis page is served by a Go program I wrote, the same one that runs clh.do and clh.agency.

02

Fewer machines

--sobre

A Go service takes millions of requests a day on a modest machine: the hosting bill and the power draw go down together.

03

Fewer holes

--durcir

No third-party plugins, no weekly emergency update: the attack surface shrinks to what you actually use.

ProofFor content sites I designed NADAPROD, open source: I import your existing site, and every page becomes a self-contained file. No database, no plugins, no trackers, no third-party calls.

04

Faster

--ms

Pages served in milliseconds: your visitors stay, and search engines notice.

05

Yours

--cles

Source code, documentation, access: it's all yours. You depend on no vendor, no plugin marketplace, and not on me.

05

Your questions.

01

Our front end is React: does it have to be redone?

No: only the server changes. The front end keeps calling the same APIs.

02

Why Go rather than optimising Node?

A compiled binary, steady memory, real concurrency with no event loop to tiptoe around: for a busy service, the hosting bill drops sharply.

03

Will my search rankings suffer?

Not if things are done in the right order: every existing URL is recorded before anything is touched, then kept as is or redirected with a 301. Titles, descriptions and structured data follow. And a faster site ranks better, not worse.

04

Who edits the site afterwards?

You do. Depending on how you work: text files you edit like a document, or an admin interface written for what you actually do, without the hundred menus you never use.

05

What does the AI see of my data?

The code, the structure and anonymised samples. Your customers' personal data (accounts, orders, addresses) is not sent to the models: it is moved by scripts, on your servers or mine.

06

How long does it take, and what does it cost?

It depends on the volume and the features to reproduce. After the inventory you get a firm scope, schedule and quote. AI cuts the time spent writing code sharply: that's what makes a tailor-made rewrite affordable today.

07

What if I want to go back?

The old site stays in place, read-only, until you're sure. The cutover happens at DNS level: going back takes a few minutes.

08

Do you host it afterwards?

If you like, on my machines or at datamix.io. Otherwise the binary runs at any Linux host: the code and the access are yours.

Your migration,
shall we talk?

Tell me where you're starting from (Node.js, Express or Next.js), what your site does and what weighs on you: I answer within one business day, no obligation.

Talk about my migration

or write directly to cedric@clh.ovh

Talk about my migration →
clh --new-request

Describe the situation.

Your message comes straight to me. Answer within one business day, no obligation.

Urgency
Access to the server or site