Posts · note

Why the Site Is One Go Program

Paramsat moved from Next.js to a single Go binary before its first deploy. The reasons, and what came out.

7 Oct 2026 #paramsat

The first version of Paramsat was a Next.js application. Before it was ever deployed it was rewritten as one Go program, and the site you are reading is that program.

The reasons were practical:

  • The site is pages, not an application. It serves pages rendered on the server, with very little interactivity. Go's standard library, with its HTTP server and its HTML templates, fits that shape without a framework.

  • It shares a small machine. The site runs beside another of its owner's projects on one small virtual machine, behind the same tunnel and with the same deploy tooling, instead of needing a machine of its own.

  • It was the cheapest time to do it. The first version was about 1,700 lines. Rewriting it before the first deploy avoided a larger rewrite later, competing with the editor.

What came out is a single binary of about 14 MB with the content built in. It starts in a few tens of milliseconds and uses tens of megabytes of memory. Its pages, their addresses and its search index are the same as the first version's, compared page by page during the move.