Viteo, in pieces.
Three themes on one set of components. Aqua is crisp and graphic: navy ink on pastel blocks. Grove is fresh and botanical: a mint page, a leaf-green accent and a characterful grotesque. Peach is warm and editorial: a peach bento with periwinkle and apricot-gold blocks on navy ink, set in a soft serif. Each has dark and light modes, and every sample below is the real component.
Brand
Two capsules meeting in a V, in the theme's accent and ink, with a lowercase wordmark. The mark is printed on every box, and the box carries the customer's name once they've taken the quiz.
Color
One accent on a calm base, defined once per theme and mode as tokens. Accent is for actions; Accent text is the only accent used for text, so it stays readable. Every text pair passes WCAG AA in every theme and mode. Values below update with the switcher.
- Accent
- Accent text
- Ink
- Ink soft
- Background
- Paper
- Line
- Sage
- Butter
Type
Aqua pairs Plus Jakarta Sans and Inter, Grove pairs Outfit and Figtree, and Peach pairs Fraunces and DM Sans. Same scale in all three; highlighted display words take the theme's display accent.
Made for your days.
Three steps, no guesswork.
Delivery frequency
Every item comes with a plain reason it's there.
Skip, pause or swap from your account in a tap.
Personalized daily vitamins
Icon buttons
One square spec for every icon-only button: 52px, 18px corners, a 22px icon on a 24px grid. The border and hover tint come from the text colour, so they're white-based on dark surfaces and ink-based on light or coloured ones. Hover adds a faint tint and darkens the border.
Floating and header buttons
Forms
Labels always visible above the field; errors in plain language right under it. Control boundaries are at least 3:1 against their surface.
Surfaces
A bento of panels on one full-bleed background. Each panel re-points the ink, accent and paper tokens, so any component inside it stays readable. Glass is a clear, blurred pane over the page's ambient light.
Pills
Modelled in 3D from each product's color and form, live in the hero and close-ups, and baked into images everywhere else by a script, so a new product needs no new artwork.
Data
Charts only ever show whether the pack was taken, never health outcomes. Lines draw in when they scroll into view; a month still in progress is dashed and labelled so far, so it never reads as a drop.
This yearLast year
Days you took your pack
Disclosure & navigation
Accordions animate their height (instant where unsupported). The carousel is a native scroll-snap track with prev/next, mouse drag and position dots that follow the text colour like the icon buttons (white-based in dark mode, ink-based in light). The theme switcher saves the choice for the next visit.
Accordion
How does the quiz decide what goes in my pack?
Your answers map to a short list of everyday nutrients, and each pill shows the answer that put it there.
Can I change, skip or pause my deliveries?
Yes, from your account, any time. Changes apply to your next box.
Carousel
“The quiz took two minutes, and for once I know why every pill is in my pack.”
“I travel a lot. Skipping a month is one tap, and that's why I've stayed.”
“It flagged that I should check with my doctor about the medication I take. I appreciated that.”
“I swapped one item for another in about ten seconds. No email thread, no phone call.”
“Seeing my name on the box sounds small, but it's the first routine I've actually kept up with.”
“The reminder lands right when I'm making coffee, and checking the day off is weirdly satisfying.”
“I moved apartments mid-subscription. Changing the address took a minute, and the next box just showed up.”
Steps, segments and theme
- ✓ Details
- 2 Delivery
- 3 Payment
- 4 Review
Overlays
Native dialogs: focus moves in and returns to the button that opened them; Esc, the backdrop and ✕ close them. On phones the ingredient close-up becomes a bottom sheet that closes when dragged down. Shown here in place.
Labels & stamps
Labels never look like buttons: no pill shape, border or fill. Sample and preview content is stamped like a batch code, in the accent text colour.
Feedback
Progress, notes and toasts. Toasts always offer Undo for anything that changes a delivery.
Vitamin D3
Why it's here You spend most of the day indoors.
Foundations
Shared shape, spacing and motion. Every animation turns off for people who prefer reduced motion.
Radius
Spacing
Motion
- Easing
- cubic-bezier(0.2, 0.8, 0.2, 1): quick out, soft landing
- Hover
- 0.2–0.35s: tints, borders, arrow loops
- Dialogs
- 0.35–0.5s: modal rise, pill morph onto the stage
- Pages
- 0.55s: view transitions, the printed pack glides between pages
- Intro
- ~1.75s on each landing visit, a GSAP timeline: the carton, then each pill at its own speed, bounce and spin; any click, key or scroll skips it
- Background
- A WebGPU shader (WebGL2 fallback) a slow, pulsing ribbon of the theme's light behind the glass, ~30fps at low resolution; desktop only, off for reduced motion
- Quiz finale
- A GSAP timeline: pills fall into the pack one by one, the pack squashes to catch each, and the plan opens when the last lands
- Reduced motion
- Everything above is off; the content is all there at once