pencil.dev website design: fonts, colors and UI patterns

4 featured captures from pencil.dev, with sourced design evidence from Fudge.

How is pencil.dev designed? Show me the visual system I can use as a reference.

Captured pages

Overview

Pencil's design system presents a tool built for designers who code. The visual language balances creative warmth with engineering precision through a restrained palette, generous whitespace, and typographic contrast between a geometric sans-serif display face and a lighter, more open body face. The interface avoids decorative excess, letting product screenshots and UI demonstrations speak directly. Surfaces shift between warm off-white, subtle tinted backgrounds, and occasional high-saturation accent fields that signal interactivity or section breaks. Every interactive element uses full pill rounding, creating a friendly, approachable rhythm that softens the technical density of the product's feature set.

Colors

The color system operates on a principle of near-monochrome neutrality with selective warm and cool tints for spatial organization. Dark values carry all headline and primary content weight. Mid-gray handles body copy and secondary information. Surfaces remain light and warm, with occasional pastel fields marking distinct functional zones.

tokenvalueuse
ink#0A0A0APrimary headlines, display type, high-emphasis content
muted-ink#141414Secondary headings, icon strokes, active UI elements
body#666666Body copy, descriptions, footer links, captions
canvas#F5F5F5Default page background, feature card fills
surface#FFFFFFElevated cards, input backgrounds, button fills on tinted sections
surface-warm#FBF2FFWarm tinted section backgrounds, download page atmosphere
surface-blue#F2F8FFCool blue section backgrounds
surface-indigo#F2F5FFIndigo-tinted section backgrounds
border#000000Primary button outlines, input borders, structural dividers
border-subtle#EECCFFWarm section borders, card outlines on light backgrounds
border-blue#B1D6FFBlue-themed section borders
border-indigo#C2CDFFIndigo-themed section borders
accent-orange#FFD900Primary action buttons, brand highlights, warm emphasis
accent-teal#2A4F78Cool accent for status indicators, secondary brand moments
accent-purple#674578Purple accent for variant status or category markers
accent-slate#3B4678Slate accent for additional variant differentiation

The system uses background tinting as a primary navigation cue. Sections flow from warm to cool tints, with borders matching the tint family to create cohesive zones without heavy shadow or elevation changes. The near-black ink against warm off-white creates a Scandinavian clarity that keeps focus on product imagery and interface demonstrations.

Typography

Two families create the typographic hierarchy. Dm Sans 9 Pt carries all display and heading weight with a tight, geometric confidence. Rubik Light provides body copy with open apertures and generous spacing that aids readability at smaller sizes. The contrast between the two—heavy and tight versus light and open—establishes clear information hierarchy without size alone doing all the work.

tokenfamilysizeweightleadingtrackinguse
hero-displayDm Sans 9 Pt7rem6001.05-0.02emHomepage hero headlines, maximum impact statements
section-displayDm Sans 9 Pt5rem6001.1-0.028emSection headlines, feature introductions
feature-headingDm Sans 9 Pt1.5rem6001.5normalFeature card titles, sub-section headers
card-headingDm Sans 9 Pt1.25rem6001.5-0.056emDownload card titles, compact headings
bodyRubik1rem4001.5normalDefault body copy, navigation, footer links
body-largeRubik1.25rem4001.4normalLead paragraphs, feature descriptions
labelRubik0.875rem4001.5normalButtons, badges, status indicators
legalRubik0.875rem4001.5normalCopyright, terms links, fine print

Dm Sans 9 Pt uses negative tracking at display sizes to maintain visual density and prevent headline looseness. Rubik Light remains neutral in tracking across all sizes. The 100px display size seen in some hero contexts scales to 6.25rem, maintaining the same tight leading and tracking relationship. Verify licensing for these families before production use. Rubik is designed by Hubert And Fischer and available through Google Fonts.

Layout

The layout system relies on generous horizontal gutters and substantial vertical section spacing to create breathing room around dense product content. Content sits within a centered container that respects consistent side margins across all breakpoints shown.

Horizontal rhythm uses 40px gutters as the standard page inset, creating a comfortable margin that keeps content from feeling cramped against viewport edges. Internal card padding varies by context: 24px for compact information density, 40px for standard cards, and 64px or 80px for major section containers that need to feel expansive.

Vertical spacing follows a section-based model. Standard sections receive 64px vertical padding. Major hero or feature sections expand to 80px or 120px to create dramatic pause. Between major content blocks, 105px to 120px bottom margins establish clear territorial separation without visible divider lines.

The grid system visible in feature sections uses equal-width columns with 1px hairline borders between cells, creating subtle separation without additional spacing overhead. This approach works particularly well for the three-column feature grid where icons, headings, and descriptions align vertically across columns.

Cards and containers use 40px corner rounding as a signature shape language. This substantial radius appears on download cards, feature containers, and section backgrounds. The rounding is large enough to feel intentional and friendly, yet restrained enough to maintain professional credibility for a developer tool.

Visual language

The visual identity centers on precision and openness. Line-art icons in circular containers communicate technical concepts with minimal weight. The icon style uses single-weight strokes, geometric simplification, and no fill—matching the system's overall restraint.

Photography and screenshots appear without heavy framing, often bleeding to container edges or sitting on subtle tinted backgrounds that separate them from page canvas. The product UI demonstrations show actual interface states: form inputs, dropdown menus, data tables, and navigation patterns. This transparency reinforces the "no black box" messaging.

