Skip to content

TickTick Design System

Ink-black text on white, cobalt #4772fa CTAs and headings, system-ui type and 30px card corners: TickTick's site as a DESIGN.md for React and AI tools.

Primary color
#4772fa
Typeface
system-ui
Shape
Soft
Base radius
20px
Colors
8
Type tokens
13
Components
14
Spacing values
9

About TickTick DESIGN.md

Curated by Dov Azencot, updated May 19, 2026. Source ticktick.com (opens in a new tab).

TickTick's marketing page reads as a mobile app store listing scaled to a desktop browser. The hero places a full product-screenshot of the app — three-panel layout showing the sidebar, task list, and detail pane — on a blue-to-teal gradient cloud, with the headline "Stay Organized, Stay Creative." in 52px weight 700 above. Below the fold, each feature section (To-Do List, Calendar Views, Pomodoro, Habit Tracker) uses the same format: a label in cobalt blue, a two-line heading in ink black, a paragraph, and a product screenshot on the alternate side. The rhythm is app-store feature rundown rather than SaaS marketing narrative. Where Todoist's marketing emphasizes task hierarchy with progressive disclosure screenshots, and where Things 3 leans on photography and white space, TickTick shows the interface densely and trusts the feature count to make the argument.

The DESIGN.md file packages the system into a machine-readable spec for React tooling. Inside: 8 colors tokens built on an ink-black base — the dominant text tone is #000000 (701 frequency) with near-black #191919 (252 frequency) for secondary text, and cobalt blue (#4772fa, 34 frequency) as the sole chromatic voltage; 13 typography tokens running the system-ui stack at weights 400 through 700 with the 52px / 700 display headline as the one heavy moment; 5 corner-radius tokens centered on a 30px default that defines every feature card; and 14 components definitions covering the pill CTA, the extreme-radius feature cards, and the section heading treatment that puts cobalt blue directly on the h2.

Feed this file to an AI coding tool and it reproduces TickTick's specific moves: ink-black text on a pure white canvas, cobalt blue used directly on section headings as well as on CTAs, 30px corner rounding as the default for every contained surface, and the system-ui stack for typography. The one principle worth examining is the heading-as-accent move: using the brand voltage as the color of an h2 label rather than reserving it for interactive elements alone creates a visual rhythm that ties the feature sections together without additional decorative chrome.

What makes it distinct

