Ubie is a Japanese healthcare-AI company whose products — a consumer symptom-checker (ユビー) and clinical software for hospitals — must do something most health software fails at: feel reassuring to an anxious person and credible to a busy doctor, on the same screen. The interface answers this with a warm, optimistic clinical aesthetic. The canvas is pure white (#ffffff), text is a soft near-black (#32353a) that reads warmer than true black, and the system is anchored by two colors working in concert: a calm, trustworthy Ubie Blue (#3959cc) for interaction and a fresh, healing Ubie Green (#27cc91) that signals health, vitality, and positive progress.
The brand was rebuilt around the phrase "あたたかさと賢さで寄り添う" — "accompanying people with warmth and wisdom." The heart motif in the logo carries this duality: the front face expresses warmth (the human), the back expresses the supporting technology (the AI). The logo hides a detail — the human body temperature 36 degrees is encoded in its form — a quiet promise that the product is on the patient's side. Nothing in the visual language shouts; everything is engineered to lower the cortisol of someone Googling their symptoms at 2am.
The type system uses A P-OTF UD Shin Go Pr6N, a Japanese Universal Design typeface chosen for legibility under stress and across vision abilities, paired with a clean Latin sans (Open Sans as the documented fallback). Accessibility is not a bolt-on: Ubie Vitals is built "so that Ubie's products reach all users," and the entire token system is published open-source.
Key Characteristics:
#3959cc) for interaction; Ubie Green (#27cc91) for health/positive signals — a two-anchor system#32353a) instead of pure black — softer, less clinical#3959cc): blue600. The primary interactive color — links, primary buttons, focus, selected states, bg.blue.inverse. Calm institutional blue that reads trustworthy, not cold.#27cc91): green600. The signature health accent — success, positive progress, bg.green.inverse, brand-moment highlights. Fresh, vital, reassuring.#ffffff): bg.white. Page background and card surface.#32353a): black900. Primary text and headings. Warm near-black with a soft undertone.#3959cc (warmth-and-trust) with #27cc91 (health-and-care). These two are the brand's identity colors; everything else is supporting.#32353a): Primary reading text, headings.#686a6d): black600. Secondary text, descriptions, metadata, de-emphasized links.#96989a): black500. Input placeholders.#dcdddd): black300. Inactive labels.#3959cc): Hyperlinks (= Ubie Blue 600).#1c9167 (green800), bg #e9faf4 (green100), inverse #27cc91 (green600), border #77dfba (green400).#a1213c (red800), bg #fceff2 (red100), inverse #e32e55 (red600), border #ed7b94 (red400).#b57212 (orange800), bg #fff9f0 (orange100), inverse #ffa11a (orange600), border #ffc46f (orange400).#283f91 (blue800), bg #f0f2fc (blue100), inverse #3959cc (blue600), border #8296df (blue400).#7322a2 (purple800), bg #f8effc (purple100), inverse #a230e4 (purple600), border #c47dee (purple400).#9b2350 (pink800), bg #fcf0f5 (pink100), inverse #da3170 (pink600), border #e87da5 (pink400).#fafafa): Lightest gray, bg.black surface fill.#f6f6f6): Secondary background, subtle fills.#dcdddd): Disabled text, hairline dividers.#c5c6c7): border.black — default border color.#96989a): Placeholder text, muted icons.#686a6d): Sub text, secondary labels, bg.black.inverse.#55575b): Emphasized secondary text.#393c41): text.black strong labels.#32353a): Primary text — Text Main.#16191f): Maximum-contrast text, rare emphasis.#c5c6c7): black400. Card borders, input borders, dividers.#dcdddd): black300. Subtle hairline separators.#fafafa / #f6f6f6): Section fills, grouped surfaces.rgba(0,0,0,0.5)): bg.modal. Overlay behind dialogs and sheets."A P-OTF UD Shin Go Pr6N" (Universal Design Shin Go), Regular = /M, Bold = /DB. Fallback: "Noto Sans CJK JP", "Noto Sans JP"."Open Sans"."A P-OTF UD Shin Go Pr6N", "Open Sans", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serifUD Shin Go is a Universal Design face: glyphs are tuned for legibility at small sizes, for low-vision readers, and for distinguishing easily-confused characters — the correct choice for medical content read under stress.
Ubie Vitals defines type semantically (Body / Heading / Note / Button / Tag) crossed with three line-height modes: default 170%, -narrow 150%, -tight 140%. The px scale below is the standard Ubie web rendering.
| Role | Token | Size | Weight | Line Height | Notes |
|---|---|---|---|---|---|
| Heading XL | heading-xl | 32px | DB (Bold) | 140% (tight) | Page hero, landing titles |
| Heading L | heading-lg | 28px | DB (Bold) | 140% (tight) | Major section titles |
| Heading M | heading-md | 24px | DB (Bold) | 140% (tight) | Section headers |
| Heading S | heading-sm | 20px | DB (Bold) | 150% (narrow) | Card titles, modal headers |
| Heading XS | heading-xs | 16px | DB (Bold) | 150% (narrow) | List headers, sub-sections |
| Body L | body-lg | 16px | M (Regular) | 170% | Primary reading text |
| Body M | body-md | 14px | M (Regular) | 170% | Standard body, descriptions |
| Body S | body-sm | 13px | M (Regular) | 170% | Dense body, secondary info |
| Note | note | 12px | M (Regular) | 150% (narrow) | Captions, helper text, timestamps |
| Button | button | 14–16px | DB (Bold) | 100% | Action labels — never wraps awkwardly |
| Tag | tag | 12px | DB (Bold) | 100% | Category chips, status keywords |
140%) and chips/buttons (100%).Ubie <Button> is a variant × size component. Variants: primary, accent, secondary, alert, text, textAlert, plus Auth* social buttons. Sizes: large (default), medium, small. block makes it full-width. Vitals discourages the disabled state in favor of a loading prop (disabled buttons have poor contrast and unclear affordance). Verified against vitals.ubie.life/components/button.
Primary
#3959cc (Ubie Blue 600)#ffffff#304cad (blue700)Accent
#27cc91 (Ubie Green 600)#ffffff#21ad7b (green700)Secondary
#ffffff#3959cc#3959cc#f0f2fc (blue100)Alert
#e32e55 (red600)#ffffff#c12748 (red700)Text
#3959cc#f0f2fc (blue100)textAlert
#a1213c (red800)Size scale (height · font · padding): large ~48px · 16px · 12px 24px; medium ~40px · 14px · 10px 20px; small ~32px · 13px · 8px 16px. Radius follows the component-size rule (§5): 8px (md) at large, down to 4px (sm) at small. loading shows a spinner and blocks double-submit while preserving width.
TextField (default)
#ffffff#32353a#c5c6c7 (black400)#96989a (black500)#3959cc, 2px focus ring rgba(57,89,204,0.3)TextField (error)
#ffffff#32353a#e32e55 (red600)#a1213c (red800), 12pxTextField (disabled)
#f6f6f6 (black200)#96989a (black500)#dcdddd (black300)Standard
#ffffff#dcdddd (black300)0px 1px 4px rgba(22,25,31,0.08)Interactive (tappable)
#ffffff#dcdddd0px 2px 8px rgba(22,25,31,0.10)#8296df (blue400), shadow liftsTinted Info
#f0f2fc (blue100) / #e9faf4 (green100)Ubie <Tag> — short keyword for attributes or classification. Bold (DB), 12px, 100% line-height.
Default
#f6f6f6 (black200)#55575b (black700)Green (positive)
#e9faf4 (green100)#1c9167 (green800)Red (caution)
#fceff2 (red100)#a1213c (red800)Info
#f0f2fc (blue100)#32353a, icon #3959cc#3959ccSuccess
#e9faf4 (green100)#27cc91Error
#fceff2 (red100)#e32e55#ffffff#32353a0px 8px 24px rgba(22,25,31,0.16)rgba(0,0,0,0.5) (bg.modal)#27cc91 (on) / #c5c6c7 (off, black400)#ffffff circle with 0px 1px 2px rgba(22,25,31,0.2)Verified: 2026-06-06 (full-depth) Tier 1 sources: vitals.ubie.life (Ubie Vitals — public design-system docs: primitive + semantic color tokens, typography tokens, radius, spacing, Button component); github.com/ubie-oss/design-tokens (token JSON, Style Dictionary — hex values cross-confirmed). ubiehealth.com (live brand surface — Shiba mascot, tagline "Just 3 minutes. Developed by doctors"). · https://ubie.life (live production site) Tier 2 sources: speakerdeck.com/ubie/ubie-brand-guideline (brand concept "あたたかさと賢さで寄り添う", heart motif, UD Shin Go + Open Sans fallback); note.com/ubie rebranding article; X/@rhatake_jp (logo encodes 36°C body temperature). Notes: Primitive hex values are authoritative (cross-checked Vitals docs ↔ token JSON, identical). Component padding/height/shadow values are reconstructed from the documented radius/spacing/typography tokens + size-rule (§5) where Vitals docs describe behavior but omit exact px; flagged as derived, not invented.
xxs 4px, xs 8px, sm 12px, md 16px, lg 24px, xl 40px, xxl 64px.lg, then 8px+ steps for clear hierarchy.xs/sm (8–12px); separate functional groups with lg/xl (24–40px).Radius is chosen by component short-side length, not by taste:
| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No shadow, optional 1px #dcdddd border | Page background, inline elements |
| Subtle (Level 1) | 0px 1px 4px rgba(22,25,31,0.08) | Standard cards, list separation |
| Standard (Level 2) | 0px 2px 8px rgba(22,25,31,0.10) | Interactive cards, hover lift |
| Elevated (Level 3) | 0px 4px 12px rgba(22,25,31,0.12) | Dropdowns, popovers, sticky CTA |
| Modal (Level 4) | 0px 8px 24px rgba(22,25,31,0.16) | Dialogs, bottom sheets |
Shadow Philosophy: Ubie's shadows are soft, low-opacity, and tinted with the warm near-black #16191f (black1000) rather than pure black — consistent with the warm text palette. Depth is gentle; in a healthcare context, dramatic elevation reads as alarm. Most separation is achieved with a 1px #dcdddd border and white space, with shadow reserved for genuinely floating or interactive surfaces. Borders before shadows; shadows before drama.
#dcdddd) on white; shadow is added only when the card lifts on hover or floats above content.#3959cc) for interaction — links, primary buttons, focus, selection.#27cc91) for health, success, and positive progress.#32353a) for text, never pure #000000.#e32e55) decoratively — it is reserved for errors and irreversible actions.disabled button state — prefer loading (Vitals guidance: disabled has poor contrast/affordance).| Name | Width | Key Changes |
|---|---|---|
| Mobile (Primary) | <640px | Single-column flow, full-width cards, 16px padding |
| Tablet | 640–1024px | Centered reading column ~720px, 24px padding |
| Desktop | >1024px | Centered content, marketing grids up to ~1080px |
#3959cc)#304cad)#27cc91)#ffffff)#fafafa)#32353a)#686a6d)#96989a)#c5c6c7) / Light #dcdddd#1c9167) on Green 100 (#e9faf4)#e32e55)#ffa11a)#3959cc blue is interaction, #27cc91 green is health/positive. Don't swap their roles.#32353a; sub text #686a6d. Never pure black.loading, not disabled.Ubie speaks like a calm, well-informed clinic receptionist who genuinely likes you: warm, plain, never alarmist, and never condescending. It is bilingual by design — Japanese is the native voice (polite ですます form, softened sentence endings like 〜ですよ on the consumer app), and English carries the same reassuring register. The job of every sentence is to lower anxiety while staying honest about medical uncertainty.
| Context | Tone |
|---|---|
| Symptom questions | Plain, one idea per screen, no jargon. "どんな症状がありますか?" Neutral, never leading. |
| Results / guidance | Honest + reassuring. States possibilities without diagnosing; always offers a clear next step. Never alarmist. |
| CTAs | Action-describing, ~15 chars, Bold. "症状を確認する", "病院をさがす". Never bare "OK". |
| Reassurance moments | Warm, brief, sometimes the Shiba mascot. "ここまでありがとうございます。" |
| Error messages | Specific + blameless + recoverable. Never "エラーが発生しました" alone. |
| Medical disclaimers | Clear, calm, non-frightening — "this is not a diagnosis," framed as empowerment not liability. |
| English (ubiehealth.com) | "Just 3 minutes. Developed by doctors." — accessible, credentialed, unhurried. |
Forbidden register. Alarmist phrasing about symptoms ("危険です", scare language), absolute diagnostic claims ("あなたは〜です"), shaming the user for their question, hype ("revolutionary", "AIが完全に診断"), and bare vague labels. Medical credibility comes from calm precision, never from urgency.
Ubie (Ubie株式会社 / Ubie, inc.) was founded in 2017 by Dr. Kota Abe (阿部吉倫), a practicing physician, and Yoshinori Kuno (久野遼平), an engineer — the doctor-plus-engineer pairing that the entire brand encodes. The founding problem was the gap between a worried person with symptoms and the right medical care: patients don't know which department to visit, and doctors drown in repetitive intake. Ubie builds AI to bridge that gap from both sides — a consumer symptom-checker ("ユビー", at ubie.life / ubiehealth.com) that helps people understand symptoms and find appropriate care in about three minutes, and clinical software that reduces documentation load for medical staff.
The company rebranded around the mission "愛あるテクノロジーで医療と人をつなぐ" — "connecting medicine and people with loving technology" — and the design phrase "あたたかさと賢さで寄り添う" (accompanying people with warmth and wisdom). Those two words, warmth (あたたかさ) and wisdom (賢さ), are the literal axes of the visual system: green and blue, human and machine, the front and back of the heart logo. The logo encodes 36°C — human body temperature — as a quiet signal that the product is on the patient's side, not above them.
What Ubie refuses: the cold institutional blue-gray of legacy hospital IT, the alarmism of symptom-Googling, and the false confidence of an app that pretends to diagnose. It is not a doctor-replacement; it is a guide that lowers anxiety and routes people to real care. The design must therefore be simultaneously credible (doctors built it, 50,000+ clinical sources, dozens of medical experts) and gentle (a Shiba mascot, soft warm near-black text, 170% line-height, never red unless something is truly wrong).
Ubie open-sourced its design system, Ubie Vitals, publishing tokens, components, accessibility guidance, and UX writing — an unusually transparent move for a healthcare company, consistent with the brand's belief that good, accessible medical UX is a public good.
disabled state are commitments to "reach all users," not nice-to-haves.#3959cc appears where you can tap; #27cc91 appears where something is well, succeeded, or progressing. Roles never swap.#dcdddd line and white space first; soft shadow is reserved for floating or interactive surfaces.Personas below are fictional archetypes informed by publicly described Ubie user segments (worried consumers seeking care, and clinicians using Ubie's hospital software), not individual people.
さくら (Sakura), 34, Yokohama. Office worker and mother of a toddler. Opens Ubie at night when her child has a fever and she can't tell whether the ER is warranted. Wants two things: to not feel stupid for asking, and to know whether to go now or wait until morning. The Shiba mascot and the unhurried, plain-Japanese questions are what keep her from panic-Googling. If the app ever sounded alarmist or used scary red text, she would close it and lie awake instead. Reads Japanese; the 170% line-height and large UD Shin Go text matter at 2am on a small screen.
田中先生 (Dr. Tanaka), 48, regional hospital, Nagano. Internal medicine physician seeing 40+ patients a day. Uses Ubie's clinical intake software because it pre-collects structured symptom data before the patient sits down, cutting his documentation time. He has zero patience for cute — for him the design must be fast, legible, and dense enough to scan, but he appreciates that it never overclaims AI certainty. Trusts the product partly because he knows a physician co-founded it. Would abandon any tool that produced a confident wrong "diagnosis."
Marcus Bell, 29, London. Uses ubiehealth.com (English) after weeks of an unexplained symptom and an over-full GP schedule. Skeptical of "AI doctor" apps. Convinced by "Developed by doctors," the cited clinical sources, and the calm refusal to diagnose — it tells him possibilities and which specialist to see, which is exactly the help he needed. Bounces instantly off any health app that feels like an ad or a hype pitch.
みなみ (Minami), 23, Osaka. University student, high accessibility needs (low vision). Ubie is one of the few health tools she can actually read without zooming — UD Shin Go, the contrast of #32353a on white, and generous spacing were built with her in mind. She is the user the open-source Vitals accessibility work exists to serve, and the reason the disabled-button discouragement matters: she relies on clear, perceivable affordances.
| State | Treatment |
|---|---|
| Empty (no history) | Single calm line in Text Sub (#686a6d) 14px explaining the screen, plus one accent/primary CTA to begin. Often the Shiba mascot. Never "データがありません" alone. |
| Loading (first paint) | Skeleton blocks at #f6f6f6 (black200) matching final layout, gentle 1.2s shimmer. Reassuring micro-copy for AI processing ("結果をまとめています…"). |
| Loading (in button) | loading prop shows a spinner replacing the label; width preserved; blocks double-submit. Preferred over disabled. |
| Error (inline field) | 1px #e32e55 (red600) border on the input, one specific corrective sentence below in #a1213c (red800) 12px. Blameless and actionable. |
| Error (banner) | #fceff2 (red100) bg, 4px left border #e32e55, #32353a text, one sentence + recovery action. No scare language. |
| Success (positive result) | Green tint: #e9faf4 (green100) surface, #1c9167 (green800) text/icon, #27cc91 accent. Reassurance gets room and warmth — never crowded. |
| Success (action saved) | Brief toast or inline confirmation, #27cc91 check, past-tense sentence. No exclamation, no emoji on medical surfaces. |
| Warning (attention needed) | #fff9f0 (orange100) bg, 4px #ffa11a left border, #b57212 (orange800) text. Calm "consider seeing a doctor" framing — not alarm. |
| Skeleton | #f6f6f6 blocks at final dimensions, radius per component (4/8/12px), 8% white shimmer over ~1.2s. |
| Disabled (discouraged) | Avoided. When unavoidable: surface #f6f6f6, text #96989a, border #dcdddd. Prefer loading or hiding the action entirely. |
| Focus | 2px ring rgba(57,89,204,0.3) + border #3959cc. Always visible for keyboard users — accessibility is non-negotiable. |
Durations:
| Token | Value | Use |
|---|---|---|
motion-instant | 0ms | Toggle flips, checkbox state, focus rings |
motion-fast | 150ms | Hover, focus, small reveals, button press |
motion-standard | 250ms | Default — card expand, sheet open, tab switch |
motion-slow | 350ms | Step advance in the symptom flow, result reveal |
motion-page | 300ms | Top-level route transitions |
Easings:
| Token | Curve | Use |
|---|---|---|
ease-enter | cubic-bezier(0.0, 0.0, 0.2, 1) | Things appearing — sheets, results, toasts |
ease-exit | cubic-bezier(0.4, 0.0, 1, 1) | Things leaving — dismissals |
ease-standard | cubic-bezier(0.4, 0.0, 0.2, 1) | Two-way transitions — collapsibles, tabs |
ease-gentle | cubic-bezier(0.33, 0.0, 0.2, 1) | Reassurance moments — soft, slightly slower settle |
Signature motions.
motion-slow / ease-gentle). The motion is unhurried on purpose — speed would feel like pressure on an anxious user.motion-slow / ease-enter). Reassurance arrives calmly, never with a celebratory bounce — overshoot would feel flippant about health.prefers-reduced-motion: reduce, all motion-* tokens collapse to motion-instant; slides become instant cross-states. The flow stays fully usable — accessibility outranks delight, always.Ubie is a Japanese healthcare-AI company whose products — a consumer symptom-checker (ユビー) and clinical software for hospitals — must do something most health software fails at: feel reassuring to an anxious person and credible to a busy doctor, on the same screen. The interface answers this with a warm, optimistic clinical aesthetic. The canvas is pure whit
Brand
Accent
Neutrals
Semantic
Type Scale
Rendered in system-ui to clearly show scale & weight.
Fonts
Spacing
| Purpose | Value | Preview |
|---|---|---|
| Density | compact | |
| Base unit | 4px | |
| Section gap | 40px | |
| Card padding | 16px | |
| Element gap | 8px |
Border Radius
| Element | Value | Preview |
|---|---|---|
| buttons | 12px | |
| inputs | 12px | |
| cards | 12px | |
| dialogs | 12px | |
| badges | 8px | |
| circleCircle | 50% |
Elevation
Do and Don't guidelines parsed from DESIGN.md.
Do
Don't
Buttons
Inputs
Cards