01 / Manifesto

We build sites that studios charge 10-50k € for — without the studio.

Default Claude Code is a staggering tool. Then you ask it for a landing page and it ships the same shadcn template every time — centered hero, rounded pill button, Inter at 48px, a soft grey gradient, three feature cards. Competent. Forgettable. The visual equivalent of a "Hello, world." You didn't hire a senior engineer to ship a template.

Halftone is the opposite default. A plugin that refuses to let a model reach for the easy answer. It enforces editorial typography, asymmetric layouts, and motion that means something. It bans seven fonts. It bans purple gradients. It bans centered hero stacks. Not as suggestions — as hard rules, re-read on every single file write.

The bar is Awwwards. The bar is Locomotive, Basement, Unseen, Active Theory. The bar is the site you screenshot on a Tuesday and can't stop thinking about on Friday. Everything else is noise. We'd rather ship one landing you'd show your designer than ten you'd show your tech lead.

No purple gradients. No Inter. No lorem ipsum. No apologies.
02 / The problem

What Claude Code ships by default — vs. what Halftone ships.

Before — shadcn-slop
After — Halftone

Same brief. Same 30 minutes. Night and day.

03 / How it works

Six steps. Zero AI-slop.

01

Brief

Three questions. Hard cap. No "describe your vision," no twenty-field form. You answer in a minute, or you answer nothing.

02

Directions

Three art directions dispatched in parallel. You pick one, or you get three new ones. Never a single opinion pretending to be the answer.

03

Moodboard

Six images per direction from img-pilot, or curated SVG fallbacks when generation isn't configured. A moodboard always ships, even offline.

04

Lock

direction.md committed. Palette, fonts, mood, format, slots — frozen. Now, and only now, code starts. No ambiguity smuggled into a build step.

05

Scaffold

Slot-based composition. SvelteKit or Astro. Hero, primary-motion, cursor, footer, transitions — each a slot you can swap without rewriting the shell.

06

Code

Motion. Typography. Audit. The anti-slop rules are re-read on every file write — no model can quietly drift toward Inter at 3am.

04 / The rules

Hardcoded. Non-negotiable.

↑ Seven fonts you will never ship.

Ten fonts, carefully chosen.

  • 01Fraunces
  • 02PP Editorial New
  • 03Migra
  • 04Space Grotesk
  • 05PP Neue Montreal
  • 06JetBrains Mono
  • 07IBM Plex Mono
  • 08Söhne
  • 09Newsreader
  • 10Instrument Serif

Seven moods. Hover to see palette.

  • Editorial Warm #0F0E0C · #D4622A
  • Swiss Minimal #FAFAF7 · #1A1A1A
  • Black Tie #020204 · #C9A95C
  • Organic Studio #111A12 · #8BA888
  • Midnight Edition #0A0B14 · #5A6BA3
  • Terracotta Print #F4EEE4 · #A8744A
  • Cold Lab #0C0F0D · #5CD0B4
05 / Outputs

Six templates. Seven moods. Forty-two possibilities.

01 / Format

Studio Landing

Single-page editorial for agencies and independent studios. Giant type hero, project grid, contact block. The default for "I do work, look at it."

heroprimary-motioncursor?footer
SvelteKitAstro
02 / Format

SaaS Premium

Product landing that doesn't look like every other product landing. Asymmetric hero, scroll-driven feature reveal, pricing without apology.

herofeaturespricingtransition?footer
SvelteKitAstro
03 / Format

Creative Portfolio

For designers, photographers, writers, directors. Heavy imagery, restraint-as-a-skill, typography doing all the work between the projects.

introworksaboutcursor?contact
SvelteKitAstro
Editorial Warm Swiss Minimal Black Tie Organic Studio Midnight Edition Terracotta Print Cold Lab
06 / Install

Three commands. One plugin. No shadcn.

01 / Add marketplace /plugin marketplace add Sakaax/halftone
02 / Install plugin /plugin install halftone@halftone
03 / Run /halftone