FTHTrading / sovereign-ui

SITE BUILD CRITERIA
& EVALUATION FRAMEWORK

The contract between vision and execution. Every site built under this system passes the same gates — or it doesn't ship.

10 Dimensions
150 Max Score
8 Sections
6 Step Process
Standard
Visual
Content
Technical
Scorecard
Process
Repo
Gates
01

THE STANDARD

🔗

THE 3-SECOND RULE

A visitor lands. In 3 seconds they absorb: what this is, why it matters to them, and what to do next.

TEST: If it takes longer than 3s, it fails.

ZERO-NOISE PRINCIPLE

Every element answers: "Does removing this hurt the user?" If no → remove it. If maybe → remove it. If yes → keep it, question its size.

TEST: No decorative elements. Nothing glows unless alive.

THE SOVEREIGN FEEL

The user walks into a command center, not a marketing site. Operational-dark. Bloomberg meets Apple meets spacecraft.

TEST: The interface IS the product story.
02

VISUAL CRITERIA

🔗

Typography

RuleStandard
HeadlineInter 700/800. No serifs. No display fonts.
BodyInter 400/500. 16px minimum. 1.6 line height.
MonoJetBrains Mono. Hashes, code, proofs, metrics only.
HierarchyMax 3 type sizes visible in any viewport section.
CaseSentence case or UPPERCASE. Never Title Case.
Line length65ch hard cap.

Color

RuleStandard
BackgroundNear-black. #030306 to #0a0a0f. Never pure #000.
TextOff-white. #e2e8f0 to #f8fafc. Never pure #fff.
AccentOne primary. Brand-specific. CTAs, active states, key data only.
SemanticGreen = live. Amber = warning. Red = danger. Blue = info. Fixed.
GradientsHero objects only. Accent → transparent. Never rainbow.

Layout

RuleStandard
Max width1280px. Centered. Always.
Section gap120px–160px between major sections.
Grid12-column. 8px base unit. Everything snaps.
CardsGlass. backdrop-filter: blur(20px). Subtle border. No heavy shadows.
Corners12px–16px. Pills on buttons only.

Motion

RuleStandard
PagesFade + Y-shift. 300ms. ease-out.
HoverLift -2px + glow. 200ms.
ScrollFade-up on intersection. Once. No replay.
HeroBreathing pulse. 2.4s. Opacity 0.6→1. Infinite.
LoadingSkeleton screens. Glass-tinted. Never spinners.
A11yFull prefers-reduced-motion. No motion = no motion.

Imagery

RuleStandard
PhotosReal only. Zero stock photography tolerance.
IllustrationsNone. The interface IS the visual.
IconsLucide or Phosphor. 20–24px. Stroke only. 1.5px.
3DOnly if it IS the product. Never decorative.
03

CONTENT CRITERIA

🔗

Copy standards

RuleStandard
HeadlineMax 8 words. States what this does or why it matters.
Sub-headlineMax 20 words. One sentence. Expands the headline.
BodyMax 3 sentences per section. Need more? New section.
CTA textVerb + noun. "Launch platform." "View proof."
Banned words"Leveraging," "innovative," "cutting-edge," "revolutionary."
VoiceDirect. Confident. Present tense. Active voice.

Page anatomy

NAV BAR Brand mark (left) — Links (center) — CTA (right)
HERO One visual + one headline + one CTA. The entire story in one viewport.
PROOF Live data. Not claims. Numbers. Hashes. States.
MODULES What can you DO here? 3–6 modules with icons + labels.
SIGNALS Key performance indicators. 3–4 metric cards max.
TRUST Certifications. Partners. Proof. DOI. Chain.
FOOTER Links. Legal. Brand mark. Nothing else.

Banned elements

Testimonial carousels
"Trusted by" logo walls
Competitor comparison tables
Newsletter signup popups
Oversized cookie banners
"As seen in" press logos
Animated count-up numbers
Parallax scroll effects
Desktop hamburger menus
Hero social media icons
"Schedule a demo" as primary CTA
04

TECHNICAL CRITERIA

🔗

Stack

LayerChoiceWhy
FrameworkNext.js 15 or Astro 5SSG + SSR. Fast. SEO-first.
StylingSovereign tokens (CSS vars)Our own system. No Tailwind.
AnimationFramer Motion / CSSDeclarative. Accessible.
IconsLucide ReactTree-shakeable. Consistent.
FontsSelf-hosted @font-faceNo Google CDN. GDPR-clean.
DeployVercel / CloudflareEdge. Global.
AnalyticsPlausible / UmamiPrivacy-first.

Performance budget

Lighthouse
98+
min 95
FCP
< 1.0s
max 1.5s
LCP
< 1.5s
max 2.5s
TBT
< 50ms
max 100ms
CLS
< 0.01
max 0.05
JS Bundle
< 80KB
gzipped
CSS
< 30KB
gzipped
Fonts
< 100KB
total

Code standards

