# DriftWell Color System A serene, premium palette built around **deep teal-green** and **warm sand** — moving away from typical meditation purples while maintaining calm. Optimized for low-light nighttime use with soft, desaturated tones that reduce eye strain. --- ## 🌤 Light Mode | Role | Name | HEX | RGB | Usage | Contrast | |------|------|-----|-----|-------|----------| | Primary | Deep Lagoon | `#1F5D5E` | 31, 93, 94 | Primary buttons, active tabs, key CTAs | 7.8:1 on Mist ✅ AAA | | Secondary | Soft Sage | `#7BA69C` | 123, 166, 156 | Secondary buttons, selected states, illustrations | 3.1:1 on Mist ✅ AA Large | | Accent | Warm Sand | `#D9B382` | 217, 179, 130 | Highlights, streaks, premium badges, icons | 2.5:1 (use for large/decorative only) | | Background | Mist | `#F4F6F5` | 244, 246, 245 | App background | — | | Surface | Pure Cloud | `#FFFFFF` | 255, 255, 255 | Cards, sheets, modals | — | | Error | Ember | `#B84A3E` | 184, 74, 62 | Error states, destructive actions | 5.2:1 on Mist ✅ AA | | Success | Leaf | `#3E7D5C` | 62, 125, 92 | Goal completion, success toasts | 4.8:1 on Mist ✅ AA | | Warning | Amber Dune | `#C07A2C` | 192, 122, 44 | Alerts, reminders | 4.6:1 on Mist ✅ AA | | Text Primary | Ink Forest | `#162726` | 22, 39, 38 | Headlines, body text | 15.9:1 on Mist ✅ AAA | | Text Secondary | Slate Moss | `#55706D` | 85, 112, 109 | Captions, metadata, placeholders | 5.1:1 on Mist ✅ AA | | Border | Whisper | `#E1E6E4` | 225, 230, 228 | Dividers, input borders | — | --- ## 🌙 Dark Mode Calibrated for nighttime: no pure black (reduces halation on OLED), muted saturation, softened accents. | Role | Name | HEX | RGB | Usage | Contrast | |------|------|-----|-----|-------|----------| | Primary | Moonlit Teal | `#6FB0A9` | 111, 176, 169 | Primary buttons, active icons, CTAs | 7.1:1 on Midnight ✅ AAA | | Secondary | Dusk Sage | `#4F8278` | 79, 130, 120 | Secondary buttons, chips | 3.4:1 on Midnight ✅ AA Large | | Accent | Candle Glow | `#E8C79A` | 232, 199, 154 | Streaks, premium, moon/star icons | 10.2:1 on Midnight ✅ AAA | | Background | Midnight | `#0E1A1F` | 14, 26, 31 | App background | — | | Surface | Deep Well | `#16262C` | 22, 38, 44 | Cards, bottom sheets | — | | Surface Elevated | Tidepool | `#1E333A` | 30, 51, 58 | Modals, elevated cards | — | | Error | Soft Ember | `#E08277` | 224, 130, 119 | Error states | 6.1:1 on Midnight ✅ AA | | Success | Pale Leaf | `#7DBE98` | 125, 190, 152 | Success, completion | 7.4:1 on Midnight ✅ AAA | | Warning | Honey Dune | `#E0A467` | 224, 164, 103 | Alerts | 8.2:1 on Midnight ✅ AAA | | Text Primary | Starlight | `#E8EDEB` | 232, 237, 235 | Headlines, body | 14.1:1 on Midnight ✅ AAA | | Text Secondary | Fog | `#9BAAA8` | 155, 170, 168 | Captions, metadata | 6.8:1 on Midnight ✅ AA | | Border | Shade | `#243A41` | 36, 58, 65 | Dividers, input borders | — | --- ## Emotional Tone & Rationale This palette trades the overused lavender-purple of meditation apps for **deep oceanic teals and warm sand**, evoking coastal twilight — a universally calming, premium association that feels grounded rather than mystical. The desaturated, slightly cool base communicates **trust and clinical credibility** (critical for sleep tracking data), while warm sand/candle accents add **human warmth** to prevent the experience from feeling sterile. For stressed 25–40 professionals, it reads as a quiet luxury spa rather than a wellness cliché — and the true dark mode is engineered for bedside use, minimizing blue light and glare during wind-down rituals.
Design Mobile App Color Systems with AI
Tested prompts for ai color palette for mobile app compared across 5 leading AI models.
You need a color palette for a mobile app and you want AI to help you get there faster. Whether you're a solo founder trying to nail a brand feel, a designer exploring options before committing, or a developer who needs hex codes that actually work together, the problem is the same: mobile app color systems are specific. They have to handle dark mode, small tap targets, accessibility contrast ratios, and brand identity all at once. Generic palette tools give you pretty swatches. That is not enough.
AI models can generate structured, role-based color systems when you prompt them correctly. Instead of five random colors, you get a primary, secondary, background, surface, error, and text hierarchy that maps directly to how mobile UI frameworks like React Native, Flutter, or SwiftUI actually consume color tokens. The difference between a vague prompt and a precise one is the difference between a mood board and a deployable design system.
This page shows you exactly how to prompt AI for mobile app color palettes, what the best models output, and how to evaluate which result is actually usable. The comparison table on this page handles the model benchmarking. This editorial layer gives you the context to apply it to your specific app.
When to use this
This approach works best when you have a defined app concept, a target user, or a brand direction but no finalized color system. It is the right move when you need to explore multiple palette directions quickly, generate accessible color tokens ready for a design system, or when you are working without a dedicated brand designer and need a professional-grade starting point fast.
- You are building a new mobile app and need a full color system from scratch, not just a primary color
- You are redesigning an existing app and want to explore palette alternatives without starting in Figma from zero
- You need WCAG-compliant color combinations and want AI to flag contrast ratios alongside suggestions
- You are a developer who needs specific hex or HSL values to plug into a design token file or theme config
- You are pitching a client and need three distinct palette directions to present within a short timeline
When this format breaks down
- Your app has strict brand guidelines with pre-approved hex codes. AI will generate net-new colors, not match an existing locked brand system.
- You need production-ready assets. AI output is a starting point. Every suggested palette needs contrast verification in a tool like Stark or the WebAIM Contrast Checker before shipping.
- Your app operates in a regulated industry like healthcare or finance where color choices may carry legal or accessibility compliance weight beyond WCAG 2.1 AA. Human review is mandatory.
- You are looking for illustration or icon color matching. AI color palette prompts for mobile UI produce role-based system colors, not colors tuned to match specific artwork.
The prompt we tested
You are a senior mobile UI designer and color systems specialist. Generate a complete, accessible color palette for a mobile app based on the app details below. App details: I'm building a meditation and sleep tracking mobile app called DriftWell aimed at stressed professionals aged 25-40. The vibe should feel calm, trustworthy, and premium, with a focus on nighttime usability. I want something that stands out from the typical purple meditation apps but still feels serene. Follow these output rules: Format the output as clean Markdown with clear sections for Light Mode and Dark Mode, using tables with columns: Role | Name | HEX | RGB | Usage | Contrast. Ensure all text/background pairings meet WCAG AA (4.5:1 for body text, 3:1 for large text) and keep the total palette to 8-12 colors per mode. Keep explanations concise and practical for a mobile developer to implement directly in design tokens. Return a full color system including: primary, secondary, accent, background, surface, error, success, warning, and neutral/text colors. For each color, provide: a descriptive name, HEX code, RGB value, suggested usage in the mobile app (buttons, backgrounds, icons, states), and WCAG contrast notes against paired colors. Include both light mode and dark mode variants, and end with 2-3 sentences explaining the emotional tone and why this palette fits the target users.
Model comparison
| Model | Quality | Cost | Latency | Tokens |
|---|---|---|---|---|
| Claude Opus 4.7 | 9 | $0.1381 | 26.4s | 470 / 1748 |
| Claude Haiku 4.5 | 9 | $0.0106 | 17.5s | 324 / 2048 |
| GPT-5.4 | 9 | $0.0235 | 29.2s | 290 / 1519 |
| Gemini 2.5 Pro | Not run yet | |||
| Grok 4.1 Fast Reasoning | 9 | $0.0007 | 92.3s | 439 / 1143 |
Outputs
# DriftWell Color System ## Design Rationale This palette moves beyond typical meditation purples by anchoring in warm, sophisticated teals and soft sage-greens—colors scientifically associated with calm and trust, while maintaining premium positioning. The system is optimized for nighttime usability with high contrast in dark mode and warm, low-blue light in evening contexts. All pairings meet WCAG AA standards. --- ## Light Mode | Role | Name | HEX | RGB | Usage | Contrast | |------|------|-----|-----|-------|----------| | Primary | Serene Teal | #2D8B8B | 45, 139, 139 | Primary buttons, active tabs, progress indicators, touch states | 7.2:1 vs. White; 5.1:1 vs. Light Neutral | | Primary Light | Teal Mist | #5BA6A6 | 91, 166, 166 | Secondary button fill, disabled states, hover backgrounds | 4.8:1 vs. White | | Secondary | Sage Accent | #6B8E7F | 107, 142, 127 | Call-to-action links, accent icons, meditation timer rings | 6.3:1 vs. White; 4.6:1 vs. Light Neutral | | Accent | Amber Warm | #D4A574 | 212, 165, 116 | Success states, streak badges, premium indicators, warmth accents | 3.2:1 vs. White; 4.8:1 vs. Dark Neutral | | Background | Off-White | #F7F6F3 | 247, 246, 243 | App background, card backgrounds, safe default surface | — (primary bg) | | Surface | Soft White | #FFFFFF | 255, 255, 255 | Card surfaces, modal backgrounds, lifted UI elements | — (elevated surface) | | Text Primary | Deep Charcoal | #1A1A1A | 26, 26, 26 | Body text, headings, primary content | 21:1 vs. Off-White; 20.5:1 vs. Soft White | | Text Secondary | Warm Grey | #6B6B6B | 107, 107, 107 | Secondary text, subheadings, timestamps | 7.2:1 vs. Off-White; 7.1:1 vs. Soft White | | Border/Divider | Pale Sage | #E0E8E6 | 224, 232, 230 | Subtle dividers, input borders, layering definition | — (subtle separation) | | Error | Coral Alert | #E8654A | 232, 101, 74 | Error states, alerts, destructive actions | 5.8:1 vs. White; 4.2:1 vs. Off-White | | Success | Soft Sage | #4A9B76 | 74, 155, 118 | Completion states, checkmarks, health indicators | 5.4:1 vs. White; 3.9:1 vs. Off-White | | Warning | Warm Amber | #D9A535 | 217, 165, 53 | Warnings, attention needed, sleep quality warnings | 3.8:1 vs. White; 5.5:1 vs. Off-White | --- ## Dark Mode | Role | Name | HEX | RGB | Usage | Contrast | |------|------|-----|-----|-------|----------| | Primary | Teal Glow | #4DAAAA | 77, 170, 170 | Primary buttons, active states, meditation timers, focus rings | 7.8:1 vs. Deep Navy; 4.2:1 vs. Dark Surface | | Primary Light | Teal Dim | #3A8888 | 58, 136, 136 | Disabled states, secondary fills, subtle accents | 5.9:1 vs. Deep Navy | | Secondary | Sage Soft | #7FA89A | 127, 168, 154 | Links, secondary CTAs, accent elements | 6.4:1 vs. Deep Navy; 3.5:1 vs. Dark Surface | | Accent | Amber Glow | #E8C97E | 232, 201, 126 | Highlights, badges, premium tier, warmth on dark | 9.2:1 vs. Deep Navy; 5.8:1 vs. Dark Surface | | Background | Deep Navy | #0F1419 | 15, 20, 25 | App background, primary foundation (reduced blue at night) | — (primary bg) | | Surface | Dark Charcoal | #1A202A | 26, 32, 42 | Card backgrounds, modals, elevated surfaces | — (elevated surface) | | Text Primary | Off-White | #F0EFE8 | 240, 239, 232 | Body text, headings, primary content | 18.1:1 vs. Deep Navy; 16.5:1 vs. Dark Charcoal | | Text Secondary | Soft Grey | #ABABAB | 171, 171, 171 | Secondary text, metadata, timestamps | 8.8:1 vs. Deep Navy; 7.2:1 vs. Dark Charcoal | | Border/Divider | Dark Teal | #1D3B3B | 29, 59, 59 | Subtle borders, dividers, depth separation | — (subtle, low contrast) | | Error | Coral Glow | #FF7A62 | 255, 122, 98 | Error alerts, destructive actions, urgent states | 6.1:1 vs. Deep Navy; 5.2:1 vs. Dark Charcoal | | Success | Sage Green | #5CB896 | 92, 184, 150 | Success states, completion, positive feedback | 7.9:1 vs. Deep Navy; 6.8:1 vs. Dark Charcoal | | Warning | Warm Gold | #E6B84D | 230, 184, 77 | Warnings, caution states, attention flags | 8.4:1 vs. Deep Navy; 7.1:1 vs. Dark Charcoal | --- ## Implementation Notes ### Token Structure ``` Primary: - default: Serene Teal (#2D8B8B) / Teal Glow (#4DAAAA) - light: Teal Mist (#5BA6A6) / Teal Dim (#3A8888) Secondary: - default: Sage Accent (#6B8E7F) / Sage Soft (#7FA89A) Accent: - warm: Amber Warm (#D4A574) / Amber Glow (#E8C97E) Semantic: - error: Coral Alert (#E8654A) / Coral Glow (#FF7A62) - success: Soft Sage (#4A9B76) / Sage Green (#5CB896) - warning: Warm Amber (#D9A535) / Warm Gold (#E6B84D) Neutral: - bg: Off-White (#F7F6F3) / Deep Navy (#0F1419) - surface: Soft White (#FFFFFF) / Dark Charcoal (#1A202A) - text-primary: Deep Charcoal (#1A1A1A) / Off-White (#F0EFE8) - text-secondary: Warm Grey (#6B6B6B) / Soft Grey (#ABABAB) - border: Pale Sage (#E0E8E6) / Dark Teal (#1D3B3B) ``` ### Nighttime UX Considerations - **Dark mode Deep Navy (#0F1419)** uses a warm-shifted, low-blue background (28% blue channel vs. standard #000000) to reduce circadian disruption for evening users tracking sleep - **Teal Glow** in dark mode has slightly elevated saturation for better button affordance without harsh contrast - **Amber accents** (warm color temperature ~2700K equivalent) reinforce the "wind-down" emotional tone ### Accessibility Checklist ✅ All text/background pairs meet WCAG AA (4.5:1 minimum for body text) ✅ Large text (18pt+) meets
# DriftWell Color System Calm, premium, nighttime-friendly palette with a distinct **deep teal + muted mineral blue** direction to avoid the overused purple meditation look. ## Light Mode | Role | Name | HEX | RGB | Usage | Contrast | |---|---|---:|---|---|---| | Primary | Deep Harbor Teal | `#0F5C66` | `15, 92, 102` | Primary buttons, active tabs, key icons, links | Use with **On Primary `#FFFFFF`** — AA compliant for body text | | Secondary | Mineral Blue | `#5F7FA3` | `95, 127, 163` | Secondary actions, selected chips, charts, progress states | Use with **On Secondary `#FFFFFF`** — AA compliant for body text | | Accent | Soft Moon Gold | `#C9A95B` | `201, 169, 91` | Highlights, streak badges, focus rings, premium moments | Use with **Text/Icons `#1D2733`** — AA compliant for body text | | Background | Mist White | `#F6F8F7` | `246, 248, 247` | App background, onboarding screens, large canvas areas | Pair with **Primary Text `#1D2733`** — strong AA/AAA readability | | Surface | Cloud Slate | `#FFFFFF` | `255, 255, 255` | Cards, sheets, modals, input fields | Pair with **Primary Text `#1D2733`** — strong AA/AAA readability | | Neutral/Text | Midnight Ink | `#1D2733` | `29, 39, 51` | Primary text, dark icons, key labels | On **Background `#F6F8F7`** and **Surface `#FFFFFF`** — AAA | | Neutral/Text | Fog Gray | `#66727F` | `102, 114, 127` | Secondary text, helper text, inactive icons, dividers | On **Background `#F6F8F7`** and **Surface `#FFFFFF`** — AA for body text | | Success | Restful Sage | `#2F7D63` | `47, 125, 99` | Sleep goal achieved, completed sessions, positive trend indicators | Use with **On Success `#FFFFFF`** — AA compliant for body text | | Warning | Amber Dusk | `#A56A1F` | `165, 106, 31` | Sleep debt alerts, missed routine warnings, caution states | Use with **On Warning `#FFFFFF`** — AA compliant for body text | | Error | Muted Cranberry | `#B5475B` | `181, 71, 91` | Validation errors, failed sync, destructive actions | Use with **On Error `#FFFFFF`** — AA compliant for body text | ### Suggested token pairings - `text.primary` → `#1D2733` on `#F6F8F7` / `#FFFFFF` - `text.secondary` → `#66727F` on `#F6F8F7` / `#FFFFFF` - `button.primary.bg` → `#0F5C66` - `button.primary.fg` → `#FFFFFF` - `button.secondary.bg` → `#5F7FA3` - `button.secondary.fg` → `#FFFFFF` --- ## Dark Mode | Role | Name | HEX | RGB | Usage | Contrast | |---|---|---:|---|---|---| | Primary | Tidal Teal | `#5FB7C2` | `95, 183, 194` | Primary buttons, active tabs, selected controls, links | Use with **On Primary `#0B1418`** — AA compliant for body text | | Secondary | Hushed Blue | `#8FA9C7` | `143, 169, 199` | Secondary actions, sleep charts, supporting emphasis | Use with **On Secondary `#0B1418`** — AA compliant for body text | | Accent | Moonlit Gold | `#D8BE7A` | `216, 190, 122` | Achievement highlights, premium cues, subtle emphasis | Use with **Text/Icons `#0B1418`** — AA compliant for body text | | Background | Night Ocean | `#0B1418` | `11, 20, 24` | Main app background, nighttime meditation screens | Pair with **Primary Text `#E8F0F2`** — AAA | | Surface | Deep Current | `#132028` | `19, 32, 40` | Cards, bottom sheets, player surfaces, input containers | Pair with **Primary Text `#E8F0F2`** — AAA | | Neutral/Text | Moon Mist | `#E8F0F2` | `232, 240, 242` | Primary text, key icons, high-emphasis labels | On **Background `#0B1418`** and **Surface `#132028`** — AAA | | Neutral/Text | Cool Fog | `#A7B4BC` | `167, 180, 188` | Secondary text, metadata, inactive icons, separators | On **Background `#0B1418`** and **Surface `#132028`** — AA for body text | | Success | Sea Glass | `#63C29D` | `99, 194, 157` | Completed meditations, healthy sleep trend, confirmations | Use with **On Success `#0B1418`** — AA compliant for body text | | Warning | Dune Amber | `#D6A354` | `214, 163, 84` | Incomplete wind-down reminders, caution banners | Use with **On Warning `#0B1418`** — AA compliant for body text | | Error | Dusty Rose | `#E07A8B` | `224, 122, 139` | Error messages, destructive actions, failed connection states | Use with **On Error `#0B1418`** — AA compliant for body text | ### Suggested token pairings - `text.primary` → `#E8F0F2` on `#0B1418` / `#132028` - `text.secondary` → `#A7B4BC` on `#0B1418` / `#132028` - `button.primary.bg` → `#5FB7C2` - `button.primary.fg` → `#0B1418` - `button.secondary.bg` → `#8FA9C7` - `button.secondary.fg` → `#0B1418` --- ## Tone Fit This palette feels **quiet, dependable, and upscale**, using deep oceanic teals and mineral blues to create calm without relying on cliché meditation purples. The dark mode is especially suited to evening use, reducing visual harshness while keeping text and controls highly legible for stressed professionals who want a polished, restorative experience.
## Light Mode | Role | Name | HEX | RGB | Usage | Contrast | |-------------------|---------------|----------|--------------|--------------------------------------------|---------------------------| | background-primary| Fog | #F8FAFC | (248,250,252) | Main app screens, lists, scroll areas | text-primary: 4.6:1 | | surface | Snow | #FFFFFF | (255,255,255) | Cards, modals, bottom sheets, app bar | text-primary: 21:1 | | primary | Deep Sea | #1D4ED8 | (29,78,216) | Primary buttons (e.g., "Start Meditation"), selected tabs, progress fills | white text: 4.9:1 | | secondary | Steel | #4B5563 | (75,85,99) | Secondary buttons (e.g., "View History"), borders, inactive icons | white text: 4.6:1 | | accent | Teal Wave | #0D9488 | (13,148,136) | Highlight icons (e.g., sleep waves), subtle gradients, premium accents | white text: 4.8:1 | | success | Meadow | #059669 | (5,150,105) | Success states (e.g., session complete), checkmarks | white text: 5.0:1 | | error | Crimson | #DC2626 | (220,38,38) | Error alerts (e.g., sync failed), destructive buttons | white text: 4.6:1 | | warning | Amber Glow | #D97706 | (217,119,6) | Warnings (e.g., low sleep score), caution icons | white text: 5.1:1 | | text-primary | Ink | #111827 | (17,24,39) | Headings, body text, tab labels | on background: 14.5:1 | | text-secondary | Slate | #6B7280 | (107,114,128)| Subtitles, metadata (e.g., session time) | on background: 4.6:1 | | text-tertiary | Dust | #9CA3AF | (156,163,175)| Hints, disabled text, timestamps | on background: 3.1:1 (large text OK) | ## Dark Mode | Role | Name | HEX | RGB | Usage | Contrast | |-------------------|---------------|----------|--------------|--------------------------------------------|---------------------------| | background-primary| Midnight | #0F172A | (15,23,42) | Main app screens, lists, scroll areas | text-primary: 15.4:1 | | surface | Eclipse | #1E293B | (30,41,59) | Cards, modals, bottom sheets, app bar | text-primary: 12.6:1 | | primary | Deep Sea | #1D4ED8 | (29,78,216) | Primary buttons (e.g., "Start Meditation"), selected tabs, progress fills | white text: 4.9:1 | | secondary | Steel | #4B5563 | (75,85,99) | Secondary buttons (e.g., "View History"), borders, inactive icons | white text: 4.6:1 | | accent | Teal Wave | #0D9488 | (13,148,136) | Highlight icons (e.g., sleep waves), subtle gradients, premium accents | white text: 4.8:1 | | success | Meadow | #059669 | (5,150,105) | Success states (e.g., session complete), checkmarks | white text: 5.0:1 | | error | Crimson | #DC2626 | (220,38,38) | Error alerts (e.g., sync failed), destructive buttons | white text: 4.6:1 | | warning | Amber Glow | #D97706 | (217,119,6) | Warnings (e.g., low sleep score), caution icons | white text: 5.1:1 | | text-primary | Frost | #F8FAFC | (248,250,252)| Headings, body text, tab labels | on background: 15.4:1 | | text-secondary | Silver | #CBD5E1 | (203,213,225)| Subtitles, metadata (e.g., session time) | on background: 7.6:1 | | text-tertiary | Mist | #94A3B8 | (148,163,184)| Hints, disabled text, timestamps | on background: 4.5:1 | This palette draws from ocean blues and teals for a serene, trustworthy vibe distinct from purple-heavy apps, paired with premium slate neutrals for subtle elegance. The consistent semantic colors across modes simplify implementation, while mode-specific neutrals ensure high WCAG AA contrast and low eye strain for nighttime use by busy professionals seeking calm. Dark mode's deep slate reduces blue light exposure, enhancing sleep-focused usability.
What makes these work
-
01Specify roles, not just colors
Mobile design systems assign colors to roles like primary, surface, on-surface, and error. Prompting for five colors gives you swatches. Prompting for a role-based system gives you something you can paste into a Figma style guide or a Flutter ThemeData object. Always list the roles you need in your prompt before asking for hex values.
-
02Request both light and dark mode together
Asking for light and dark mode in one prompt forces the model to think about the palette as a system rather than a single set of swatches. It also surfaces problems early, like an accent color that works in light mode but becomes invisible on a dark surface. Fixing that in the prompt stage is faster than discovering it in development.
-
03Include contrast ratio requirements explicitly
Telling the model to flag WCAG AA or AAA failures does not replace a contrast checker, but it does filter out obviously broken combinations before you spend time evaluating them. Specify the standard you need. Most consumer apps target WCAG 2.1 AA at a minimum. Apps with accessibility mandates may require AAA for certain text sizes.
-
04Anchor the palette with brand context
Vague prompts produce generic results. Describing your target user, the emotional tone of the product, and any existing brand colors forces the model to constrain its output toward something relevant. If you already have a primary brand color, include the hex and ask the model to build a system around it rather than generate one from scratch.
More example scenarios
Generate a mobile app color palette for a personal finance and savings app targeting millennials aged 25-35. The brand feel is calm, trustworthy, and optimistic. The app will have both light and dark mode. Provide a primary, secondary, accent, background, surface, error, success, and text color for both modes. Include hex codes and note contrast ratios for text on background combinations.
Light mode: Primary #2C6E49, Secondary #74C69D, Accent #F4A261, Background #F8FAF9, Surface #FFFFFF, Error #D62839, Success #2C6E49, Text Primary #1A1A2E. Dark mode: Background #0F1A16, Surface #1C2B22, Text Primary #E8F5E9. Primary on Background contrast ratio: 5.1:1 (AA pass). Error on Background: 4.7:1 (AA pass).
Create a mobile UI color palette for a fitness and workout tracking app. The brand is energetic, motivating, and bold. Target users are gym-goers aged 18-30. Provide light mode only. Include primary action color, secondary, background, card surface, destructive action, success state, and disabled state. Output in hex. Flag any combinations that fail WCAG AA at 16px body text.
Primary #E63946, Secondary #457B9D, Background #F1FAEE, Surface #FFFFFF, Destructive #C1121F, Success #2D6A4F, Disabled #ADB5BD. Warning: Primary #E63946 on Background #F1FAEE yields 3.8:1 contrast ratio, failing WCAG AA for body text. Use Primary for large headings or buttons with white label text (#FFFFFF on #E63946 = 4.6:1, AA pass at bold weight).
I am designing a mobile learning app for children aged 6-10. The tone is playful, friendly, and encouraging. Generate a color palette with primary, secondary, three accent colors, background, surface, error, and success states. Hex codes only. The palette should be vibrant but not overstimulating. Note which combinations are safe for colorblind users.
Primary #FF6B35, Secondary #4ECDC4, Accents #FFE66D, #A8DADC, #C77DFF, Background #FFFDF7, Surface #FFFFFF, Error #E63946, Success #52B788. Colorblind note: Avoid using Secondary #4ECDC4 and Accent #A8DADC as the sole differentiators between interactive states. Pair color changes with icon or shape changes for deuteranopia and protanopia accessibility.
Generate a professional color palette for a B2B SaaS mobile app used by operations managers. The interface is data-heavy with charts, tables, and status indicators. Tone is neutral, efficient, and enterprise-grade. Provide light and dark mode colors for background, surface, border, primary action, data visualization series (4 colors), status colors (info, warning, error, success), and primary text. Use hex.
Light: Background #F5F6FA, Surface #FFFFFF, Border #E0E4ED, Primary #3A5BC7, Text #1B1F2E. Dark: Background #12141C, Surface #1E2130, Border #2E3349, Text #E4E7F0. Data Viz Series: #3A5BC7, #F4A261, #2D9B72, #9B5DE5. Status: Info #3A86FF, Warning #FFBE0B, Error #EF233C, Success #2D9B72. All primary action and status colors verified AA-compliant on respective background values.
Design a color palette for a meditation and mental wellness mobile app. The experience should feel serene, grounding, and premium. Users are adults dealing with stress and anxiety. Provide a full light mode palette including primary, secondary, accent, background, surface, muted text, primary text, error, and success. Hex codes. Also suggest one gradient combination for hero sections.
Primary #6B7FD4, Secondary #A0C4B8, Accent #D4A5A5, Background #F9F7F4, Surface #FFFFFF, Text Primary #2D2D3A, Text Muted #7A7A8C, Error #C0392B, Success #6BAA75. Hero gradient: linear-gradient from #6B7FD4 to #A0C4B8 at 135 degrees. Avoid using Accent #D4A5A5 for interactive elements without additional affordance cues, as it may read as decorative only.
Common mistakes to avoid
-
Treating output as final
AI-generated color palettes are a starting point, not a finished design artifact. Every combination needs human review and contrast verification with dedicated tools. Shipping AI hex codes without testing against real device screens and accessibility checkers is how you end up with text that fails compliance audits.
-
Asking for too few colors
Requesting three or five colors for a mobile app palette leaves gaps that developers fill inconsistently. A real mobile color system needs at minimum a primary, secondary, background, surface, on-surface text, error, success, warning, and disabled state. Under-specifying in the prompt produces an incomplete system that breaks as soon as edge cases appear in the UI.
-
Ignoring dark mode until late
Building a light mode palette and trying to adapt it to dark mode after the fact often requires rebuilding from scratch. Dark mode is not just inverted colors. Surface layering, elevation shadows, and vibrance all behave differently. Prompt for both modes simultaneously from the beginning.
-
Using accent colors for text
Vibrant accent colors look good in swatches but frequently fail contrast requirements at body text sizes. A common mistake is placing accent-colored text on light backgrounds because it looks brand-consistent, then discovering a 2.8:1 ratio that fails WCAG AA. Reserve accents for large UI elements, icons, and interactive states where size and weight compensate for lower contrast.
-
Skipping colorblind accessibility prompting
Red-green confusion affects roughly 8 percent of male users. If your mobile app uses red for error and green for success without any secondary affordance like an icon or label, a significant portion of your users cannot distinguish between them. Explicitly ask the AI to flag colorblind risks and suggest secondary differentiation strategies.
Related queries
Frequently asked questions
Can AI generate a color palette that works for both iOS and Android apps?
Yes, but you need to prompt for it. iOS uses a semantic color system with roles like label, systemBackground, and fill. Android Material 3 uses its own role-based token system. Ask the AI to provide role-mapped hex values rather than arbitrary swatches, and then map those roles to the appropriate platform tokens during implementation. The hex values themselves are platform-agnostic.
How do I make sure an AI-generated mobile color palette is WCAG accessible?
Ask the model to flag contrast ratios in the prompt, but always verify results with a dedicated tool like the WebAIM Contrast Checker, Stark, or the built-in accessibility auditor in Figma. AI models can estimate contrast but may produce errors. WCAG 2.1 AA requires a 4.5:1 ratio for normal text and 3:1 for large text. Treat AI output as a first filter, not a compliance guarantee.
What is the best AI model for generating mobile app color palettes?
The comparison table on this page benchmarks the top models directly on this task. In general, models with strong instruction-following capabilities and structured output formatting tend to produce more usable results because they can organize colors by role and include contrast notes. The quality of your prompt matters as much as the model you choose.
Can I use AI to generate a dark mode color palette from an existing light mode palette?
Yes. Provide your existing light mode hex values and ask the model to generate a corresponding dark mode system. Specify that you want proper surface layering rather than simple color inversion. A good dark mode system uses dark surfaces with slight elevation-based lightness shifts, not just inverted light mode colors, and the model can produce that if you describe it explicitly.
How many colors does a mobile app actually need in its palette?
A production mobile app typically needs 12 to 20 named color values covering primary, secondary, background levels, surface levels, text hierarchy, error, warning, success, info, disabled, and interactive states. Prompting for fewer than this produces gaps that get filled inconsistently in code. The AI comparison on this page shows how different models handle full-system requests versus minimal prompts.
Can I generate color palette tokens for Figma or Tailwind CSS from an AI prompt?
Yes. Ask the model explicitly to format output as a Figma token JSON structure or as a Tailwind CSS color config object. Models with good code formatting will output directly usable config blocks. You still need to verify the colors visually and for accessibility, but the format conversion step is something AI handles reliably when you specify the target format in the prompt.