MozaikaProduct

Oura Mobile — design system & UI screens

Health & Fitness · 11 screens · ouraring.com

Personal health monitoring dashboard displaying daily vital signs and readiness metrics. The screen uses a dark theme with a card-based bento grid layout showing key health indicators: Readiness Score (88, Optimal status), Symptom Radar (showing no signs via a circular visualization), Sleep Score (84, Good status), and Body Clock (showing circadian rhythm alignment via line graph).

Open in Mozaika →

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/oura-mobile.

Decoded design system

Oura Mobile's decoded design system: background #19191C, text #F1E7E2, accent #203634, link #203634, primary #203634; type scale h1 34px / h2 22px / body 17px; 8px spacing base; 12px base radius. The single interactive/action color is #203634 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.

Color roles

RoleValue
bg#19191C
surface#252527
border#393739
text#F1E7E2
text_muted#9E9896
primary#203634
accent#203634
link#203634
button_bg#203634
button_text#19191C

Using these colors

Typography

Spacing

Radii

Shadows (elevation)

Motion

Micro-interactions run at 150ms (dominant) with cubic-bezier(0.4, 0, 0.2, 1).

Native design tokens

TokenValue
--color-component-overlay-bgrgba(25, 25, 37, 0.9)
--color-component-button-primary-bg-default-neutral-inverse-resting#ffffff
--color-component-button-primary-text-default-neutral-inverse-resting#0c0c14
--color-component-button-primary-bg-default-neutral-inverse-hover#e5e5e9
--color-component-button-primary-text-default-neutral-inverse-hover#313142
--color-component-button-secondary-icon-default-neutral-inverse-resting#ffffff
--color-component-button-secondary-text-default-neutral-inverse-resting#ffffff
--color-fill-brand-indigo#4a4af4
--color-primary-light#A8A9FC
--color-primary-dark#2F2FC1

…and 110 more measured on the page.

Button states (measured)

Layout (measured)

Motion choreography (measured)

Load order: span.text-base×3 → span.text-base×3 → span.text-base×3 → span.text-base×3

Scroll reveal: 4 elements rest at opacity 0, animate in over 1000ms.

Stagger: div ×6 — 250ms apart.

Input (measured)

height 40px · radius 12px

Responsive (measured)

Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →

Screens