5 highlights

  1. Extreme card roundingEvery feature card uses 30px radius (frequency 44), the defining visual move that distinguishes TickTick from Todoist's flat-card and Linear's sharp-corner conventions
  2. Cobalt section headingsThe blue (#4772fa) appears not just on CTAs but directly as the color of h2 section headings, an unusual move that uses the brand voltage as typographic accent
  3. System-ui with no custom typefaceThe entire system runs the OS default font stack, betting that familiarity reads as utility rather than as brand deficit
  4. 52px hero at 1.04px trackingThe display headline uses positive letter-spacing, rare in the SaaS marketing convention of negative-tracking large headlines, giving it an expansive app-store feel
  5. Blue-to-teal gradient on the hero backdropThe app-screenshot hero sits on a blue (#4772fa) to cyan (#93dde5) gradient cloud, the only gradient moment in an otherwise flat system

Live at ticktick.com

TickTick in production, as captured. Scroll the window to see the whole page.

TickTick's website at ticktick.com

8 colors

TickTick's system runs on #4772fa as its primary voltage, used in 2 of 14 components. Type is set in system-ui across 13 tokens from 14px to 52px, weights 400–700. Shape language is soft — components average 353px corner radius, with no sharp interactive edges.

Brand & Accent

Sparing, CTA-only voltage · 2

Surface

Page and card backgrounds · 1

Text

Headlines, body, captions · 3

Other

Specialty colors · 2

13 type tokens

Set in system-ui across 13 tokens, from 14px to 52px, weights 400–700. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xl52px · weight 700 · lh 63px · tracking 1.04pxThe quick brown fox jumps over the lazy dog
  • display-md36px · weight 700 · lh 48px · tracking 0.72pxThe quick brown fox jumps over the lazy dog
  • heading-lg26px · weight 600 · lh 40pxThe quick brown fox jumps over the lazy dog
  • heading-md24px · weight 500 · lh 30pxThe quick brown fox jumps over the lazy dog
  • heading-sm20px · weight 500 · lh 24pxThe quick brown fox jumps over the lazy dog
  • body-lg18px · weight 400 · lh 28pxThe quick brown fox jumps over the lazy dog
  • body-md16px · weight 400 · lh 26pxThe quick brown fox jumps over the lazy dog
  • body-bold18px · weight 700 · lh 31pxThe quick brown fox jumps over the lazy dog
  • label-md16px · weight 500 · lh 22px · tracking 0.32pxThe quick brown fox jumps over the lazy dog
  • caption14px · weight 400 · lh 19pxThe quick brown fox jumps over the lazy dog
  • serif-quote28px · weight 500 · lh 52px · tracking 0.56pxThe quick brown fox jumps over the lazy dog
  • nav-link16px · weight 500 · lh 80pxThe quick brown fox jumps over the lazy dog
  • button-md20px · weight 400 · lh 52pxThe quick brown fox jumps over the lazy dog

Radii and spacing

5 corner radii and 9 spacing values. Shape language: soft, on a 20px base radius.

Radii5

  • none0px
  • sm12px
  • md20px
  • lg30px
  • full999px

Spacing9

  • xs8px
  • sm12px
  • md16px
  • lg20px
  • xl24px
  • 2xl32px
  • 3xl36px
  • 4xl40px
  • 5xl48px

14 components

Each rendered from its tokens (color, type, radius, padding) on TickTick'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
  • Section Label
    Section Labelsection-label
  • Section Heading
    Section Headingsection-heading
  • Feature Heading
    Feature Headingfeature-heading
  • Body Paragraph
    Body Paragraphbody-paragraph
  • Card
    Cardcard
  • Hero Card
    Hero Cardhero-card
  • Feature Card
    Feature Cardfeature-card
  • Testimonial Block
    Testimonial Blocktestimonial-block
  • Footer
    Footerfooter

The system, in use

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

Marketing heroThe homepage: its nav, a headline and the main call to action.
TickTick
Get started

Plan, build and ship in one place

Bring your team's work together, from the first idea to the final release.

Get startedBook a demo
TickTick
Get started

Simple pricing for every team

MonthlyYearly
Free$0/moGet started
  • Up to 3 projects
  • Unlimited members
  • Community support
ProPopular$12/user/moStart trial
  • Unlimited projects
  • Advanced reports
  • Priority support
Business$24/user/moContact sales
  • SSO and SCIM
  • Audit log
  • Dedicated manager
DashboardThe signed-in app: a sidebar, the key numbers and a chart.
TickTickA
Active users12,489
Projects342
Tasks done8,921
Avg. response1.8h
ActivityLast 30 days

TickTick design system FAQ

TickTick's tokens, its components and how to use this DESIGN.md in your project.

Use TickTick in your project

One machine-readable file. Drop it into Claude Code, Cursor, VS Code 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 TickTick.

  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 TickTick'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

TickTick's marketing page borrows its structural logic from the mobile app store. Heading-as-accent. The most distinctive move is using the cobalt-blue voltage (#4772fa) directly as the color of h2 section labels — "To-Do List," "Calendar Views," "Pomodoro," "Habit Tracker" — turning the brand color into a typographic navigation system rather than reserving it exclusively for interactive elements. Each feature section opens with a small blue category label, then shifts to ink-black for the heading and body, then shifts back to blue for the next section's label. The blue functions as a visual separator and section identifier simultaneously.

Unlike Todoist, which uses a raspberry-red voltage on white with 8px card rounding, and unlike Things 3, which leans on photography and whitespace restraint, TickTick makes its feature case through density and rounding. Feature cards at 30px radius (wired as --baseCardBorderRadius) read as tablet-native — the corner language of iOS widgets and Android cards, not the web-first 8px default. The marketing page is an argument for "this is a mobile app that also works on web," not the reverse.

Typographically, the system runs the OS default stack throughout — no custom typeface, no web font request. The 52px hero headline at weight 700 with 1.04px positive letter-spacing is the one measured display moment; below that, the body sits at 16-18px in the system's rendered face, which on macOS is San Francisco and on Windows is Segoe UI.

Key Characteristics:

  • Cobalt blue (#4772fa) used as h2 section label color — the brand voltage as typographic section divider, not only as interactive element.
  • 30px card radius (frequency 44, --baseCardBorderRadius) — tablet-native rounding language that distinguishes the system from web-first productivity tools.
  • System-ui stack throughout — no custom typeface; the OS renders the correct face per platform.
  • 52px hero headline at 1.04px positive letter-spacing — expansive tracking, not tight; an app-store aesthetic rather than editorial restraint.
  • Blue-to-teal gradient (#4772fa → #93dde5) as the hero card backdrop — the only gradient moment on a page that is otherwise white and flat.
  • Georgia serif appears for pull-quote testimonials — a secondary voice that signals the tool is used by people who value writing.
  • Deep-navy shadow (#0f1c47, 17 instances) gives the hero card dimensional lift without a darker background surface.

Colors

Brand

  • Cobalt Blue ({colors.primary} — #4772fa): frequency 34. Used as text (14), border (14), bg (4), gradient (2). Section headings, primary CTA fill, featured card accent, gradient start. The system's only chromatic tone.
  • Aqua Teal ({colors.primary-teal} — #93dde5): frequency 1 as gradient. The gradient end stop on the hero backdrop cloud. Not used anywhere else in the marketing system.

Ink

  • Ink Black ({colors.ink-black} — #000000): frequency 701. Used as text (362), border (338), shadow (1). The dominant text and border tone — pure black, not charcoal, used at maximum frequency for both text and hairlines.
  • Near Black ({colors.ink} — #191919): frequency 252. Used as text (114), border (134), bg (4). The primary heading color for h1 and feature headings — slightly softer than pure black while still reading as near-black.
  • Dark Gray ({colors.ink-dark} — #3d3d3d): frequency 46. Used as text (23), border (23). Body text in feature sections and footer links — visible distinction from #191919 creates a subtle two-tier text hierarchy.

Canvas

  • White ({colors.canvas} — #ffffff): frequency 69. Used as bg (46), border (13), text (9), gradient (1). The page canvas, card fills, and button text on dark surfaces.

Shadows

  • Deep Navy Shadow ({colors.shadow-deep} — #0f1c47): frequency 17 as shadow only. The hero product-screenshot card shadow — a blue-tinted deep navy rather than gray or black, which means the shadow carries a chromatic hint of the brand's blue family.
  • Navy Shadow ({colors.shadow-navy} — #0b2060): frequency 5 as shadow only. A secondary shadow layer on the hero card, deeper than the primary shadow.

Typography

Font Family

The system runs the OS system-ui stack exclusively — system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, Helvetica, Arial, sans-serif. No web font is loaded; no custom typeface is declared. This means TickTick's marketing page renders in San Francisco on macOS, Segoe UI on Windows, and Roboto on Android. The functional result: the marketing site feels like the native platform it's advertising the app on.

A secondary voice appears in the testimonial pull-quote section: Georgia / Merriweather serif at 28px weight 500, 0.56px letter-spacing. This serif insert reads as a print-magazine quote format — a deliberate contrast with the functional system-ui surrounding it that signals TickTick is used by people who think in sentences.

Hierarchy

TokenSizeWeightLine HeightTrackingUse
{typography.display-xl}52px70063px1.04pxHero h1 — "Stay Organized, Stay Creative."
{typography.display-md}36px70048px0.72pxSection h2 headings
{typography.heading-lg}26px60040px0Feature section titles
{typography.heading-md}24px50030px0Sub-feature headings
{typography.heading-sm}20px50024px0Smaller sub-section labels
{typography.body-lg}18px40028px0Feature section descriptions
{typography.body-md}16px40026px0Standard body paragraphs
{typography.body-bold}18px70031px0Emphasized feature claims
{typography.label-md}16px50022px0.32pxCard labels and nav items
{typography.caption}14px40019px0Footer links, sub-labels
{typography.serif-quote}28px50052px0.56pxPull-quote testimonials
{typography.nav-link}16px50080px0Top-nav link labels
{typography.button-md}20px40052px0CTA pill button label

Principles

The display tier uses positive letter-spacing (1.04px at 52px), which inverts the SaaS design convention — most systems use 0 or negative tracking at large sizes to compact headlines. TickTick's positive tracking gives the large headline an expansive, app-store marketing poster quality. Below the display tier everything returns to 0 tracking except the medium label (0.32px), which uses a minimal trace of tracking for nav readability.

Note on Font Substitutes

Since the system runs the OS stack, no substitution is needed for most contexts — the OS will render the correct face. For a fixed rendering across platforms, Inter at the same weights is the closest alternative. For the serif-quote token, Georgia is already the first fallback; if Georgia is unavailable, Lora or Merriweather at the same size and weight will preserve the print-quote feel.

Layout

Spacing System

  • Base unit: 4px, with 16px, 20px, and 40px as the dominant module values.
  • Tokens: {spacing.xs} 8px · {spacing.sm} 12px · {spacing.md} 16px · {spacing.lg} 20px · {spacing.xl} 24px · {spacing.2xl} 32px · {spacing.3xl} 36px · {spacing.4xl} 40px · {spacing.5xl} 48px.
  • Section vertical spacing: 140px top margin for section titles (--moduleTitleMarginTop), 60px bottom (--moduleTitleMarginBottom) — generous vertical breathing room between feature sections.
  • Card padding: 32x28px standard, 36x48x32px on tall feature panels.
  • Container: 90% width up to 1200px max (--containerWidth / --containerMaxWidth); large container up to 1400px (--containerLargeMaxWidth).

Grid & Container

  • Max content width: 1200px (standard), 1400px (large sections).
  • Hero: centered headline + sub-copy + two pill CTAs (Get Started / Download) above a full-width product-screenshot card on a blue-teal gradient backdrop.
  • Feature sections: alternating two-column layout — text column (label + heading + paragraph) on one side, product screenshot on the other, alternating L/R.
  • Platform section: horizontal icon strip with platform logos.
  • Testimonial section: pull-quotes in a Georgia serif, with highlighted text markers.
  • Footer: white canvas with logo, nav links, and platform download badges.

Rhythm

The page follows a strict alternating pattern: each feature section flips which side holds the text and which holds the screenshot. The cobalt-blue section labels mark each new section, creating a visual drum-beat that carries the eye down the page. Section padding (140px top) keeps each section clearly separated — the page does not rush.

Elevation

The hero product-screenshot card uses a blue-tinted layered shadow: rgba(15,28,71,0.x) at two depth levels (deep navy #0f1c47 and navy #0b2060), creating a blue-chromatic depth effect rather than a gray or black shadow. This means the card floats against the blue-to-teal gradient backdrop with a shadow that carries the same color family, keeping the hero visually unified.

All feature cards below the fold sit flat — no shadow, only the 30px white card surface on the light-gray page background. The page does not use a surface ladder or multiple elevation tiers.

Shapes

The radius scale is defined by a single dominant value:

  • {rounded.none} 0px — inline text elements, dividers.
  • {rounded.sm} 12px — smaller interactive surfaces and inner elements.
  • {rounded.md} 20px — medium UI containers and some feature card variants.
  • {rounded.lg} 30px — every feature card, hero product-screenshot, pricing card. Frequency 44 — by far the dominant value. Wired as --baseCardBorderRadius.
  • {rounded.full} 999px — CTA pill buttons only.

The 30px radius is the defining radius choice of the system. At this scale on a 400px-wide card, the corners are substantially curved — not pill-shaped, but generously rounded in a way that reads as mobile-native rather than web-native. The pill buttons at 999px sit at the opposite extreme, with nothing between 30px and pill — no intermediate 8-16px card tier exists.

Components

button-primary — Cobalt (#4772fa) fill, white text, 999px pill radius, 0x36px padding, 52px height. "Get Started" is the canonical hero instance.

button-secondary — White fill, ink-black border, pill radius, same sizing. "Download" sits beside the primary CTA in the hero.

top-nav — White canvas, ink-black text, 0x24px padding, 80px height. Houses the TickTick logo, five nav links (Features / Download / Upgrade / Resources), and Sign In + Sign Up pill buttons on the right.

nav-link — Transparent, ink-black text at 16px weight 500, 80px line-height (matching nav height for vertical centering).

hero-heading — Near-black (#191919) text, system-ui 52px weight 700, 1.04px letter-spacing.

section-label — Cobalt blue (#4772fa) text, 14px weight 400. The small category markers above each feature heading ("To-Do List," "Calendar Views," "Pomodoro," "Habit Tracker").

section-heading — Near-black (#191919) text, system-ui 36px weight 700, 0.72px letter-spacing. The h2 text is rendered in cobalt blue rather than ink — the one instance where the heading itself takes the brand voltage.

feature-heading — Near-black text, 26px weight 600. Feature section titles like "Organize everything in your life," "Easily plan your schedule."

body-paragraph — Near-black text, 16px weight 400. Feature section body copy.

card — White fill, 30px radius, 32x28px padding. The standard feature card container.

hero-card — White fill, 30px radius, 0 padding. The product-screenshot frame in the hero, sitting on the blue-teal gradient backdrop with deep-navy shadow.

feature-card — White fill, 30px radius, 36x48x32px padding. The feature illustration panels (To-Do List, Calendar, Pomodoro, Habit Tracker).

testimonial-block — White fill, 30px radius, 32x28px padding. The Georgia-serif pull-quote blocks with highlighted text markers.

footer — White canvas, dark-gray (#3d3d3d) text, 40x24px padding. Logo, navigation links, platform download links, and copyright.

Do's and Don'ts

Do use the cobalt blue (#4772fa) on section-label text above each feature heading. This is the system's navigation rhythm — the blue label marks the start of each section, and its absence at the heading level would flatten the visual hierarchy.

Do use 30px corner radius for all feature cards and container surfaces. The --baseCardBorderRadius token is the system's defining visual identity. Using 8px or 12px cards would make the marketing surface read as a different product.

Do keep the hero headline at 1.04px positive letter-spacing. The positive tracking at 52px is the display tier's signature — negative tracking would shift the register from app-store expansive to editorial compressed.

Do apply the blue-tinted layered shadow (rgba(15,28,71,x)) to the hero product-screenshot card only. The dual-layer blue shadow keeps the hero card tied to the brand's blue family without needing a separate shadow color variable.

Don't use the cobalt blue (#4772fa) as a background fill for feature cards. In this system, cobalt appears as text (labels and links) and as the CTA button fill — not as a card background tint. A blue-tinted feature card would break the white-card visual rhythm that the 30px rounding establishes.

Don't use a custom web typeface alongside the system-ui stack. The system's bet is that platform-native rendering reads as utility; introducing a web font would add load time and visual contrast that undercuts the "this is a native app" argument.

Don't reduce card rounding below 20px. The 30px radius is the brand's most distinctive visual marker — approaching 12px or 8px would make TickTick's feature sections visually indistinguishable from Todoist's or Asana's.

Don't place the Georgia serif token ({typography.serif-quote}) in headings or body copy. It exists only for pull-quote testimonial blocks — using it in feature section headings would create a register mismatch between the functional system-ui body and the literary serif display.

Known Gaps

  • Dark mode: TickTick ships a dark theme in the product (the marketing site is light-only). Dark-mode palette not captured here.
  • Hover and focus states: only resting states are captured. The CTA button hover, nav link active states, and focus rings are not represented.
  • Mobile responsive layout: the marketing page stacks the two-column feature sections on mobile, and the hero card scales down to a single panel. Mobile token overrides not captured.
  • Animation: the hero product-screenshot likely includes scroll-triggered entrance animations for the feature cards. Easing curves and timing are not captured in static extraction.
  • Gradient spec: the exact gradient angle, stop positions, and opacity for the hero backdrop cloud are not captured — only the start (#4772fa) and end (#93dde5) colors are extracted.
  • Platform-specific features: the marketing page references a Pomodoro timer (shown with a dark card), habit-tracking statistics, and calendar integrations — each has its own in-product color palette not captured here.

More systems like this

Airtable, Amie, Anytype and 50 more in Productivity & SaaS: each brand's colors, type and components in one file your AI agent builds from.

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
  • Page sections in 56 categories, from heroes and pricing tables to dashboards and settings, on every framework and UI library, in your theme.Blocks: All 6,181 blocks
  • Complete Next.js sites for startups, SaaS, agencies and portfolios, every page designed, ready to ship.Templates: All 14 templates
  • Your AI agent searches, previews and installs any component, block, icon or DESIGN.md from a prompt: 22 tools in Claude Code, Cursor, VS Code and 35 more clients.MCP server: 38 AI clients
  • Buttons with motion and states of their own, from an arrow that slides in to a burst of confetti.Animated buttons: All 35 buttons
  • Typewriters, scrambles, counters and more, for headlines, labels and numbers.Text effects: All 97 effects
  • Animated backgrounds for heroes, sections and cards, from a soft aurora to a flock that flees the cursor. Most are pure CSS.Backgrounds: All 100 backgrounds
  • WebGPU shaders, from a slow aurora to a black hole, each drawing only while it's on screen.Shaders: All 100 shaders
  • One design and one theme on all four: the components, blocks and effects are built for each framework.Frameworks: React, Vue, Svelte, Solid
  • React on Base UI, Radix UI, React Aria or Ark UI: install the version for the library your project already uses. Vue, Svelte and Solid run on Ark UI.UI libraries: Base UI, Radix, Aria, Ark
  • From a button to a date picker, a color picker or a guided tour: accessible, typed in TypeScript, each with live demos.Components: All 174 components
  • Real-world patterns built from the components, in 53 galleries: forms, tables, menus, dialogs and more.Examples: All 1,103 examples
  • Area, bar, line, pie, radar and radial charts on TanStack Charts, on every framework. React also gets the Recharts originals.Charts: All 70 charts
  • Debounce, local storage, media queries and more: each hook is one typed file you own.React hooks: All 35 hooks
  • From 222 libraries, Lucide, Heroicons, Tabler and Material Symbols among them, as SVG or a React component in one command.Icons: 294k+ icons
  • Stripe, Linear, Apple and 497 more: a brand's colors, typography and components in one file your AI agent builds from.DESIGN.md files: All 500 brands
  • Restyle every component and block at once: 8 styles, 8 grays, 18 colors and 5 radii, shared as a shadcn preset code.Theme builder: 8 styles × 18 colors
  • 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
  • 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
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

4.9 out of 5 from 150+ developers

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
  • Cancel anytime
  • Keep what you've shipped