Skip to content

Product Design & DevelopmentDesign & Dev Pitch

Viteo

A design and dev pitch: a personalized vitamin subscription, designed and built end to end, from a 3D product that opens as you scroll and a quiz that builds your pack as you answer, to a plan that explains every pill and an account that keeps subscribers in control.

Project
A personalized vitamin subscription, designed and built end to end as a design and dev pitch to an entrepreneur
Role
Product Designer & Front-End Developer
Platform & Tools
Web — Desktop, Tablet, Mobile · Next.js, React, three.js, CSS
01

Overview

Vitamin subscriptions lose customers in the same three places:

  • Generic packs: everyone gets the same bottle, whatever their diet or routine.
  • No “why”: people don't know why something is in their pack, so they stop taking it.
  • Hard to control: skipping or pausing is buried, and cancelling feels like a trap.

Viteo is my pitch for a direct-to-consumer subscription that fixes all three. As product designer and front-end developer, I took it from brand to working product, solo, with three goals:

  • personalize every pack, and explain every pill in it
  • put customers in control, so retention is earned rather than trapped
  • make it launch-ready, so a founder could build a business on it

What's Built

  • Landing page with a real-time 3D product and a scroll story that carries the pills down the page
  • Two-minute quiz that builds the pack live as you answer
  • Personalized plan, every item with the reason it's there
  • Checkout in four steps, with simulated Apple Pay / Google Pay and test-card payments, including a declined card
  • Passwordless sign-in by email link or passkey, and sign-out
  • Account: skip, pause, swap and undo; a daily check-in; a routine tracker
  • Honest cancellation that offers one fitting alternative, never a maze
  • Ingredient close-ups in 3D, with dose, form and when the quiz adds each one
  • Batch results: independent lab results by lot code
  • Partner program for trainers, dietitians and nutritionists, whose suggested packs open for clients with their notes and a first-box discount
  • Lifecycle messages: shipping reminder, order confirmation, daily text
  • Installable app with an offline screen
  • Design system with three themes, each in light and dark

It makes no health claims and takes no real payments; everything else is written as if it launched tomorrow.

See it for yourself

Every flow works: take the quiz, open an ingredient, place an order and skip a delivery. Nothing is charged and nothing leaves your browser.

Try Viteo live

Loading video...

The intro: the product lands piece by piece
02

Results & Impact

Viteo hasn't launched, so there are no market numbers, and I won't invent any. What it delivers is a complete, working product rather than mockups, measured on the live site:

95
Performance (desktop)
100
Accessibility
100
Best practices
100
SEO

Lighthouse scores, 3D scene included. Fixing what the first audit found took desktop performance from 72 to 95 and accessibility from 94 to 100, and it holds at 95 with the moving background and page preloaders added since. A mobile pass (WebP renders, fonts and analytics off the critical path, page-only CSS split out) then took mobile from 62 to 79. Every text color passes WCAG AA in all three themes, light and dark. At launch, the metrics to watch are quiz-to-checkout conversion, edits on the plan page, and skips and pauses against cancellations.

Viteo — Landing page
Landing page

Depth under the pointer. On desktop, the pack is the pivot of the hero: near pills follow the cursor, far ones drift the other way, and the box turns far enough to show its side, then springs back into place.

Loading video...

Depth parallax under the pointer

A story told by scrolling. The carton tips open and its pills fly down the page, landing in the steps and then their ingredient cards. Scrolling back reverses it.

Loading video...

The scroll story
Viteo — Pills land in the steps
Pills land in the steps
Viteo — …then in their ingredients
…then in their ingredients
Viteo — The scroll story, mid-flight
The scroll story, mid-flight

Every ingredient, up close. A card opens a 3D close-up with dose, form, the quiz answers that add it, and what it's often packed with.

Viteo — Ingredient close-up
Ingredient close-up

A quiz that builds as you answer. Each answer that earns a pill drops it into “Your pack so far” with its reason, and the finale fills a pack printed with your name.

Viteo — Your pack so far
Your pack so far
Viteo — Building your pack
Building your pack

Loading video...

The finale: each pill drops into your pack

Plan, checkout and payment. Every item says why it's there and can be removed or swapped. Checkout is four short steps with plain-language errors. Payment is fully prototyped but safe by design: a wallet sheet, and a card form locked to public test cards, so no real card can ever be entered. A declined test card shows the error path.

Viteo — Your plan
Your plan
Viteo — Details
Details
Viteo — Delivery date
Delivery date
Viteo — Payment: wallet or locked test card
Payment: wallet or locked test card
Viteo — Review
Review
Viteo — Simulated Apple Pay sheet
Simulated Apple Pay sheet
Viteo — Order confirmed
Order confirmed

