Apply Forth AI brand guidelines when creating frontends. Use for UI components, pages, applications, and design systems. Enforces radical simplicity, polymorphic interfaces, and the Forth AI visual identity.
Forth AI is the AI-native enterprise. All interfaces must embody radical simplicity and joyful usability.
Before building, read these canonical documents:
| Document | Path | Contains |
|---|---|---|
| Design Doctrine | SSOT/Product/design-doctrine.md | UX philosophy, layout doctrine, interaction principles, governance rules |
| Brand Guide | SSOT/GTM/brand-guide.md | Visual identity, colors, typography, components, messaging |
| Product Vision | SSOT/Product/vision.md | What we're building and why |
Google Search simplicity × ChatGPT polymorphism × Enterprise predictability.
One universal input box handles:
Rule: If a user needs a different page to perform a fundamentally similar task, the design has failed.
| Metric | Target |
|---|---|
| Perceived latency | <500ms |
| First token | <600ms |
| Response style | Always streaming |
| Loading states | Skeletal placeholders, never spinners |
/* Backgrounds */
--bg-primary: #0a0a0c;
--bg-secondary: #111114;
--bg-tertiary: #18181c;
--bg-elevated: #1f1f24;
/* Text */
--text-primary: #fafafa;
--text-secondary: #a1a1aa;
--text-muted: #71717a;
/* Accent — Amber */
--accent: #f59e0b;
--accent-soft: rgba(245, 158, 11, 0.15);
/* Semantic */
--success: #22c55e;
--warning: #eab308;
--danger: #ef4444;
/* Borders */
--border-subtle: rgba(255, 255, 255, 0.06);
--border-default: rgba(255, 255, 255, 0.1);
| Use | Font |
|---|---|
| Headlines, brand | Clash Display |
| Body, UI | General Sans |
| Code, technical | Geist Mono |
backdrop-filter: blur(12px) with subtle white overlayThe centerpiece. Identical across all modules.
<input
className="w-full px-4 py-3 rounded-xl text-sm outline-none"
style={{
background: 'var(--bg-elevated)',
border: '1px solid var(--border-default)',
color: 'var(--text-primary)',
}}
placeholder="Ask anything..."
/>
<div
className="rounded-xl p-4"
style={{
background: 'var(--bg-elevated)',
border: '1px solid var(--border-subtle)',
}}
>
<h3 style={{ fontFamily: "'Clash Display', sans-serif" }}>Title</h3>
<p style={{ color: 'var(--text-secondary)' }}>Description</p>
<div className="flex gap-2 mt-4">
<Button>Edit</Button>
<Button>Automate</Button>
<Button>Run</Button>
</div>
</div>
.status-draft { background: rgba(113, 113, 122, 0.2); color: #a1a1aa; }
.status-sent { background: rgba(59, 130, 246, 0.2); color: #60a5fa; }
.status-paid { background: rgba(34, 197, 94, 0.2); color: #4ade80; }
.status-overdue { background: rgba(239, 68, 68, 0.2); color: #f87171; }
Before shipping any interface:
A feeling of effortless capability — a system that "just works" for any task without overwhelming the user.