WEBSITE · PLATE PRO · V1.0.0

Nami

A launch site for an invented sixteen-pad pocket synth, where the page is the instrument. three.js renders one room, and a print pass turns it into a two-ink halftone in ultraviolet and cream, with tangerine as a spot ink that only appears where there is sound. The viewport is the synth's 4 x 4 pad grid: moving the cursor into a square plays that pad, a click is an accented chord hit, and every note lights the pad, pops beads that bounce on a giant speaker and sends a ripple through the floor from the point you touched. A 118 BPM sequencer plays the song by scroll section, intro, the beat, breakdown, the drop and the outro with the pre-order, while the camera makes one move through the room. All sound is synthesised in the browser; there are no samples.

Complete single-page websitePlate Pro · $49.50 once

Get Plate Pro · $49.50Already have Pro? Sign in ↗Open in the library ↗

Included in Plate Pro: $49.50 once at the launch price (regularly $89), no subscription, with v1 updates. One payment covers every current Pro website and film.

Taxes depend on your location. Polar shows the tax breakdown and final total at checkout.

The live site opens for Pro accounts; everyone else sees the recorded preview above. A browser is handed every file a site runs, so the runnable source is not secret: what Pro gives you is the packaged project, the editing guide, the licence and v1 updates.

WHAT YOU RECEIVE

  • The complete source: index.html, style.css, main.js and audio.js, with no build step and three.js r181 vendored as two ES modules
  • The print pass: one post shader that gradient-maps the render into the inks and screens cream at 15 degrees and tangerine at 45 degrees, with dot gain, misregistration, paper fibre, a soft lens and halation
  • The instrument: ten synthesised voices (pluck, arp, chord, stab, kick, hat, clap, bass, riser, impact) on one bus with a compressor, a generated reverb and a dotted-eighth delay, and a five-section sequencer
  • EDITING.md: where every word lives, the synth voices and the sequencer, the halftone parameters, the palette, the scroll song sections and the camera, and the rules the engine depends on
  • Archivo and Fragment Mono as WOFF2 with their OFL-1.1 licence files, and the three.js MIT licence
  • README.md with the run command, and LICENSES.md

WHAT YOU CAN CHANGE

  • All copy: the five section headlines and notes, the pre-order, the loader line and the page title - index.html
  • The section names in the corner and on the synth's screen - main.js NAMES; the wordmark and model line printed on the synth - main.js redrawDecal()
  • The sixteen pad notes - audio.js PADS; the tempo - audio.js BPM
  • The song: the chord progression, the arpeggio and each section's pattern - main.js CH, ARP and schedule()
  • The sound of every voice - the functions in audio.js V; the reverb, delay and compressor - audio.js buildBus()
  • The print: dot pitch, screen angles, ink thresholds, misregistration, lens and vignette - the post shader at the top of main.js and uDot in frame()
  • The palette - main.js INK and four CSS tokens in style.css
  • The camera stop for each section, desktop and phone - main.js P_D and P_M

NOT THIS

  • A shop or order backend - the pre-order button plays a chord and changes its label; it does not take an order
  • Recorded samples or audio files - every sound is synthesised in audio.js
  • MIDI input, recording or saving what the visitor plays
  • Software rendering - without a GPU the room and the print pass are too heavy and there is no still fallback
  • More sections than the five built - a new section needs a camera stop, a pattern in schedule() and new HTML

USE IT WITH YOUR CODING AGENT

You download it. Your agent makes it yours.

  1. Get Plate Pro, or sign in if you already have it, and download the ZIP from the library.
  2. Check its SHA-256 against the one below, and extract it into a new, empty folder.
  3. Open that folder in Claude Code, Codex or Cursor. Plate never asks your agent for your password or licence key; you do the download, the agent does the edit.
  4. Paste the instructions below and fill in your project name and changes. The agent reads the included README and licences, edits the supported files, runs the site and reports what it checked.

REQUIREMENTS

The instructions to paste into your agent
Use Plate's Nami, project nami, version 1.0.0, as the starting point.
Requested result: [my project name].
My changes: [describe the changes before beginning]
Before you edit anything, ask me for the project name and the changes I want. Do not invent a brand, a client, copy or a result.

