Template documentation

GLYPH Mono

A hardware product-launch template built with Next.js, React, TypeScript, Tailwind CSS, and Motion. This guide is written for non-developers — you can customize the entire site by editing a few plain-text files, no coding required.

Introduction

GLYPH Mono is a single-product launch template featuring an interactive, recolorable keyboard, a scroll-driven product showcase, light/dark modes, a full set of marketing sections, three sub-pages (full specs, the build story, and a live configurator), and a styled 404 page.

The golden rule: almost all of your text, links, prices, and product data live in one fileconfig/site.ts. You rarely need to touch the components themselves.

Requirements

Quick start

Open a terminal in the template folder and run these in order:

# 1. Install dependencies (one time)
npm install

# 2. Start the local preview at http://localhost:3000
npm run dev

# 3. When you're done, build the final static site
npm run build

While npm run dev is running, any change you save appears in the browser instantly.

Project structure

PathWhat it is
config/site.tsAll editable text, links, prices, and product data. Start here.
config/keyboard.tsThe keyboard layout (keys, sizes, accent keys).
app/globals.cssBrand colors (accent, light/dark palette).
app/layout.tsxFonts and the page shell.
app/page.tsxThe homepage — the order of sections.
app/specs/, app/build/, app/configure/The three sub-pages.
app/components/The building blocks (sections, header, footer, keyboard). You usually won't edit these.

Editing content

Open config/site.ts. Every block of text is clearly named. Change the words inside the quotation marks and save — that's it. Key sections:

VariableControls
siteConfigProduct name, tagline, page description.
heroThe headline, eyebrow, button, and the four spec chips on the homepage.
featuresThe "Why GLYPH" feature cards.
testimonialsThe review quotes.
faqsThe FAQ questions and answers.
preOrderThe dark call-to-action band near the bottom.
specSheetThe full specs page table.
buildStoryThe build-story page steps.
navLinks / pageLinksThe header menu and footer page links.
Always keep the quotation marks and commas exactly as they are — only change the text between the quotes. If a comma goes missing, the site won't compile (the terminal will tell you which line).

Colors

The entire palette is three values in app/globals.css. Change the accent in one place and it updates every button, the Esc/Enter keys, and highlights site-wide.

@theme inline {
  --color-bone: #efe9dd;    /* light background */
  --color-ink:  #1a1814;    /* dark text / dark sections */
  --color-accent: #c6f432;  /* the one accent color */
}

Light and dark modes are defined just below:

:root  { --background: #efe9dd; --foreground: #1a1814; } /* light */
.dark  { --background: #1a1814; --foreground: #efe9dd; } /* dark  */
Tip: keep the accent used as a fill behind dark text (like the Pre-order button). A bright accent as text on the light background can be hard to read.

Fonts

Fonts are loaded in app/layout.tsx using Next.js's built-in Google Fonts loader (they are downloaded and bundled automatically at build time — no external requests for your visitors). The defaults are Space Grotesk (headings), Inter (body), and JetBrains Mono (labels). To change one, swap the import name — for example replace Space_Grotesk with another Google font and update the three references.

Keyboard & configurator

Keyboard layout

The on-screen keyboard is drawn from data in config/keyboard.ts. Each key has a label, an optional width (w), and an optional accent: true to tint it with your accent color. Edit labels or add/remove keys there.

Configurator options

The /configure page reads from configGroups and basePrice in config/site.ts. Each group (Case, Keycaps, Accent, Switches) lists its options with a label, a price (added to the base), and — for color options — a color hex value. Add, remove, or reprice options freely; the live preview and total update automatically.

Keycap legends are dark, so choose light keycap colors to keep the letters readable.

Build & deploy

Run the build to produce a fully static site in the out/ folder:

npm run build

The out/ folder contains plain HTML, CSS, and JavaScript — it needs no server and can be hosted anywhere static files are served:

Troubleshooting

SymptomFix
Site won't compile after an editYou likely removed a quote or comma in config/site.ts. The terminal names the file and line.
A new page shows the 404Stop the dev server and run npm run dev again so it re-scans for new pages.
Fonts look wrongBuilding requires an internet connection the first time (to fetch the fonts).
Accent color didn't change everywhereMake sure you edited --color-accent in app/globals.css, not a single component.

Credits & license

Your purchase includes the license you bought from the marketplace. Refer to that marketplace's license terms for usage rights.