Explore Signal

saas · Landing

Signal Free

A dark technical one-pager for AI-agent analytics SaaS

Preview

Signal preview: hero
Signal preview: visual

About this template

Signal targets technical teams shipping AI agents who want an instrument-panel landing page: a centered hero over a generated glow visual, a six-card feature grid (usage, spend, latency, guardrails, audit, alerts), three-tier pricing with a highlighted plan, a native-details FAQ, and an early-access band with an honest email flow.

Space Grotesk + Inter on a near-black navy canvas with a single violet accent and the pulse-ring signature motif. The deliberate opposite register of Embercraft — proof the studio spans the palette.

What's inside

  • One-page structure: hero, six features, 3-tier pricing, FAQ, waitlist band
  • Native-details FAQ accordion — keyboard-native, no JS dependency
  • Self-contained static HTML/CSS/JS — no build step, no required CDN
  • Responsive at 375 / 768 / 1440
  • Accessibility: skip link, landmarks, alt text, focus rings, reduced-motion support
  • Generated visuals: hero glow + signal-rings, one consistent dark art direction

Design DNA

Palette

Type

Space Grotesk + Inter

Signature element

pulse ring

Preset anchor

15 Ash Thorp (experimental vanguard) with information-architecture grid

Remix it with your agent — no account needed

Copy a prompt into your own coding agent. Build it from the template package, brand it, iterate, then publish to your own Cloudflare. The full text is on the page — nothing hidden behind an account.

Placeholders: [YOUR-…] = fill before or during the run · {{…}} = your agent will ask you. Kit files stay versioned at /kits/signal/.

Build it Download the template and build a personalized site — start here.

View raw (build-prompt.md) · placeholders in [BRACKETS] are yours

<!-- ByJTT prompt kit: signal v1.0 · build-prompt.md · kit version 1 · 2026-09-04.
     Copy this whole file into your coding agent. Placeholders in [BRACKETS] are yours to fill
     (or leave them — your agent will ask). Your agent works on a copy in its own workspace. -->

# Build a website from the "Signal" template

You are building a finished website for me from a professionally designed template.
I may not be a programmer: use plain language, give short status updates as you go,
and never end by telling me to run commands myself — do the work, then show me the result.

## Safety rails
- Never delete or overwrite anything already in your workspace unless I ask.
- Never quietly downgrade a request. If something can't be done, stop and say so in one line.
- This template is a dark, single-accent SaaS landing page. Don't add extra accent colors,
  warm photography, or a backend unless I explicitly ask.
- Never add a fake checkout, fake signup endpoint, or placeholder text — the template ships
  with honest states; keep them honest.

## Inputs (fill these in; ask me for any I left blank)
- Product name: [YOUR-PRODUCT]
- One-line pitch: [YOUR-PITCH]
- Contact email: [YOUR-EMAIL]
- Pricing tiers (optional — defaults are template placeholders): [YOUR-TIERS]
- Domain (if you have one): [YOUR-DOMAIN]

## Steps
1. Download the template package:
   `curl -L -o signal.zip https://byjtt-templates.pages.dev/assets/templates/signal/downloads/signal-v1.0.0.zip`
   and unzip it into a folder called `site`.
2. Read `manifest.json` inside the package first — it is the binding contract: the file
   inventory, design tokens (palette #0A0E13 / #7C5CFF violet, Space Grotesk + Inter,
   pulse-ring signature), page structure (hero, features, pricing, FAQ, waitlist), and the
   license summary. Personalize; don't redesign.
3. Replace every `[YOUR-…]` placeholder in the copy with my inputs above and log each
   replacement in a checklist you show me at the end. Pricing tiers are template
   placeholders — swap in my real tiers or keep them clearly labeled as examples.
4. Serve locally (`python3 -m http.server 8080` inside `site`) and verify before showing me:
   renders at 375 / 768 / 1440, every image and font loads, FAQ accordion opens with the
   keyboard, no placeholder text anywhere.
5. Show me the local preview URL and the checklist. Then wait — iterate with
   `iterate-prompt.md`, or continue to `publish-prompt.md`.

## License note (keep this in the footer)
ByJTT Free Template License: personal, non-commercial end products; attribution appreciated,
not required. Commercial use needs the paid license — see
https://byjtt-templates.pages.dev/licensing.html
Brand-customize it Delta prompt: apply your brand to an existing build.

View raw (brand-customize-prompt.md) · placeholders in [BRACKETS] are yours

<!-- ByJTT prompt kit: signal v1.0 · brand-customize-prompt.md · kit version 1 · 2026-09-04.
     Delta prompt: assumes build-prompt.md has already run. Do not stack on top of it. -->

# Brand-customize the Signal build (delta)