Scope: Complete single-page website.
Use the existing source and assets. Read its README and licence notices first. Preserve unrelated work and make changes in a separate project folder.
The project is a Plate Pro pack. Download it from the Plate library (https://getplate.pages.dev/library.html?project=nami, "Download source") while signed in to Plate with Pro; the file comes from https://getplate.pages.dev/api/pack?slug=nami and only with Pro. If you cannot sign in, tell me and I will download the ZIP and put it in your workspace myself.
Verify SHA-256: f3f43308688f3b45d7622b268cd3ba9f12015875687b4fac4169b8c841232ab3 (525604 bytes, version 1.0.0). Extract into a new folder and follow its README to run it.
Make content changes in content.js as EDITING.md describes; the supported changes below live there. Do not rewrite the renderer or the layout to make a content change.

Supported changes:
- All copy: the five section headlines and notes, the pre-order, the loader line and the page title - index.html
- The section names in the corner and on the synth's screen - main.js NAMES; the wordmark and model line printed on the synth - main.js redrawDecal()
- The sixteen pad notes - audio.js PADS; the tempo - audio.js BPM
- The song: the chord progression, the arpeggio and each section's pattern - main.js CH, ARP and schedule()
- The sound of every voice - the functions in audio.js V; the reverb, delay and compressor - audio.js buildBus()
- The print: dot pitch, screen angles, ink thresholds, misregistration, lens and vignette - the post shader at the top of main.js and uDot in frame()
- The palette - main.js INK and four CSS tokens in style.css
- The camera stop for each section, desktop and phone - main.js P_D and P_M

Requirements:
- An evergreen browser with WebGL2 and Web Audio, on real GPU hardware
- Any static file server, e.g. python -m http.server 8080 (ES modules do not load from file://)
- Desktop and phones down to 390 px; on touch a tap plays the square under it, and sound starts on the first gesture

Limits:
- A shop or order backend - the pre-order button plays a chord and changes its label; it does not take an order
- Recorded samples or audio files - every sound is synthesised in audio.js
- MIDI input, recording or saving what the visitor plays
- Software rendering - without a GPU the room and the print pass are too heavy and there is no still fallback
- More sections than the five built - a new section needs a camera stop, a pattern in schedule() and new HTML

Run the whole website. Inspect the opening, middle and ending on desktop and phone. Check the actual motion, navigation, reduced motion and missing-media recovery.
Deliver the edited source, actual preview or render, exact start commands and any remaining limitations. Do not purchase services, invent claims, post or deploy without my instruction.

The library fills in your project name and changes for you: open Nami in the library, then "Customize prompt".

CREDITS, VERSION, ARCHIVE

What travels with it

WhatSourceLicenceKeep
ArchivoThe Archivo Project Authors (Omnibus-Type), Google FontsSIL OFL 1.1Keep assets/fonts/OFL-Archivo.txt
Fragment MonoThe Fragment-Mono Project Authors, Google FontsSIL OFL 1.1Keep assets/fonts/OFL-FragmentMono.txt
three.js r181three.js authorsMITKeep vendor/THREE-LICENSE.txt

Archive: version 1.0.0 · 0.5 MB (525604 bytes) · 14 files · SHA-256 f3f43308688f3b45d7622b268cd3ba9f12015875687b4fac4169b8c841232ab3

Checked 2026-10-01: Headless Chromium on D3D11 at 1440x900 and at 390x844 with touch, on the real clock: zero console and page errors, no failed requests, a mouse move and click (and a tap on touch) play pads and start the sound, the corner button toggles it, every section's text sits inside its mask and the viewport, scrolling the whole page holds a mean 143 fps. Deterministic captures at 1486x1080 and 960x540 ran with zero errors. The archive has not been built or compared yet. Software rendering is not supported.

Included in Plate Pro v1 updates; the archive is re-hashed whenever its bytes change · Licence terms · Support

MORE PROJECTS

Other sites and games on Plate

Every project page · Films · The catalogue as JSON