2026 · EJS · Shipped

EJS: Landing Page Facelift

Before the redesign, ejs.co had looked the same for years: a wordmark, a four-word tagline, a lot of olive green. The only thing promoted above the fold was a different project, a Jake banner above EJS’s own logo, and the page never got around to what the library does or why you would pick it over the alternatives. Twenty million people install it every week, and the first screen told them almost nothing.

The site before the redesign

Constraints

The site was a 2015 Bootstrap template served as static files, and I kept it that way: no framework, no build step and very little JavaScript. The olive green and the crimson were inherited too. People recognise them, so I kept both and changed only how much of the page they cover.

The old features band: the green as the whole canvas

Rewriting the first screen

The new first screen is a plain statement, generate HTML with plain JS, with the install command under it in a chip you can copy, and the three numbers that make the case on their own: 20M+ weekly downloads, 7.7k stars, zero dependencies. I tried a side-by-side code card there first and cut it, and the stats replaced an install pill and a row of buttons. The green runs as a band behind this one screen instead of behind everything.

The same page, rebuilt

Comparing EJS to other libraries

The one section that argues for EJS over the alternatives went through four shapes. Tabs that switched between Handlebars, Pug and Mustache hid the comparison behind a click. A side-by-side grid with a glowing EJS card put it on the table but gave it no weight. Peers in a row above a full-width answer card read as a hierarchy. The version that stayed stacks the three peers on the left and sets EJS on the right, with the checklist under the code.

Tabs, grid, row over answer, two columns

What I cut

A scroll-reveal animation went in and came out two weeks later: fade-up-on-scroll reads as template filler, and it was the only animation on the page. A mobile accordion for the About cards lasted a day before simpler, tighter cards replaced it. The security notice had a crimson ring and an exclamation mark, and the feedback was that it looked like a system error, so it is a plain note now.

The security notice, old site and redesign

Documentation

I folded nine separate docs pages into one, with redirects so old links still work. A single page doesn’t need search or a left sidebar, so both came out. The on-this-page rail stayed, with its scrollbar visible, so readers can jump between sections of the reference.

The documentation page

What I’d do differently

I would show the maintainer the work much earlier, not as one seventy-three-commit pull request at the end. I would also keep the decision log going: mine stops in late May, and the reasons for the later cuts survive only in commit messages. The redesign is live now at ejs.co.

More projects