An account that keeps people in control. Sign-in is passwordless: an email link (it arrives as an on-screen notification in the preview) or a passkey. Skip and Pause sit on the next delivery, every change has Undo, and a routine tracker charts the days you took your pack. Cancelling offers one alternative that fits the reason, with “Continue to cancel” right beside it.

Viteo — Passwordless sign-in
Passwordless sign-in
Viteo — Signed in
Signed in
Viteo — Account
Account
Viteo — Cancelling: an alternative that fits the reason
Cancelling: an alternative that fits the reason

Beyond the store. Lab results by lot code, a partner program for professionals, and the messages people get between visits.

Viteo — Batch results
Batch results
Viteo — For professionals
For professionals
Viteo — Emails and messages
Emails and messages
03

Design Approach

Mobile-First, Enhanced Upward

People take quizzes and check off their pack on their phones, so the phone gets the complete product: one column, a sticky quiz bar, swipe rows, a full-screen quiz, bottom sheets and an app-style tab bar. Tablets add two columns. Desktops with a mouse add hover, a pointer-led light, the moving background and the live 3D. Each layer checks what the device can do before it loads, so phones never download the 3D, and with reduced motion everything is simply there.

Viteo on a phone — Landing
Landing
Viteo on a phone — Swipe rows
Swipe rows
Viteo on a phone — Close-up as a bottom sheet
Close-up as a bottom sheet
Viteo on a phone — Full-screen quiz
Full-screen quiz
Viteo on a phone — Account with a tab bar
Account with a tab bar
Viteo on a phone — Peach · Light
Peach · Light
Viteo on a tablet — landing page
Tablet · Landing
Viteo on a tablet — menu
Tablet · Menu

One Design System, Three Brands

Every color and font comes from tokens, so the product can change its whole look without touching a component. Three themes prove it: Aqua (the default), Grove and Peach, each with its own palette and type, in light and dark. A living design system page renders the real components, so it can't drift from the product.

Viteo — Aqua · Dark
Aqua · Dark
Viteo — Aqua · Light
Aqua · Light
Viteo — Grove · Dark
Grove · Dark
Viteo — Grove · Light
Grove · Light
Viteo — Peach · Dark
Peach · Dark
Viteo — Peach · Light
Peach · Light
Viteo — Design system
Design system
04

Engineering

Built with Next.js and React as a static site, with three.js for the 3D and GSAP for the choreographed moments.

  • 3D mapped to the layout: one transparent WebGL canvas where a 3D unit equals a CSS pixel, so the carton and pills are placed straight from the page layout, with nothing extra to keep in sync.
  • Modelled from the catalog: each product's color and form generate its pill. The same code bakes the images used everywhere else, so a new product needs no new artwork.
  • One GSAP timeline, two renderers: each object in the intro has one tween that drives both the 3D scene and the CSS fallback. Any click or scroll skips it, and the quiz finale moves on when its timeline completes, not on a guessed timer.
  • A living background: a WebGPU shader (falling back to WebGL2) sweeps a slow, pulsing silk ribbon of the theme's light behind every page. It draws at a third of the screen's resolution at 30fps, pauses when the tab is hidden, and stays off on phones and for reduced motion. Text can land anywhere on it, so in dark mode the shader caps its own brightness at the level where every text pair still passes AA, checked on every page as the light moves.
  • Fast by design: three.js loads only on capable desktops, warms up behind a branded preloader so the intro never stutters, and draws only while something moves.
  • Prototyped, not faked: sign-in, payment and cancellation are complete flows with loading, success and error states. Nothing is sent or charged, and the card form is locked to public test cards so it can never collect a real card.
  • Accessible throughout: keyboard support, focus management in every dialog, pinch-zoom, and reduced motion respected everywhere.
05

Learning & Next Steps

What I learned

  • Building the product instead of only drawing it surfaced the real decisions early: what happens when a quiz answer makes a question irrelevant, or when someone undoes a skip.
  • Driving every color and font from tokens made new themes cheap (Peach, with its own colors and type, needed no component changes), and each one doubled as a test that nothing was hard-coded.
  • Writing the copy as part of the design (the “why it’s here” lines, the preview labels, the plain-language errors) did as much for trust as any visual choice.

What's next

  • Connect the commerce layer: subscriptions and payments (for example Shopify or Stripe Billing), real accounts, and reminder emails and texts.
  • Run moderated usability tests on the quiz and plan pages, and see where people hesitate or edit.
  • Test the copy of the recommendations with people who already take supplements.
  • Measure how often each cancellation alternative is taken, and tune the offers by reason.

See it for yourself

Every flow works: take the quiz, open an ingredient, place an order and skip a delivery. Nothing is charged and nothing leaves your browser.

Try Viteo live

[ Let's connect ]

Let's work together

Have a project, a role, or an idea in mind? I'd love to hear about it.

cyril.florita@pm.me

Built with React, NextJS, & some cool JS libraries & plugins, and with lots of