StandardRule
ComponentsOne per file. Named exports.
Namingkebab-case files. PascalCase components. camelCase functions.
CSSBEM with sov- prefix. Token consumption only.
A11yARIA labels. role attributes. :focus-visible.
HTMLSemantic: <header>, <main>, <section>, <nav>. No div soup.
SEO<title>, meta, OG tags, JSON-LD on every page.
05

EVALUATION SCORECARD

🔗

Every site scores against 10 dimensions. Each is 0–10. Weighted total out of 150.

01

First Impression

3-second test. Instant clarity on what + why + action.

×2 WEIGHT
02

Visual Clarity

Every element purposeful. Zero noise.

×2 WEIGHT
03

Typography

Hierarchy, readability, scale, spacing.

×1 WEIGHT
04

Color & Contrast

Brand-aligned. Accessible. Semantic correct.

×1 WEIGHT
05

Layout & Spacing

Grid-aligned. Breathing room. Consistency.

×1 WEIGHT
06

Motion & Interaction

Purposeful animation. Hover + loading states.

×1 WEIGHT
07

Content Quality

Sharp copy. No buzzwords. Proof over claims.

×2 WEIGHT
08

Conversion Path

Clear CTA. One primary action. Frictionless.

×2 WEIGHT
09

Technical Quality

Performance, a11y, semantic HTML, SEO.

×1 WEIGHT
10

Sovereign Feel

Command center. Alive. Operational.

×2 WEIGHT
SOVEREIGN130–150
STRONG110–129
NEEDS WORK85–109
BELOW STD60–84
BURN IT< 60
06

THE PROCESS

🔗
1
YOU

Show me the site

URL, screenshots, code repo, Figma, content doc — any combination works.

2
ME

Audit against criteria

Score all 10 dimensions. Map content inventory. Flag what stays, what dies, what needs surgery.

3
ME

Generate the build prompt

Composable: MASTER + BRAND + DEVICE + LAYER + site-specific requirements. One prompt to build from.

4
YOU

Review & approve

Check the criteria mapping, adjust priorities, confirm brand selection and target audience.

5
YOU

Green light

Say go.

6
ME

Build it

Into FTHTrading/sovereign-ui. Every commit follows these criteria. Nothing ships without passing gates.

What I need from you (Step 1)

Live URL

I fetch and audit the current state against all criteria.

Screenshots

Visual design evaluation against scoring dimensions.

Code repo

GitHub link. I audit structure, performance, quality.

Figma / design

Compare design intent vs. sovereign criteria.

Brand identity

Which of the 5 skins? Maps to the correct voice.

Primary conversion

What should users DO? I optimize the CTA path.

07

REPO STRUCTURE

🔗
FTHTrading/sovereign-ui/ │ ├── public/ │ ├── fonts/ ← Self-hosted Inter + JetBrains Mono │ ├── icons/ ← Lucide SVG exports │ └── og/ ← Open Graph images per page │ ├── src/ │ ├── styles/ │ │ ├── tokens/ ← theme / motion / layout .tokens.css │ │ ├── brands/ ← *.skin.css │ │ ├── components/ ← components.css │ │ ├── devices/ ← responsive.css │ │ └── global.css ← Reset + token imports + base │ │ │ ├── components/ │ │ ├── hero-core/ ← HeroCore.tsx + module.css │ │ ├── bubble-nav/ │ │ ├── dock-panel/ │ │ ├── status-pill/ │ │ ├── proof-strip/ │ │ ├── signal-card/ │ │ ├── metric-card/ │ │ ├── command-cta/ │ │ ├── automation-rail/ │ │ ├── module-constellation/ │ │ ├── trust-strip/ │ │ └── nav-bar/ │ │ │ ├── layouts/ │ │ └── sovereign-layout.tsx │ │ │ ├── pages/ │ │ ├── index.tsx ← ATTRACT layer │ │ ├── platform/ ← ORIENT layer │ │ ├── launch/ ← ACT layer │ │ ├── dashboard/ ← MONITOR layer │ │ └── ecosystem/ ← EXPAND layer │ │ │ └── lib/ │ ├── brand-context.ts │ ├── motion.ts │ └── seo.ts │ ├── package.json ├── tsconfig.json └── next.config.ts
08

QUALITY GATES

🔗
PRE-COMMIT
  • ESLint clean — zero warnings
  • TypeScript strict — zero errors
  • All images have alt text
  • No hardcoded values — tokens only
  • prefers-reduced-motion tested
PRE-DEPLOY
  • Lighthouse ≥ 95 all four categories
  • LCP < 2.5s on 3G throttle
  • All pages: title, meta, OG image
  • Keyboard navigation end-to-end
  • Screen reader audit passed
  • Brand skin matches approved identity
  • 3-second test passed — 3 reviewers
POST-DEPLOY
  • All links return 200
  • DNS + SSL green
  • Privacy-first analytics active
  • Performance monitoring live
Link copied to clipboard