← Về thư mục
📄 / / root / .hermes / profiles / glv-director / skills / creative / popular-web-designs / templates / posthog.md

Design System: PostHog

Hermes Agent — Implementation Notes

The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes: - Primary: Inter | Mono: JetBrains Mono - Font stack (CSS): font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; - Mono stack (CSS): font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; html <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> Use write_file to create HTML, serve via generative-widgets skill (cloudflared tunnel). Verify visual accuracy with browser_vision after generating.

1. Visual Theme & Atmosphere

PostHog's website feels like a startup's internal wiki that escaped into the wild — warm, irreverent, and deliberately anti-corporate. The background isn't the expected crisp white or dark void of developer tools; it's a warm, sage-tinted cream (#fdfdf8) that gives every surface a handmade, paper-like quality. Colors lean into earthy olive greens and muted sage rather than the conventional blues and purples of the SaaS world. It's as if someone designed a developer analytics platform inside a cozy garden shed.

The personality is the star: hand-drawn hedgehog illustrations, quirky action figures, and playful imagery replace the stock photography and abstract gradients typical of B2B SaaS. IBM Plex Sans Variable serves as the typographic foundation — a font with genuine technical credibility (created by IBM, widely used in developer contexts) deployed here with bold weights (700, 800) on headings and generous line-heights on body text. The typography says "we're serious engineers" while everything around it says "but we don't take ourselves too seriously."

The interaction design carries the same spirit: hover states flash PostHog Orange (#F54E00) text — a hidden brand color that doesn't appear at rest but surprises on interaction. Dark near-black buttons (#1e1f23) use opacity reduction on hover rather than color shifts, and active states scale slightly. The border system uses sage-tinted grays (#bfc1b7) that harmonize with the olive text palette. Built on Tailwind CSS with Radix UI and shadcn/ui primitives, the technical foundation is modern and component-driven, but the visual output is stubbornly unique.

Key Characteristics: - Warm sage/olive color palette instead of conventional blues — earthy and approachable - IBM Plex Sans Variable font at bold weights (700/800) for headings with generous 1.50+ line-heights - Hidden brand orange (#F54E00) that only appears on hover interactions — a delightful surprise - Hand-drawn hedgehog illustrations and playful imagery — deliberately anti-corporate - Sage-tinted borders (#bfc1b7) and backgrounds (#eeefe9) creating a unified warm-green system - Dark near-black CTAs (#1e1f23) with opacity-based hover states - Content-heavy editorial layout — the site reads like a magazine, not a typical landing page - Tailwind CSS + Radix UI + shadcn/ui component architecture

2. Color Palette & Roles

Primary

Secondary & Accent

Surface & Background

Neutrals & Text

Semantic & Accent

Gradient System

3. Typography Rules

Font Family

Hierarchy

Role Font Size Weight Line Height Letter Spacing Notes
Display Hero IBM Plex Sans Variable 30px 800 1.20 -0.75px Extra-bold, tight, maximum impact
Section Heading IBM Plex Sans Variable 36px 700 1.50 0px Large but generous line-height
Feature Heading IBM Plex Sans Variable 24px 700 1.33 0px Feature section titles
Card Heading IBM Plex Sans Variable 21.4px 700 1.40 -0.54px Slightly unusual size (scaled)
Sub-heading IBM Plex Sans Variable 20px 700 1.40 -0.5px Content sub-sections
Sub-heading Uppercase IBM Plex Sans Variable 20px 700 1.40 0px Uppercase transform for labels
Body Emphasis IBM Plex Sans Variable 19.3px 600 1.56 -0.48px Semi-bold callout text
Label Uppercase IBM Plex Sans Variable 18px 700 1.50 0px Uppercase category labels
Body Semi IBM Plex Sans Variable 18px 600 1.56 0px Semi-bold body text
Body IBM Plex Sans Variable 16px 400 1.50 0px Standard reading text
Body Medium IBM Plex Sans Variable 16px 500 1.50 0px Medium-weight body
Body Relaxed IBM Plex Sans Variable 15px 400 1.71 0px Relaxed line-height for long reads
Nav / UI IBM Plex Sans Variable 15px 600 1.50 0px Navigation and UI labels
Caption IBM Plex Sans Variable 14px 400–700 1.43 0px Small text, various weights
Small Label IBM Plex Sans Variable 13px 500–700 1.00–1.50 0px Tags, badges, micro labels
Micro IBM Plex Sans Variable 12px 400–700 1.33 0px Smallest text, some uppercase
Code Source Code Pro 14px 500 1.43 0px Code snippets and terminal

Principles

4. Component Stylings

Buttons

Cards & Containers

Inputs & Forms

Image Treatment

AI Chat Widget

5. Layout Principles

Spacing System

Grid & Container

Whitespace Philosophy

Border Radius Scale

6. Depth & Elevation

Level Treatment Use
Level 0 (Flat) No shadow, warm parchment background Page canvas, most surfaces
Level 1 (Border) 1px solid #bfc1b7 (Sage Border) Card containment, input borders, section dividers
Level 2 (Compound Border) Multiple 1px borders on different sides Input groupings, toolbar elements
Level 3 (Deep Shadow) 0px 25px 50px -12px rgba(0, 0, 0, 0.25) Modals, floating elements, mega-menu dropdowns

Shadow Philosophy

PostHog's elevation system is remarkably minimal — only one shadow definition exists in the entire system. Depth is communicated through: - Border containment: Sage-tinted borders (#bfc1b7) at 1px create gentle warm separation - Surface color shifts: Moving from #fdfdf8 to #eeefe9 to #e5e7e0 creates layered depth without shadows - The single shadow: The one defined shadow (0 25px 50px -12px) is reserved for floating elements — modals, dropdowns, popovers. It's a deep, dramatic shadow that creates clear separation when needed

Decorative Depth

7. Do's and Don'ts

Do

Don't

8. Responsive Behavior

Breakpoints

Name Width Key Changes
Mobile Small <425px Single column, compact padding, stacked cards
Mobile 425px–640px Slight layout adjustments, larger touch targets
Tablet 640px–768px 2-column grids begin, nav partially visible
Tablet Large 768px–1024px Multi-column layouts, expanded navigation
Desktop 1024px–1280px Full layout, 3-column feature grids, expanded mega-menu
Large Desktop 1280px–1536px Max-width container, generous margins
Extra Large >1536px Centered container at max-width

Touch Targets

Collapsing Strategy

Image Behavior

9. Agent Prompt Guide

Quick Color Reference

Example Component Prompts

Iteration Guide

When refining existing screens generated with this design system: 1. Verify the background is warm parchment (#fdfdf8) not pure white — the sage-cream warmth is essential 2. Check that all text uses the olive family (#4d4f46, #23251d) not pure black or neutral gray 3. Ensure hover states flash PostHog Orange (#F54E00) — if hovering feels bland, you're missing this 4. Confirm borders use sage-tinted gray (#bfc1b7) not neutral gray — warmth runs through every element 5. The overall tone should feel like a fun, scrappy startup wiki — never corporate-polished or sterile