Skip to content

Anytype Design System

Anytype's marketing system pairs Inter at weight 300 with the display serif Riccionets for a literary-editorial hero on a white-to-pastel gradient canvas. Tokens for React, Next.js, and AI coding tools.

Add shadcn.io to your AI agent. · Pro It installs blocks, icons and templates in your design system from a prompt, with Pro.

Set up MCP
Primary
#808080
Typeface
inter
Shape
Mixed
Base radius
16px
Colors
14
Type tokens
12
Components
14
Spacing values
8

About

About Anytype DESIGN.md

Curated by Dov Azencot · Updated May 19, 2026 · Source anytype.io (opens in a new tab)

Anytype's hero does something typographically uncommon for a productivity SaaS: it splits a single headline between two typefaces mid-sentence. "A safe haven" renders in Inter at weight 300 — quiet, almost whispery — and then "for digital collaboration" drops to a second line in Riccionets, a display serif with bracketed serifs and editorial proportions, at 96px. The effect reads like a magazine cover that was interrupted by a product launch. No other element on the page uses Riccionets. It exists solely for that one emotional statement, then vanishes.

The color story is equally restrained. Where Notion uses cobalt blue for CTAs and linear uses violet for every interactive surface, Anytype keeps the entire chrome in jet black and white. The only chromatic signal is a mint-teal (#3cd9b3) accent used four times as text — once in a testimonial quote mark, once in a small label — and a pastel gradient that bleeds across the lower half of the hero area, mixing warm cream (#ffedbe), mint (#cdffea), sky blue (#b9eeff), and lavender (#e7d4ff). These gradient stops appear only as background fills; they never reach the text layer. Button-primary on this system is black ink on white canvas with a hairline border — the same disciplined move Arc uses, where the product's sophistication is trusted to carry the brand.

The pixel-art illustration in the hero is the third signal worth noting: a 1-bit black-and-white set of workspace objects (desktop monitor, calendar showing "31," folder stack, smiley-face terminal, document cards) rendered in the style of early Macintosh system icons. The choice signals handcraft and historical computing nostalgia — the opposite of the glass-morphism gradients most productivity apps use. Paired with the literary serif and the data-sovereignty copy, it positions Anytype not as a Notion competitor but as a philosophical counterweight to cloud-first tools.

What makes it distinct

5

  1. Serif-sans headline splitthe hero breaks mid-phrase from Inter weight 300 to Riccionets at 96px, giving the emotional line a display-serif voice distinct from the data-privacy prose beneath
  2. No chromatic primarythe palette is structural neutral; button-primary uses ink on canvas with a hairline border, the same pattern Patagonia and Arc use when brand restraint is the identity
  3. Pastel gradient canvasa cream-to-mint-to-lavender gradient bleeds across the lower half of the above-fold area, the only chromatic move in the marketing system
  4. Pixel-art illustration stylethe hero illustration uses 1-bit black-and-white pixel art (desktop, calendar, folder, smiley face), contrasting the soft gradient behind it
  5. Uppercase tracking label14px Inter at 1px letter-spacing in uppercase doubles as section navigation (WHAT / WHY / WHO pill row) and category labels

anytype.io

Live at anytype.io

A snapshot of the brand in production. Scroll the frame to see the whole page.

Anytype's website at anytype.io

Colors

14 colors

Anytype's system anchors on #808080 (ink-subtle) as its primary color. Type is set in inter across 12 tokens from 14px to 96px, weights 300–500. Shape language is mixed across 14 components, blending pills, soft rounds, and squarer corners.

Surface

Page and card backgrounds · 2

Text

Headlines, body, captions · 4

Borders & Hairlines

Dividers, outlines, rules · 1

Other

Specialty colors · 7

Typography

12 type tokens

Set in inter across 12 tokens, from 14px to 96px, weights 300–500. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xl96px · weight 400 · lh 90px · tracking -2.4pxThe quick brown fox jumps over the lazy dog
  • display-lg88px · weight 400 · lh 76px · tracking -2.4pxThe quick brown fox jumps over the lazy dog
  • display-md88px · weight 300 · lh 90px · tracking -5.2pxThe quick brown fox jumps over the lazy dog
  • heading-lg48px · weight 500 · lh 48px · tracking -2.4pxThe quick brown fox jumps over the lazy dog
  • heading-md36px · weight 500 · lh 40px · tracking -1.6pxThe quick brown fox jumps over the lazy dog
  • heading-sm28px · weight 500 · lh 32px · tracking -0.64pxThe quick brown fox jumps over the lazy dog
  • subheading22px · weight 500 · lh 28px · tracking -0.48pxThe quick brown fox jumps over the lazy dog
  • body-lg18px · weight 300 · lh 26px · tracking -0.28pxThe quick brown fox jumps over the lazy dog
  • body-md16px · weight 400 · lh 24px · tracking -0.2pxThe quick brown fox jumps over the lazy dog
  • body-sm14px · weight 400 · lh 20px · tracking -0.12pxThe quick brown fox jumps over the lazy dog
  • label-caps14px · weight 400 · lh 20px · tracking 1pxThe quick brown fox jumps over the lazy dog
  • button-md16px · weight 500 · lh 24px · tracking -0.2pxThe quick brown fox jumps over the lazy dog

Layout

Radii and spacing

3 corner radii and 8 spacing values. Shape language: mixed.

Radii

  • none0px
  • md16px
  • pill9999px

Spacing

  • xs4px
  • sm14px
  • md16px
  • base22px
  • lg24px
  • xl32px
  • 2xl44px
  • 3xl80px

Components

14 components

Each rendered from its tokens (color, type, radius, padding) on Anytype's own canvas.

  • Button Primary
    button-primaryButton Primary
  • Button Secondary
    button-secondaryButton Secondary
  • Top Nav
    top-navTop Nav
  • Nav Link
    nav-linkNav Link
  • Hero Heading
    hero-headingHero Heading
  • Hero Heading Serif
    hero-heading-serifHero Heading Serif
  • Body Paragraph
    body-paragraphBody Paragraph
  • Body Paragraph Dark
    body-paragraph-darkBody Paragraph Dark
  • Section Heading
    section-headingSection Heading
  • Card
    cardCard
  • Feature Label
    feature-labelFeature Label
  • Nav Pill
    nav-pillNav Pill
  • Type here…
    text-inputText Input
  • Footer
    footerFooter

In use

The system, in use

Anytype's tokens on the kind of product it builds.

Build something people actually use.

A short paragraph of marketing copy that previews how the brand's display tier and body tier read together. Two sentences is usually enough.

Get startedLearn more
Marketing heroHeadline, sub-copy, primary CTA — the universal homepage opener.
Active users12,489+8.4%
Revenue$84.2k+12.1%
Sessions32,118+3.2%
Errors47−18%
Dashboard4-tile analytics grid — the dev-tools / SaaS-platform archetype.

FAQ

Anytype design system FAQ

Common questions about Anytype's tokens, components, and how to use this DESIGN.md in your project.

Read next

Specs, directories, and component libraries that pair with this design system.

Use it

Use Anytype in your project

One machine-readable file. Drop it into Claude, Cursor, or any AI tool that reads DESIGN.md.

Download DESIGN.md
  1. Download the DESIGN.md

    One machine-readable file: every color, type, radius, spacing, and component token of Anytype.

  2. Feed it to your AI tool

    Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Anytype's visual language.

  3. Reference the tokens directly

    Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.

Read the full DESIGN.md: overview, rationale, do’s and don’ts

Overview

Anytype's hero does something rare among productivity tools: it commits to typographic voice as the primary brand signal. Serif-sans editorial split. The headline breaks mid-sentence between Inter at weight 300 and Riccionets — a display serif with bracketed letterforms — giving the second half of the phrase a literary presence that no competing workspace tool (Notion, Coda, Craft, Obsidian) attempts. The rest of the system is almost aggressively quiet: black, white, and a pastel gradient.

This quietness is the argument. Where Notion uses cobalt-blue CTAs and Linear uses violet-graphite as a surface layer, Anytype offers no chromatic brand signal at all. Button-primary is ink on white canvas with a hairline border, the same move Arc and Patagonia make when they want the product to speak before the brand does.

Key Characteristics:

  • Serif-sans headline split: Inter weight 300 for the first clause, Riccionets at 96px for the emotional second clause — Riccionets appears nowhere else on the page.
  • Zero chromatic brand primary: no color with brand-layer status and usage above 5; the closest accent is mint-teal (#3cd9b3) at 5 total occurrences.
  • Pastel gradient backdrop: warm cream, rose, mint, sky blue, and lavender gradient fills bleed across the lower hero, never touching the text layer.
  • 1-bit pixel-art illustration: black-and-white Macintosh-era workspace icons (desktop, calendar, folder) contrast the soft gradient and position Anytype against cloud-first tools visually.
  • Uppercase tracking labels at 1px letter-spacing serve as section navigation pills (WHAT / WHY / WHO) — the system's only typographic uppercase treatment.
  • Pill rounding dominates: the nav pills and CTA buttons use full-pill radius; feature grid cards have zero rounding.
  • Weight 300 body copy: lighter than any competing workspace brand; signals deliberateness over density.

Colors

Structural

  • Ink ({colors.ink} — #000000): frequency 169. Used as text (88), bg (7), border (74). The dominant canvas color and the only text tone above the fold — pure black against a white surface, unmodulated by alpha.
  • Canvas ({colors.canvas} — #ffffff): frequency 306. Used as text (162), bg (4), border (139). The page floor; also used for text on dark surfaces and as the headline background.
  • Ink-muted ({colors.ink-muted} — #5b5b5b): frequency 33. Used as border (33). Mid-gray for dividers and secondary borders.
  • Surface-1 ({colors.surface-1} — #3c3c3c): frequency 8. Used as bg (1), border (7). Dark surface for the nav pill (WHAT / WHY / WHO) — the system's only elevated surface.
  • Ink-subtle ({colors.ink-subtle} — #808080): frequency 10. Used as text (5), border (5). Tertiary label color.
  • Ink-faint ({colors.ink-faint} — #666666): frequency 4. Used as text (2), border (2). Quaternary subtle text.

Accent

  • Mint-teal ({colors.mint-teal} — #3cd9b3): frequency 5. Used as text (4), border (1). The only chromatic signal on the marketing surface. Appears in testimonial quote marks and a single inline label — a trace accent rather than a brand primary.

Gradient stops (hero background only)

  • Gradient-cream ({colors.gradient-cream} — #ffedbe): gradient fill only, frequency 1. Warm cream stop in the lower-hero gradient.
  • Gradient-rose ({colors.gradient-rose} — #ffbcc3): gradient fill only, frequency 1. Pale rose stop.
  • Gradient-mint ({colors.gradient-mint} — #cdffea): gradient fill only, frequency 1. Mint green stop.
  • Gradient-sky ({colors.gradient-sky} — #b9eeff): gradient fill only, frequency 1. Sky blue stop.
  • Gradient-lavender ({colors.gradient-lavender} — #e7d4ff): gradient fill only, frequency 1. Pale lavender stop.
  • Gradient-lime ({colors.gradient-lime} — #f1ffc9): gradient fill only, frequency 1. Chartreuse stop at the far end of the gradient.

Typography

Font Families

The system runs two families: Inter (wired as --font-primary: "inter", Helvetica, sans-serif) as the functional voice for every surface, and Riccionets (wired as --font-secondary: "riccionets", Helvetica, sans-serif) as the display serif reserved for the hero headline's emotional second clause.

Hierarchy

TokenSizeWeightLine HeightLetter-SpacingUse
{typography.display-xl}96px40090px-2.4pxRiccionets hero serif line
{typography.display-lg}88px40076px-2.4pxRiccionets alternate display
{typography.display-md}88px30090px-5.2pxInter super-display (ultra-light)
{typography.heading-lg}48px50048px-2.4pxSection h2
{typography.heading-md}36px50040px-1.6pxSub-section headings
{typography.heading-sm}28px50032px-0.64pxCard headings
{typography.subheading}22px50028px-0.48pxUI panel titles
{typography.body-lg}18px30026px-0.28pxHero body and testimonials
{typography.body-md}16px40024px-0.2pxDefault running text
{typography.body-sm}14px40020px-0.12pxNav links and secondary text
{typography.label-caps}14px40020px1pxUppercase section labels (WHAT / WHY / WHO)
{typography.button-md}16px50024px-0.2pxCTA button label

Principles

The heaviest weight anywhere on the page is 500 — used for headings and button labels. Body copy at weight 300 is intentionally lighter than most workspace brands, creating a reading texture closer to a newspaper opinion column than a SaaS feature grid. The -5.2px letter-spacing on the 80-88px Inter super-display tier is the most extreme tracking in the system — compress, then release at the Riccionets serif line above.

Note on Font Substitutes

Riccionets is a proprietary display serif. The closest open-source substitute with bracketed serifs and editorial proportions at 96px display scale is Playfair Display (weight 400) or Cormorant Garamond. For the Inter body, Inter is already open-source.

Layout

Spacing System

  • Base unit: 4px, with 16px as the dominant page module.
  • Tokens: {spacing.xs} 4px · {spacing.sm} 14px · {spacing.md} 16px · {spacing.base} 22px · {spacing.lg} 24px · {spacing.xl} 32px · {spacing.2xl} 44px · {spacing.3xl} 80px.
  • Section padding (vertical): ~80px between major sections.
  • Card internal padding: 40px top, 32px sides, 62px bottom — deliberate asymmetry that creates breathing room at the base of the feature cards.
  • Nav padding: 0px vertical, 16px horizontal — flush to the top edge.

Grid & Container

  • Max content width: ~1200px, with a two-column split above the fold (headline left, pixel-art illustration right).
  • Feature grid: 4-column row below the fold (Private & Secure / Offline & Online / Work & Play / video thumbnail), each divided by a full-height hairline border.
  • Hero: white canvas with the gradient bleeding in from the lower right; headline floats left-aligned with generous top padding.

Rhythm

The page alternates between the editorial headline area (white canvas, serif moment, large negative tracking) and the feature grid area (hairline dividers, functional sans, weight 500 labels). There is no gradient transition between zones — the hero area ends abruptly at the hairline border above the feature grid.

Elevation

The system uses essentially no shadow tier. Elevation is achieved through a single mechanism: the nav pill ({colors.surface-1} — dark charcoal #3c3c3c on white) creates the only tonal lift on the page. Feature cards use hairline borders rather than shadows or background fills to delineate edges.

  • Flat (no shadow): all body surfaces, hero, footer.
  • Tonal lift: {colors.surface-1} dark pill on {colors.canvas} white — used only for the section navigation (WHAT / WHY / WHO) row.
  • Hairline borders: feature grid cards use 1px black borders as dividers; there is no card background differentiation.

Shapes

The radius philosophy is binary:

  • {rounded.none} 0px — feature grid cards and structural dividers; the system's sharp moment.
  • {rounded.md} 16px — text inputs and form fields.
  • {rounded.pill} 9999px — CTA buttons and the WHAT / WHY / WHO nav pills.

There is no intermediate rounding tier. The contrast between sharp feature cards and fully-rounded CTAs is intentional — the product grid is functional, the call-to-action is human-scaled.

Components

button-primary — Ink-black {colors.ink} fill, white text, {rounded.pill} radius, 10x16 padding, 44px height. There is no chromatic primary to fill here; the CTA's authority comes from contrast and the pill shape, not color.

button-secondary — Transparent fill, black text, 1px black hairline border, {rounded.pill} radius. Used for "Log in" and secondary download CTAs.

top-nav — White canvas, black text, 0px vertical padding, 16px horizontal padding, 44px height. The Anytype wordmark sits flush left; "Download" and a hamburger icon sit flush right — no center-aligned nav links, which is unusual for a SaaS marketing site.

nav-link — Transparent, black text at {typography.body-sm}, 10x0 padding. The only nav links are the top-right "Download" text.

hero-heading — Black text on transparent, {typography.display-xl} (96px Riccionets). Zero horizontal padding; the serif headline sits flush left with no safe zone.

hero-heading-serif — The split-voice version: the first clause uses Inter weight 300 at matching scale, then the second clause drops to Riccionets. Both share the display-xl token scale.

body-paragraph — White text (for the testimonial dark card surface) at {typography.body-lg} (18px / weight 300). The below-fold testimonials invert to a black or near-black card.

body-paragraph-dark — Black text at {typography.body-md} for feature grid descriptions under each column heading.

section-heading — Black text, {typography.heading-lg} (48px / 500), used for section h2 labels like "Private & Secure" inside the feature columns.

card — White canvas fill, black text, zero radius, 1px black hairline border. Asymmetric padding: 40px top / 32px sides / 62px bottom. Used for the 4-column feature grid below the fold.

feature-label — Black text, {typography.body-sm} at weight 500. The bolded label above each feature description in the 4-column grid.

nav-pill — Dark charcoal {colors.surface-1} fill, white text at {typography.label-caps} (14px / uppercase / 1px tracking), {rounded.pill} radius. The WHAT / WHY / WHO section-navigation row.

text-input — White canvas fill, black text, {rounded.md} 16px radius, 1px black border, 16px padding. Used for any inline form fields.

footer — White canvas, ink-muted text at {typography.body-sm}, 52x20x48 padding (top / sides / bottom). Continuous with the page canvas — no surface lift.

Do's and Don'ts

Do use Riccionets (or an editorial serif substitute) exclusively for the headline's emotional clause. The rule is one voice per role — the functional product copy stays in Inter; only the brand statement gets the serif.

Do keep body weight at 300 for paragraph and testimonial copy. The lighter weight is load-bearing: it creates reading texture that separates Anytype from grid-heavy SaaS docs tools without requiring a second font.

Do use {rounded.pill} on all interactive surfaces (buttons, nav pills) and {rounded.none} on all content cards. The binary contrast between round-interactive and sharp-structural is the system's shape language.

Do limit mint-teal ({colors.mint-teal} — #3cd9b3) to trace use — at most 5 occurrences, as in the extraction. Expanding it to fill buttons or card borders would transform a trace accent into a brand primary, which is not what the system does.

Don't add a chromatic primary color to the button-primary component. The ink-on-white button with a hairline border is deliberate — introducing a color fill (cobalt, violet, teal) would signal that the brand color is doing the persuasion, which undercuts the data-sovereignty positioning.

Don't use gradient stops ({colors.gradient-cream} through {colors.gradient-lavender}) as text or border colors. They live exclusively in background fills. Applying them as text would destroy the ink-black / white contrast discipline the rest of the system depends on.

Don't apply the -5.2px letter-spacing from {typography.display-md} to any size below 80px. Extreme negative tracking at body size reads as broken text; it only resolves at large display scale where inter-letter distances remain legible.

Don't use uppercase {typography.label-caps} for body-length copy. The 1px positive tracking is calibrated for 3-6 character labels (WHAT / WHY / WHO); at paragraph length it reads as shouting.

Known Gaps

  • Primary CTA hover state: the ink-on-white button's hover behavior is not captured. Common practice would be an ink-muted fill or a border-only inverse, but the captured surface does not confirm either.
  • Dark surfaces: the testimonial section appears to use a dark or near-black card, but the extraction captures body text color as white — the card background value is not confirmed.
  • Gradient position and timing: the pastel gradient appears to fade in on scroll or be positioned absolutely in the lower-right of the hero; exact positioning, z-index, and any scroll parallax are not captured.
  • Mobile type scale: the extraction reflects desktop sizes. Riccionets at 96px would require significant downscaling on mobile; the responsive breakpoints are not represented here.
  • Riccionets character set: the extraction confirms the family name but not the weight range, style variants, or language coverage of the Riccionets typeface.
  • Form states: text-input error, focus, and disabled states are not captured from the marketing surface.
  • Animation: the hero pixel-art illustration and gradient may animate on load; the spec captures static end-state values only.

Productivity & SaaS

More systems like this

More DESIGN.md files in Productivity & SaaS.

Pricing

Build it with Pro

The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.

4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.

Billed once a year in USD. Cancel anytime.

Individual

For personal projects & open source

$32instead of $49/mo

$389 billed yearly

  • How many people can use the license.Seats: 1 seat
  • Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
  • Production-ready React sections: hero, pricing, features, dashboards and more.Pro blocks: 6,000+ blocks
  • Complete multi-page sites you can ship as they are.Templates: All 14 templates
  • React icons from every major library, installable with one command.React icons: 294k+ icons
  • Presets that restyle every block, in light and dark.Themes: All 59 themes
  • Lets your AI editor search, preview and install blocks for you.MCP server: Basic usage
  • Priority requests are answered first.Support: Standard

Team

Most popular

For freelancers, agencies & startups

$66instead of $99/mo

$789 billed yearly · ≈ $13/dev/mo

Everything in Individual, plus

  • How many people can use the license.Seats: Up to 5 seats
  • Client work, SaaS products and anything you charge for.Commercial use: Included
  • Lets your AI editor search, preview and install blocks for you.MCP server: High usage
  • Priority requests are answered first.Support: Priority

Organization

For companies with larger teams

$132instead of $199/mo

$1,589 billed yearly

Everything in Team, plus

  • How many people can use the license.Seats: Unlimited seats
  • Lets your AI editor search, preview and install blocks for you.MCP server: Unlimited usage
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

Your system, built for you

Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.

Get Pro