All posts
August 6, 2026 · Erik Garaj

One landing template for every app

Instead of hand building a marketing site per product, the studio runs one config driven Next.js landing template. Two presets, one brand file, and a new site is a clone.

Every product needs a marketing site. Build each one by hand and you get five different codebases that drift, five sets of bugs, and five design systems to maintain. So the studio runs exactly one landing template and clones it.

One config rebrands everything

The template is Next.js with static export, next-intl, and Tailwind. The whole brand lives in a single site.ts file: color tokens, fonts, store links, socials, legal, locales. Those tokens inject as CSS variables at the top of the tree, and every component reads them. Change the config, and the navbar, buttons, cards, the interactive backdrop, and the blog all reskin at once.

A new landing is a clone of the template, an edit to one file, and a drop of brand assets. Nothing else.

Two presets, one menu

Not every site is the same shape. A consumer app wants store badges, a feature showcase, and a waitlist. A service or agency site wants proof, an offer, a team, and a lead form. So the template ships two presets, chosen by a single line in the config: an app preset and an agency preset. Same component library, different composition. The intake question "is this an app or a service" maps to one setting.

Structure that scales

Components are grouped so the composition is obvious: site chrome, blocks (the page sections), primitives (the reusable pieces), and forms. A preset is just a list of blocks. To change a page you edit the preset, not a monolith. To add a block you drop it into the list.

The hard rule baked in at the template level: no fabricated social proof. Real store ratings or none. That kills a whole class of store policy risk structurally, not by remembering to be careful each time.

Proven, then promoted

I proved the template on a real product first, shipped it live, then stripped the brand out and promoted the proven build into the starter. The next product, another live app, was a clone plus a config. That is the test that matters: the template earns its place by making the second site cheap, not by looking good in isolation.

One template, config driven, cloned per brand. Every app inherits the same polish and the same fixes, for free.

Have a product to build?

One operator, idea to live product. Web and mobile, designed and shipped end to end.

Work with me

Frequently asked

Do you build a new website for every app?
No. Every product's marketing site comes from one Next.js template. A new site is a clone plus one config file.
How is a landing rebranded?
Edit a single site config: color tokens, fonts, store links, locales. The tokens inject as CSS variables so the whole site reskins at once.
App site or agency site?
Both. One config flag picks an app preset (store badges, features, waitlist) or an agency preset (proof, offer, team, lead form).

Related