Files
OpenNoodl/dev-docs/tasks/phase-9-styles-overhaul/README.md

8.6 KiB

Phase 9: Styles Overhaul

Overview

Phase 9 transforms Noodl's styling experience from "start with nothing, figure it out yourself" to "sensible defaults that scale with your needs." This phase builds on Noodl's existing style tokens and variant systems, enhancing them into a cohesive design system that works for beginners and power users alike.

Philosophy: Make the happy path so good that manual styling feels unnecessary, while preserving complete freedom for those who need it.


The Problem We're Solving

Current Pain Points

  1. Blank Canvas Syndrome: Every new project starts with unstyled HTML elements
  2. Repetitive Setup: Users recreate the same color schemes, spacing scales, and button styles for every project
  3. Inconsistent Results: Without a system, apps become a patchwork of arbitrary values
  4. Beginner Overwhelm: New users don't know where to start with styling
  5. Power User Friction: Experienced users want systematic design tokens but have to build them from scratch

The Vision

TODAY:
  Drag "Button" → Get unstyled HTML button → 10 min styling

AFTER PHASE 8:
  Choose preset at project creation →
  Drag "Button" → Get beautiful themed button →
  Customize if needed (or don't)

Three Levels of Styling Freedom

Level Users What They See Philosophy
1. Variants Everyone Dropdown picker "Pick one, done"
2. Token Overrides Designers Token selector per property "Stay systematic, customize"
3. Manual Values Edge cases Full CSS control "You're on your own, but free"

All three levels coexist. Nothing is blocked. The UX guides users toward systematic approaches while preserving escape hatches.


Task Series

Task Name Effort Dependencies
STYLE-001 Token System Enhancement 12-16 hrs None
STYLE-002 Element Configs & Variants 16-20 hrs STYLE-001
STYLE-003 Style Presets System 8-12 hrs STYLE-001, STYLE-002
STYLE-004 Property Panel UX Overhaul 12-16 hrs STYLE-002
STYLE-005 Smart Style Suggestions 8-10 hrs STYLE-004
WIZARD-001 Project Creation Wizard 20-28 hrs STYLE-003, GIT-004A*, DEPLOY-001*, AI-004*

*Optional dependencies - wizard can ship incrementally

Total Estimated Effort: 76-102 hours


Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│                    PROJECT STYLE SYSTEM                          │
└─────────────────────────────────────────────────────────────────┘
                              │
         ┌────────────────────┼────────────────────┐
         ▼                    ▼                    ▼
┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
│  STYLE TOKENS   │  │ ELEMENT CONFIGS │  │  STYLE PRESETS  │
│   (STYLE-001)   │  │   (STYLE-002)   │  │   (STYLE-003)   │
│                 │  │                 │  │                 │
│ Colors          │  │ Group defaults  │  │ "Modern"        │
│ Spacing         │  │ Button variants │  │ "Minimal"       │
│ Typography      │  │ Text defaults   │  │ "Playful"       │
│ Borders         │  │ Input variants  │  │ "Enterprise"    │
│ Shadows         │  │ etc.            │  │ "Custom"        │
│ Animations      │  │                 │  │                 │
└────────┬────────┘  └────────┬────────┘  └────────┬────────┘
         │                    │                    │
         └────────────────────┼────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│              PROPERTY PANEL UX (STYLE-004)                       │
│                                                                  │
│  Level 1: Variant Picker (default view)                         │
│  Level 2: Token Overrides (expanded)                            │
│  Level 3: Manual Values (advanced section)                      │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│            SMART SUGGESTIONS (STYLE-005)                         │
│                                                                  │
│  "You've used this color 5 times - save as token?"              │
│  "This element has 4 custom values - save as variant?"          │
└─────────────────────────────────────────────────────────────────┘

Integration Points

Project Creation Wizard (WIZARD-001)

  • Preset selection UI with visual previews
  • Sets initial token values based on chosen preset
  • Can be skipped (defaults to "Modern" preset)

Existing Style Tokens Panel

  • Enhanced with full token categories
  • Visual token picker with previews
  • Import/export functionality

Existing Style Variants

  • Pre-populated based on element configs
  • New "Save as Variant" workflow
  • Variant inheritance from project tokens

Success Metrics

Metric Current Target Measurement
Time to styled button ~10 min <10 sec User testing
Projects using tokens ~5% >60% Analytics
Style consistency score Low High Design review
Beginner completion rate ~40% >80% Onboarding funnel

Risk Assessment

Risk Likelihood Impact Mitigation
Breaking existing projects Medium High Backward compatibility layer; new system opt-in
Performance overhead Low Medium Token resolution caching; lazy loading
User confusion (too many options) Medium Medium Progressive disclosure; sensible defaults
Migration complexity Medium Medium Clear upgrade path; automatic token extraction

Open Questions

  1. Migration: How do we handle existing projects? Opt-in to new system, or automatic detection/upgrade?
  2. Custom Presets: Should users be able to save/share their own presets?
  3. Dark Mode: Built into presets (each preset has light/dark), or separate toggle?
  4. Component Library: Does Phase 9 create the foundation for a future Noodl prefab library?

References


Last Updated: January 2026