Duolingo design system.
Duolingo design system — Piattaforma di apprendimento linguistico. Verde gufo brillante, ombre spesse, gioia gamificata.
Guardalo in contesto
Gli stessi design token applicati a diversi tipi di artefatto — un sito web, un’app, una slide, un poster. Mock originali ri-vestiti con questo sistema, non screenshot.
it
real.
Design token
56 token conformi al token contract di Open Design — gli stessi valori strutturati di palette, tipografia, spaziatura e motion che il tuo agent legge per applicare il tema a qualsiasi artefatto.
Superficie
-
--bg#ffffff -
--surface#f7f7f7 -
--surface-warmvar(--surface)
Testo
-
--fg#3c3c3c -
--fg-2var(--fg) -
--muted#777777 -
--meta#afafaf
Bordo
-
--border#e5e5e5 -
--border-softvar(--border)
Accento
-
--accent#58cc02 -
--accent-on#ffffff -
--accent-hover#89e219 -
--accent-active#58a700
Semantico
-
--success#58cc02 -
--warn#ffc800 -
--danger#ff4b4b
Tipografia
-
--font-display"Feather Bold", "DIN Round Pro", "Helvetica Neue", sans-serif -
--font-body"Mona Sans", "Helvetica Neue", system-ui, sans-serif -
--font-mono"JetBrains Mono", ui-monospace, Menlo, Monaco, Consolas, monospace
Scala tipografica
-
--text-xs12px -
--text-sm13px -
--text-base15px -
--text-lg18px -
--text-xl24px -
--text-2xl32px -
--text-3xl40px -
--text-4xl56px -
--leading-body1.5 -
--leading-tight1.15 -
--tracking-display-0.01em
Spaziatura
-
--space-14px -
--space-28px -
--space-312px -
--space-416px -
--space-520px -
--space-624px -
--space-832px -
--space-1248px -
--section-y-desktop80px -
--section-y-tablet56px -
--section-y-phone40px
Raggio
-
--radius-sm12px -
--radius-md16px -
--radius-lg20px -
--radius-pill9999px
Elevazione
-
--elev-flatnone -
--elev-ring0 0 0 2px var(--border) -
--elev-raised0 4px 0 #d7d7d7
Focus
-
--focus-ring0 0 0 3px rgba(28, 176, 246, 0.2)
Motion
-
--motion-fast180ms -
--motion-base320ms -
--ease-standardcubic-bezier(0.34, 1.56, 0.64, 1)
Layout
-
--container-max1080px -
--container-gutter-desktop24px -
--container-gutter-tablet20px -
--container-gutter-phone16px
Sistema di design ispirato a Duolingo
Category: Produttività e SaaS Piattaforma di apprendimento delle lingue. Verde gufo brillante, ombre spesse, gioia gamificata.
1. Tema visivo e atmosfera
Duolingo è la gamificazione resa come linguaggio visivo. L’interfaccia è senza riserve luminosa, con il verde gufo (#58cc02) come colore primario del brand e una spessa ombra di 4px nella parte inferiore di ogni elemento interattivo, che si legge come un pulsante 3D in attesa di essere premuto. La pagina è bianca (#ffffff) con bordi spessi di 2–3px in grigio scuro (#e5e5e5), e l’intero sistema si legge come un’app iOS del 2015 rinata con una gerarchia migliore.
La tipografia usa Feather Bold (un sans-serif arrotondato personalizzato) per il chrome e Mona Sans (o Inter) per il corpo del testo. Le dimensioni display sono grandi e sicure — Duolingo non sussurra mai. I titoli portano spesso il tratto sottolineato verde o siedono su una pillola verde, e la mascotte Duo (un gufo verde) appare come un personaggio illustrativo attivo, non come un logo statico.
Il linguaggio delle forme è amichevole: raggi di 16–20px sulle schede, 12px sui pulsanti, 9999px su chip e barre di avanzamento. L’iconografia è piena, arrotondata e codificata per colore per competenza — ogni superficie di lezione ha una combinazione di colori immediatamente identificabile.
Caratteristiche principali:
- Verde gufo (
#58cc02) come colore di brand dominante, usato in oltre il 30% della superficie - Spessa ombra inferiore di 4px su ogni pulsante (l’affordance della “pressione tattile”)
- Bordi solidi di 2–3px, mai linee sottili
- Feather Bold (display arrotondato) + Mona Sans (corpo)
- Testo grande e sicuro — le dimensioni display partono da 48px e salgono
- Mascotte come personaggio: Duo il gufo appare nell’onboarding, negli errori, nelle serie
- Arancione serie (
#ff9600) e rosa gemma (#ce82ff) come colori di brand secondari
2. Palette colori e ruoli
Primario
- Verde gufo (
#58cc02): Primario brand, CTA principale, risposta corretta. - Verde gufo scuro (
#58a700): Colore di pressione/ombra per i pulsanti verdi. - Verde gufo chiaro (
#89e219): Hover, riempimenti morbidi. - Verde gufo pallido (
#dbf8c5): Superficie morbida, banner di successo.
Accenti secondari
- Arancione serie (
#ff9600): Contatore serie, icona fiamma, energia premium. - Arancione serie scuro (
#cc7a00): Arancione premuto. - Rosa gemma (
#ce82ff): Valuta gemma, Super Duolingo. - Blu anguilla (
#1cb0f6): Pulsante suggerimento, link informativo. - Rosso cardinale (
#ff4b4b): Risposta errata, vita persa. - Giallo ape (
#ffc800): Badge pro, risultato.
Superficie
- Neve (
#ffffff): Sfondo principale. - Anguilla (
#f7f7f7): Separazione sezione, superficie secondaria. - Cigno (
#e5e5e5): Sfondo disabilitato, blocco incorporato. - Lupo (
#777777): Divisore scuro, testo secondario.
Inchiostro e testo
- Nero anguilla (
#3c3c3c): Testo principale. - Lupo (
#777777): Testo secondario, didascalie. - Lepre (
#afafaf): Disabilitato, segnaposto.
Bordo
- Cigno (
#e5e5e5): Bordo standard 2px. - Lepre (
#afafaf): Bordo enfatizzato all’hover.
3. Regole tipografiche
Famiglia di font
- Display / UI / Titoli:
Feather Bold, con fallback:'DIN Round Pro', 'Helvetica Neue', sans-serif - Corpo / Testo lungo:
Mona Sans, con fallback:'Helvetica Neue', system-ui, sans-serif - Codice (raro, scuole/admin):
JetBrains Mono, con fallback:ui-monospace, Menlo, monospace
Gerarchia
| Ruolo | Font | Dimensione | Peso | Altezza riga | Spaziatura | Note |
|---|---|---|---|---|---|---|
| Display | Feather Bold | 56px (3.5rem) | 800 | 1.05 | -0.01em | Eroe onboarding |
| H1 | Feather Bold | 32px (2rem) | 800 | 1.15 | -0.005em | Titolo pagina |
| H2 | Feather Bold | 24px (1.5rem) | 800 | 1.2 | normal | Intestazione sezione |
| H3 | Feather Bold | 18px (1.125rem) | 700 | 1.25 | normal | Titolo scheda, riga lezione |
| Corpo grande | Mona Sans | 17px (1.0625rem) | 500 | 1.5 | normal | Prompt lezione, istruzione |
| Corpo | Mona Sans | 15px (0.9375rem) | 400 | 1.5 | normal | Prosa standard |
| Didascalia | Mona Sans | 13px (0.8125rem) | 600 | 1.4 | 0.01em | Contatore XP, metadati |
| Pulsante | Feather Bold | 16px (1rem) | 800 | 1.2 | 0.02em | Etichetta pulsante standard |
| Serie | Feather Bold | 14px (0.875rem) | 800 | 1.2 | normal | Numero serie, sulla fiamma |
Principi
- 800 è il predefinito: Feather Bold gira a 800 su titoli e pulsanti. 700 risulta debole in questo sistema.
- Testo grande: le dimensioni dei titoli sono 25–40% più grandi rispetto ai brand di prodotto tipici — la sicurezza come identità.
- Forme delle lettere arrotondate: ogni glifo ha terminazioni morbide; le grazie taglienti romperebbero il contratto di amichevolezza.
4. Stile dei componenti
Pulsanti
Primario (Verde gufo)
- Sfondo:
#58cc02 - Testo:
#ffffff - Spaziatura interna: 14px 24px
- Raggio: 16px
- Border-bottom: 4px solid
#58a700(l’ombra spessa) - Hover: sfondo
#89e219 - Attivo: translate-y 4px, border-bottom 0 (il pulsante “si preme”)
- Utilizzo: “Continua”, “Controlla”, CTA principale.
Secondario (Bianco con ombra inferiore)
- Sfondo:
#ffffff - Testo:
#777777 - Bordo: 2px solid
#e5e5e5 - Border-bottom: 4px solid
#e5e5e5 - Raggio: 16px
- Spaziatura interna: 14px 24px
- Hover: testo
#3c3c3c, bordo#afafaf
Arancione serie
- Sfondo:
#ff9600 - Testo:
#ffffff - Border-bottom: 4px solid
#cc7a00 - Utilizzo: obiettivo serie, “Inizia serie”
Errore (Rosso cardinale)
- Sfondo:
#ff4b4b - Testo:
#ffffff - Border-bottom: 4px solid
#cc3b3b - Utilizzo: feedback risposta errata.
Schede / Riquadri lezione
- Sfondo:
#ffffff - Bordo: 2px solid
#e5e5e5 - Border-bottom: 4px solid
#e5e5e5 - Raggio: 16px
- Spaziatura interna: 16px
- Hover: sollevare di 2px, ombra
0 4px 0 #d7d7d7
Nodo albero competenze (Bolla lezione)
- Dimensione: 80×72px
- Sfondo: tinta colore competenza (verde per attivo, grigio per bloccato)
- Border-bottom: 6px solid variante più scura
- Raggio: 50% (circolare)
- Attivo: pulsa 1.0 → 1.05 ogni 1.6s
Input
- Sfondo:
#ffffff - Bordo: 2px solid
#e5e5e5 - Raggio: 12px
- Spaziatura interna: 12px 16px
- Focus: bordo
#1cb0f6(blu anguilla), anello0 0 0 3px rgba(28, 176, 246, 0.2)
Barra di avanzamento
- Traccia:
#e5e5e5 - Riempimento:
#58cc02(o#ff9600per la serie) - Raggio: 9999px
- Altezza: 16px
- Riempimento animato: 320ms ease-out all’incremento.
5. Spaziatura e layout
- Unità base: 4px. Scala: 4, 8, 12, 16, 24, 32, 48, 64.
- Contenitore: max 1080px, grondaia 24px.
- Colonna albero lezioni: 320px di larghezza; centrata su desktop.
6. Movimento
- Durata: 180ms per la pressione del pulsante; 320ms per lo sblocco del nodo competenza; 1.6s per il pulse del nodo attivo.
- Easing:
cubic-bezier(0.34, 1.56, 0.64, 1)(back-out, leggero superamento) per gli sblocchi. - Mascotte: Duo sbatte le palpebre ogni 4–6s, salta ai traguardi della serie (480ms ease-out molla).
7. Linee guida sull’uso
- Mantieni insieme il verde gufo ad alta saturazione, le spesse ombre inferiori e la geometria arrotondata delle lezioni; i pulsanti verdi piatti da soli non si leggono come Duolingo.
- Riserva il testo in grassetto sovradimensionato per i momenti di lezione, serie e progresso in cui il prodotto ha bisogno di incoraggiamento o feedback.
- Usa il movimento giocoso con parsimonia attorno ai cambiamenti di stato di avanzamento, evitando animazioni rimbalzanti generiche su ogni controllo.
Tag
design-systemfirst-partydesignproductivity-saas