Appwrite — design system & UI screens
Dark hero with pink accent over an Appwrite project dashboard: bandwidth and request charts.
This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/website/appwrite.
Decoded design system
Appwrite's decoded design system: background #19191C, text #ECECEE, accent #85DBD8, link #85DBD8, primary #2B1B23; type scale h1 72px / h2 16px / body 14px; 4px spacing base; 8px base radius. The single interactive/action color is #FFFFFF — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #19191C |
| surface | #252528 |
| border | #38383B |
| text | #ECECEE |
| text_muted | #9B9B9E |
| primary | #2B1B23 |
| accent | #85DBD8 |
| link | #85DBD8 |
| secondary | #301C24 |
| button_bg | #FFFFFF |
| button_text | #19191C |
Using these colors
- Action color
#FFFFFF— the single interactive color; only on things you click or must notice, never large fills. primary#2B1B23,secondary#301C24are visually the same color (Δ7) — treat as one role (the action color).accent,linkare all#85DBD8— one role, not several (the action color).- accent
#85DBD8— accent for emphasis — keep it rare on the page.
Typography
- Heading: Inter
- Body: Inter
- h1: 72px
- h2: 16px
- body: 14px
Spacing
- base unit: 4px
- scale: 2px, 4px, 6px, 7px, 8px, 10px, 12px, 14px, 16px, 20px
Radii
- base: 8px
- button: 8px
Shadows (elevation)
- card:
rgba(172, 171, 171, 0.3) 0px -1px 10px 0px
Motion
Micro-interactions run at 150ms (dominant) with cubic-bezier(0.4, 0, 0.2, 1).
- durations: 150ms · 300ms · 500ms
- easings:
cubic-bezier(0.4, 0, 0.2, 1)·ease-in-out - animated properties: opacity, color, background-color, border-color
Native design tokens
| Token | Value |
|---|---|
--color-accent-darker | #ca2b58 |
--color-offset | #00000014 |
--color-white | #fff |
--color-black | #000 |
--color-mint-500 | hsl(calc(177 + 1)54% 69%) |
--color-purple-500 | hsl(calc(249 - 1)99% 70%) |
--color-blue-500 | hsl(calc(217 - 1)99% 70%) |
--color-green-700 | #0a714f |
--transition | .2s |
--animate-enter-from-right | enter-from-right .2s ease |
…and 88 more measured on the page.
Button states (measured)
- primary focus: outline
2px solid rgb(24, 99, 220)
Layout (measured)
- container max-width:
1200px - nav: 73px sticky, backdrop
blur(10px) - common grid: 2 columns
Motion choreography (measured)
Load order: div.animate-lighting×2 → span.bg-linear-145 → button.border-smooth×14 → a.data-[badge]:after:anima → div.cursor×2 → div.border-smooth×2
Scroll reveal: 11 elements rest at opacity 0, translateY(-15px), animate in over 0.15s cubic-bezier(0.4, 0, 0.2, 1).
Stagger: button ×3 — 75ms apart.
Overlay recipe (measured)
dialog panel: #232325 · radius 6px
Input (measured)
height 34px · radius 8px · focus ring 1px auto rgb(16, 16, 16)
Responsive (measured)
- breakpoints: 352px · 425px · 440px · 576px · 640px · 768px
- mobile (390px): hero 32px · nav hamburger
Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →
Screens
Sections (11)
- Hero — Appwrite hero
- Logo Wall — Trusted-by logo wall
- Bento Grid — All the services bento
- Feature — AI agents workflow
- Comparison — LLM benchmark table
- Testimonial / Social Proof — DevKind case study
- Feature — Security & compliance grid
- Feature — Appwrite Network map
- Stats / Metrics — Developer stats
- Pricing / Plans — Pricing plans
- Footer — Footer