Motion and interaction are implied through the pill-shaped buttons and inputs. Every interactive surface uses full rounding, creating a consistent tactile expectation. The orange accent appears sparingly, reserved for primary actions and brand moments, preventing fatigue in a tool meant for extended use.

The feature grid demonstrates the system's approach to information architecture: icon at top, bold heading, then muted description. This three-part vertical stack repeats across contexts, training users to scan efficiently. Borders between grid cells are 1px solid lines in colors matching the section's tint family.

Components

### Primary action button - Anatomy: Text label centered within a fully rounded container - Surface: Background fills with accent-orange (#FFD900), text in ink (#0A0A0A) - Typography: label token, Rubik at 0.875rem - Shape: 9999px border radius creating a complete pill - Spacing: 0px 24px horizontal padding, implicit vertical centering - Composition: Appears standalone or in card footers, always left-aligned within its container

### Secondary action button - Anatomy: Text label within outlined pill - Surface: Transparent or white fill, 1px solid border in border color (#000000) - Typography: label token - Shape: 9999px border radius - Spacing: 0px 24px horizontal padding - Variants: Download buttons on the downloads page use this treatment

### Destructive action button - Anatomy: Text label in filled pill with warning color - Surface: Red fill (#FF0000), white text - Typography: label token - Shape: 9999px border radius - Use: Critical irreversible actions, shown in component documentation

### Feature card - Anatomy: Circular icon container, heading, description paragraph - Surface: Canvas background (#F5F5F5) or transparent within larger rounded container - Typography: feature-heading for title, body for description - Shape: Parent container uses 40px radius; icon containers are circular with 1px borders - Spacing: Comfortable internal padding, generous gap between icon and text - Composition: Three cards in equal columns with 1px vertical dividers

### Download card - Anatomy: OS icon and name header, two-column content area with platform variants - Surface: White fill, subtle warm border - Typography: card-heading for platform names, body for descriptions - Shape: 40px border radius - Spacing: 40px padding, internal sections separated by light rules - Composition: Full-width within content column, stacked vertically by OS

### Form input - Anatomy: Label text above, rounded text field below - Surface: White fill, 1px border - Typography: body for input text, label for field labels - Shape: 9999px border radius for the input field - Spacing: 16px vertical gap between label and input, comfortable internal padding

### Status badge - Anatomy: Text label in compact pill - Surface: Transparent with colored border matching status type - Typography: label token - Shape: 9999px border radius - Spacing: 2px 12px padding - Variants: Teal border for "New", warm border for "On hold", purple variants for other states

### Section container - Anatomy: Full-width background with internal content grid - Surface: Tinted backgrounds (warm, blue, indigo, or canvas) - Spacing: 64px to 120px vertical padding, 40px horizontal gutters - Composition: Centered content with maximum width constraint, often containing stacked text blocks or feature grids

Responsive behavior

The system shows a desktop-first approach with generous fixed spacing values. Content containers maintain 40px side gutters across contexts. At narrower viewports, the three-column feature grid should collapse to a single column with maintained vertical rhythm. The large display type scales down proportionally: 112px hero becomes 80px or 60px at intermediate breakpoints, maintaining the tight leading relationship.

Download cards with two-column internal layouts should stack vertically on smaller screens, preserving the platform selection logic. Pill buttons maintain their shape but may receive reduced horizontal padding to prevent overflow with longer labels.

The circular icon containers in feature cards scale down with the grid but maintain their stroke weight and proportional relationship to heading text. Hairline borders between grid cells should disappear in single-column layout, replaced by vertical spacing.

Practical implementation guidance

### Preserve - The strict two-family typographic hierarchy: Dm Sans 9 Pt for all headings and display, Rubik for all body and interface text - Full pill rounding on every interactive element without exception - The 40px container radius as a signature shape for cards and sections - Generous vertical section spacing that lets content breathe - The near-black ink against warm off-white as the default reading experience - 1px hairline borders in tint-matching colors for grid separation

### Avoid - Introducing additional border radius values between pill and 40px container - Using the orange accent for non-interactive elements or backgrounds - Mixing body text weights—Rubik Light carries all body copy - Adding drop shadows to cards or containers; rely on spacing and tint for elevation - Reducing the display type tracking; the tightness is intentional

### Recommended build order 1. Establish the typographic foundation with both families loaded and base sizes set 2. Implement the color tokens, particularly ink, body, canvas, and surface 3. Build the pill button system with primary, secondary, and destructive variants 4. Create the section container with standard padding and tint options 5. Implement the feature card pattern with circular icon containers 6. Add the download card with its two-column internal layout 7. Polish with status badges, form inputs, and footer patterns

### Accessibility - Ensure the 3:1 contrast ratio between body text (#666666) and canvas backgrounds meets WCAG AA for large text; consider darkening body text if small sizes are needed - The ink (#0A0A0A) on surface (#FFFFFF) exceeds 7:1 contrast for all text sizes - Pill buttons should maintain visible focus indicators; the current design relies on shape consistency but may need additional focus states - Form inputs need clear focus borders distinct from the default state - Icon-only containers require aria-labels or adjacent text equivalents

Scope note

This guide covers the marketing homepage and downloads page surfaces visible in the supplied images. Component documentation, pricing, documentation, and authenticated application interfaces are not represented. Mobile breakpoint behavior, loading states, form validation feedback, and motion design are not covered and should be validated against live implementation.

More website design guides

Browse website design guides by pattern and website.