The template is already built in this workspace. Apply a brand pass without re-downloading.
Same rules: plain language, never delete what exists, never quietly downgrade a request,
honest one-line answers when something fails.

## Inputs (fill in or ask me)
- Product name: {{BRAND_NAME}}
- One-line pitch: {{PITCH}}
- Accent color (hex, optional — default is the template violet #7C5CFF): {{ACCENT}}
- Domain (optional): {{DOMAIN}}

## Steps
1. Rewrite the visible copy in the new brand's voice while keeping the instrument-panel tone
   (short, precise, technical-but-human). Keep every section: hero, features, pricing, FAQ,
   waitlist, footer.
2. If a new accent was given, change only the CSS custom properties `--accent` and
   `--accent-deep` (and the derived glow shadows). This design runs on exactly one accent —
   do not introduce a second.
3. Update the contact email, pricing tiers if I provided real ones, and the footer domain.
4. Re-verify: three widths (375/768/1440), fonts and images load, contrast on the dark
   background still ≥ 4.5:1 for body text, no placeholder text remains.
5. Show me the preview URL and a one-line change summary. Then wait — for publishing, use
   `publish-prompt.md`.
Iterate on it Delta prompt: request changes with the design rules enforced.

View raw (iterate-prompt.md) · placeholders in [BRACKETS] are yours

<!-- ByJTT prompt kit: signal v1.0 · iterate-prompt.md · kit version 1 · 2026-09-04.
     Delta prompt: use when the template is built and I want changes. -->

# Iterate on the Signal build (delta)

The template is built in this workspace and I want changes. Work like this:

1. Before touching code, write my request as a short checklist and show it to me — confirm
   scope before editing. The design rules live in the manifest and design DNA: dark canvas,
   ONE violet accent family, Space Grotesk/Inter, pulse-ring motif, generous dark spacing.
   If my request breaks a rule, say so and offer the in-system alternative instead of
   silently breaking it.
2. Make the changes, smallest possible diff. Never delete files or sections unless I asked.
3. Re-verify after every batch: responsive at 375/768/1440, fonts and images load, the FAQ
   accordion still works with the keyboard, no placeholder text, honest states kept (no fake
   signup endpoints).
4. Show me the preview URL and the ticked checklist. Wait for my next request — or point me
   at `publish-prompt.md` when I say I'm done.

My changes: {{CHANGES}}
Publish it One prompt to deploy your finished site to your own Cloudflare.

View raw (publish-prompt.md) · placeholders in [BRACKETS] are yours

<!-- ByJTT prompt kit: signal v1.0 · publish-prompt.md · kit version 1 · 2026-09-04.
     Use when the build is done and I want it live. -->

# Publish the Signal build (one prompt)

You are publishing my finished static website. Be honest about what publishing means:
this template is static-only. If I've asked you to add a backend (database, logins, server
code), STOP now and tell me in one line that publishing needs a different plan — do not
deploy something that won't work.

## Safety rails
- Before touching anything: put the project under git (`git init` if needed) and commit the
  current state. Publishing must never destroy my only copy.
- The sign-in step is MINE, not yours: when login is needed, tell me to run the login
  command in a browser and WAIT for me to confirm. Never ask me to paste passwords, tokens,
  or cookies to you.
- Never deploy from a folder with missing files; run the checks below first.

## Steps (Cloudflare Pages — free tier works)
1. Preflight: confirm `site/index.html` exists, all internal links resolve, fonts load, and
   no secret-looking strings exist. Tell me the result in one line.
2. Check Node is installed (`node --version`, 18+). If not, tell me to install it and wait.
3. Tell me to run: `npx wrangler login` — a browser tab opens; I approve it; wait for me.
4. Deploy: `npx wrangler pages deploy . --project-name <a-name-I-choose>` from the site
   folder. Report the exact live URL it prints.
5. Optional with a domain: add it in the Cloudflare dashboard (Pages project → Custom
   domains) — the dashboard steps are mine; you verify afterwards with a curl check.

## Not using Cloudflare?
Say the word and use the fallback: GitHub Pages (push the site folder to a `gh-pages`
branch and enable Pages in the repo settings) or Netlify Drop (drag the folder at
app.netlify.com/drop). Same honesty rules.

## After it's live
- Confirm the URL loads (curl status 200) and tell me it's public.
- Remind me to keep the license footer line (ByJTT Free Template License: personal,
  non-commercial; commercial use needs the paid license — see the marketplace licensing page).

Notes for AI agents

  • Best for: AI/SaaS product landing pages that need pricing and FAQ on one dark page
  • Best for: developer-tool launches with a technical audience
  • Avoid if: warm or photography-led brands
  • Avoid if: multi-page sites with blog content

Deep contract: manifests/signal.json — files, assets, design DNA, license, changelog. Machine catalog: catalog.json.