All docs

Docs

Spring Design Library - Project Kickoff Plan

Audience: Leadership, product, design, engineering, DevOps Purpose: The kickoff and roadmap document for the Spring Design Library project Starting point: Ship the live Personal Loan prototype (happy path) and use it to drive every decision that follows Reference model: Marty Cagan, Inspired - discovery and delivery together, four product risks, outcomes over outputs Last updated: June 2026


1. Executive Summary

The Spring Design Library is more than a component catalog. It is an internal product platform for building, testing, and scaling Spring product experiences with reusable UI, shared tokens, AppFlow prototypes, and AI-assisted workflows.

The project starts with one concrete thing: ship the live personal-loan application prototype (happy path). This is ready and is our first kickoff deliverable.

We start here on purpose. Moving a complete application journey with the library is the fastest way to learn whether the system is:

  • Fast - can we build and change real screens quickly?
  • Stable - does a full flow hold together end to end?
  • Adoptable - can other teams reuse this without rebuilding UI?

Once the live prototype is shared, we gather feedback from designers, stakeholders, developers, and DevOps, align on architecture, and then decide which future track to invest in. We do not try to do everything at once.

Operating principle: Publish first, learn fast, then iterate in waves. Each phase gets real time for feedback and improvement before we call it done.


2. The Big Picture

The project moves up a simple ladder. Each rung depends on the one below it.

flowchart TD
  v1["V1: Live Personal Loan prototype (happy path) - ready"]
  learn["Learn: feedback from design, stakeholders, dev, DevOps"]
  decide["Decide: which future track to invest in"]
  build["Build: chosen track in iterative waves"]
  iterate["Iterate: test, improve, then expand"]

  v1 --> learn --> decide --> build --> iterate
  iterate --> learn

After the live prototype, four future project tracks are possible. They can run in sequence or partly in parallel, but each one has a clear gate.

TrackWhat it deliversHeadline release
Track A - Full application implementationComplete the Personal Loan flow: missing pages, edge cases, full flow mapComplete AppFlow reference
Track B - Platform and system enhancementUsability, feature updates, injectable structure, agentic workflowv2 platform
Track C - Token, theme, and look-and-feelNew theme support and easy theme switching across the platformNew look-and-feel
Track D - Playground feature developmentA delivery and sign-off lane for prototypes and design-system candidatesv3 library + Playground

These are current assumptions for future projects. Test plans for each are intentionally light right now and will be filled in as each track is chosen.


3. What We Are Building

The Spring product UI platform has these parts today:

  • @spring/ds-react - the reusable React design system: components, tokens, icons, and visual foundations.
  • apps/design-library - the Next.js gallery and documentation surface under /library/*.
  • apps/personal-loan - the standalone Personal Loan application that runs the flow outside the gallery.
  • @spring/personal-loan-appflow - the packaged AppFlow logic: step registry, routing, screens, and shared shell.
  • Playground - the experimentation lane for vibe-coded screens, component candidates, and live prototypes.
  • Injectable DS layer (future) - a packaged way for other teams to apply Spring look and feel to their own apps.

Future Project Tracks

Track A - Full Personal Loan application implementation

  • Review the existing flow map (documentation already exists).
  • Build the missing pages and all edge cases.
  • Decide the future direction: keep this as the primary AppFlow, or treat it as Variant B / legacy comparison if a new AppFlow design is chosen.

Track B - Library platform and system enhancement

  • Gather insight from designers, stakeholders, and developers.
  • Refine usability and prioritize feature updates.
  • Align the developer-facing injectable structure.
  • Define and test how the design system and agentic workflow become injectable into other apps.
  • Test and iterate toward a v2 platform.

Track C - Design system token, theme, and look-and-feel

  • Add a new theme or new design direction if Spring moves toward a fresh application look.
  • Prove that changing a few token values can update the whole experience.
  • Define how theme switching works across the platform (and how far it reaches into components).
  • Update components only where token changes alone are not enough.

Track D - Playground feature development

  • Define how a user delivers a candidate item into the design system.
  • Explore direct vibe coding from /library/playground.
  • Support people who build prototypes in different tools and publish a final prototype into Playground.
  • Use Playground as a sign-off and communication surface.
  • Target a v3 release: refined library plus Playground workflow.

4. Why It Matters

The value is not "we have components." The value is speed, consistency, and confidence:

  • Designers can see whether design decisions survive real implementation.
  • Stakeholders can review a working flow instead of static screens.
  • Developers can reuse package components instead of rebuilding one-off UI.
  • DevOps can evaluate how the package, app, and CI model should scale.
  • AI-assisted builders and vibe coders can start from Spring look and feel instead of inventing UI from scratch.

Current Baseline From The Repo

AreaCurrent stateWhat it means for planning
AppFlow prototype22+ authored step bodies, shared chrome, token-backed components, live previewsStrong enough to ship the happy-path prototype after closing demo blockers
AppFlow gapsstart, analyzing-to-outcome routing, recovery paths, and full manual QA remain incompleteTrack A work after V1
Standalone appapps/personal-loan runs the flow outside the galleryThe real surface we publish first
Design system package@spring/ds-react is private and source-consumed through workspace linksGood for the monorepo; needs architecture decisions before broad injection
PlaygroundCategories include Components, Pages, and Live PrototypingGood base for Track D
CI and validationLint and build exist; manual QA runs locallyV1 can ship with technical checks plus a manual walkthrough

5. Goals And Success Signals

GoalWhat it meansHow we measure success
G1. Ship live Personal Loan prototypePublish the happy-path flow on the standalone appAnyone can complete the happy path without engineering help or manual URL edits
G2. Prove speed and stabilityShow the library can carry a full application journeyA screen change or component swap is fast; the full flow holds together
G3. Learn from real reviewersStructured feedback from design, stakeholders, dev, DevOpsFeedback becomes a prioritized backlog tagged by risk
G4. Align architectureDev and DevOps agree on structure before scalingSigned architecture decision on package boundaries, CI, and deploy
G5. Prove injectable adoptionApply Spring look and feel to another appA host app adopts tokens and core components using a written guide
G6. Evolve theme and look-and-feelSupport new themes through tokensTheme switches without forking components
G7. Operate PlaygroundMake experimentation visible and reviewableA prototype can be delivered, reviewed, and graduated with clear rules

Non-Goals For The First Release

  • Production loan APIs, databases, analytics, Flinks, Twilio, or real eligibility logic.
  • Public npm publishing before architecture alignment.
  • Rebranding before injectable adoption is proven.
  • Building every possible component before testing token-level adoption.

6. How We Work (Inspired Operating Model)

We use Inspired as a discipline, not a waterfall. Discovery and delivery run together.

flowchart LR
  subgraph discovery [Discovery]
    prototype[Prototype]
    feedback[Feedback]
    riskReview[Test four risks]
    backlog[Prioritized backlog]
  end
  subgraph delivery [Delivery]
    build[Build]
    validate[Validate]
    publish[Publish]
    measure[Measure]
  end
  prototype --> feedback --> riskReview --> backlog
  backlog --> build --> validate --> publish --> measure
  measure --> feedback

The Four Risks We Always Test

RiskThe question for this project
ValueDoes the library make Spring product experiences faster to build?
UsabilityCan designers, developers, and vibe coders actually use it?
FeasibilityCan engineering and DevOps build, package, and deploy it reliably?
Business viabilityDoes it support Spring goals like conversion, trust, and reuse?

Iteration Is Built In

Every phase includes at least one feedback-and-improvement loop before it is considered done. We do not treat any phase as a single one-pass delivery. The roadmap dates below already include this iteration time.


7. Roadmap

This roadmap is a planning guide, not a fixed contract. Each phase leaves room for iteration.

gantt
  title Spring Design Library Roadmap
  dateFormat YYYY-MM-DD
  section Publish
    KickoffAlignment        :a1, 2026-06-29, 2d
    LivePrototypePublish    :a2, 2026-07-01, 12d
    M1LivePrototype         :milestone, m1, 2026-07-13, 0d
  section LearnAndDecide
    FeedbackAndDecision     :b1, 2026-07-14, 21d
    M2DirectionLocked       :milestone, m2, 2026-08-03, 0d
  section Architecture
    DevDevOpsAlignment      :c1, 2026-08-04, 21d
    M3ArchitectureAligned   :milestone, m3, 2026-08-24, 0d
  section ChosenTrack
    TrackDelivery           :d1, 2026-08-25, 42d
    M4TrackComplete         :milestone, m4, 2026-10-05, 0d
  section Expand
    ThemeOrPlayground       :e1, 2026-10-06, 49d
    M5ExpandComplete        :milestone, m5, 2026-11-23, 0d
MilestoneTargetOutcomeDecision gate
M1. Live prototype published~Jul 13, 2026Happy-path Personal Loan flow is live and shareablePublish when blockers are closed and the walkthrough passes
M2. Direction locked~Aug 3, 2026Feedback synthesized; chosen track confirmedPick Track A, Track B, or a staged mix with evidence
M3. Architecture aligned~Aug 24, 2026Dev and DevOps agree on structure, CI, deployStart the chosen track only after this is signed
M4. Chosen track complete~Oct 5, 2026The selected track reaches a tested, finalized stateExpand only after the track is validated
M5. Expansion complete~Nov 23, 2026Theme or Playground work reaches a demoable stateAdd brand/theme scale only after adoption is proven

8. Phase Plan

Every phase uses the same simple shape: Goal -> Key tasks -> Success measures -> Expected outcome -> Next iteration trigger.

Phase 0 - Kickoff Alignment

Timing: 1-2 days Goal: Agree on scope, owners, and what "done" means for the live prototype.

Key tasks

  • Confirm V1 is a live prototype, not production loan software.
  • Assign owners for design, engineering, DevOps, QA, and stakeholder review.
  • Confirm the demo URLs and review path.

Success measures

  • Team agrees on the V1 release bar and what is intentionally deferred.

Expected outcome: A shared, written scope for the first release.

Next iteration trigger: Scope is confirmed and the publish sprint can start.


Phase 1 - Ship The Live Personal Loan Prototype (V1)

Timing: 1-2 weeks Primary risk: Value and usability Goal: Publish the happy-path Personal Loan flow on the standalone app so the team can prove the library carries a full journey quickly and stably.

Key tasks

TaskDetail
Finalize start landingReal landing UI and CTA into the flow
Confirm happy-path routingFlow runs end to end without manual URL edits
Confirm standalone parityGallery and apps/personal-loan behave the same
Component coverage auditIdentify DS components vs one-off UI
Manual walkthroughValidate desktop, mobile, and standalone paths

Technical readiness checks

npm run lint
npm run build
npm run build:personal-loan

Minimum walkthrough paths

PathPass criteria
Happy pathstart -> name -> loan-amount -> ... -> analyzing -> application-success works
StandaloneThe standalone personal-loan app opens and runs the flow
Flow mapStep previews match the live steps

Success measures

  • Happy path completes without engineering help.
  • The standalone app is stable across a full run.
  • Lint and build pass; manual walkthrough is signed.

Expected outcome: A live, shareable Personal Loan prototype.

Next iteration trigger: Prototype is published and ready for structured feedback.

Scope lock: No new large features, branding, or package publishing during V1 unless it unblocks the publish.


Phase 2 - Learn And Decide The Direction

Timing: 2-3 weeks Primary risk: Value, usability, business viability Goal: Turn real feedback into a clear decision about which future track to invest in.

Key tasks

AudienceWhat we testOutput
DesignersVisual fidelity, token fit, state coverage, flow claritySign-off or change list
StakeholdersProduct story, trust moments, outcome clarityGo/no-go and top concerns
DevelopersComponent reuse, package boundaries, integration painTechnical backlog and feasibility notes
DevOpsBuild, deploy, CI, package strategyArchitecture and delivery constraints

The decision (a real gate)

After feedback, choose the direction:

  • Go to Track A (full implementation) if the Personal Loan flow should become the primary reusable AppFlow reference. Build missing pages and edge cases.
  • Treat the current flow as Variant B / legacy if a new AppFlow design is the future direction. Keep it as a comparison and plan the new design separately.
  • Go to Track B (platform and system enhancement) first if the biggest risk is adoption, tooling, and architecture rather than finishing every legacy edge case.

Success measures

  • Feedback is grouped by screen, component, copy, and architecture area.
  • Each item is tagged by risk: value, usability, feasibility, or viability.
  • A single chosen direction is written down with its reason.

Expected outcome: A prioritized backlog and a confirmed track choice.

Next iteration trigger: Direction is locked and architecture alignment can begin.


Phase 3 - Architecture And DevOps Alignment

Timing: 2-3 weeks Primary risk: Feasibility Goal: Agree on the final structure before scaling the chosen track.

Key tasks

TopicDecision needed
Package boundariesWhat belongs in @spring/ds-react, @spring/personal-loan-appflow, gallery, or app
Consumption modelSource-only workspace use vs a build step vs a private published package
CI strategyLint, build, both apps, and manual QA coverage expectations
Deployment pathHow the gallery and standalone app are hosted and shared
Token governanceWho approves token changes and how themes are tested

Success measures

  • An architecture decision record is approved by engineering and DevOps.
  • CI builds both apps and runs a smoke manual QA path.
  • A package import smoke test passes in a clean workspace.

Expected outcome: A signed architecture and delivery plan.

Next iteration trigger: Structure is approved, so the chosen track can build safely.


Phase 4 - Deliver The Chosen Track

This phase runs the track chosen in Phase 2. Each track below uses the same shape and includes iteration time.

Track A - Full Application Implementation

Goal: Complete the Personal Loan flow as a full, reliable reference.

Key tasks

  • Review the existing flow map and documentation.
  • Build the missing pages and all edge cases.
  • Wire recovery paths, skip paths, and outcome variants.
  • Confirm whether this stays the primary AppFlow or becomes Variant B.

Success measures

  • Happy path plus edge cases complete without manual URL edits.
  • High component reuse; minimal one-off UI.
  • The standalone app is stable across all paths.

Expected outcome: A complete AppFlow reference, with a clear decision on its future role.

Next iteration trigger: Full flow is tested and the team is ready to expand or harden the platform.

Track B - Platform And System Enhancement (toward v2)

Goal: Make the library easier to adopt and easier to build with.

Key tasks

  • Refine usability and prioritize feature updates from Phase 2 feedback.
  • Align the developer-facing injectable structure.
  • Define and test how the design system and agentic workflow become injectable (see Section 9).
  • Test and iterate.

Success measures

  • A host app can adopt Spring tokens and core components using the written guide.
  • The agentic workflow rules can be reused outside this repo.
  • Adoption time and manual edits go down across pilots.

Expected outcome: A v2 platform that other teams can adopt with guidance.

Next iteration trigger: Adoption is proven, so theme and Playground work can scale.


Phase 5 - Expand (Theme And Playground)

These tracks come after the chosen core track is validated. They can run in either order based on business need.

Track C - Token, Theme, And Look-And-Feel

Goal: Support a new look and easy theme switching, mostly through tokens.

Key tasks

  • Confirm that changing a few token values updates the whole experience.
  • Add a new theme or design direction if Spring moves to a new application look.
  • Define how theme switching works across the platform.
  • Update components only where tokens alone are not enough.

Success measures

  • Theme switches without forking components.
  • Core screens render correctly under each theme.
  • Contrast and accessibility pass for each theme.

Expected outcome: A working theme switch and a clear rule for token-driven look changes.

Next iteration trigger: A second theme works, so broader brand variants can be considered.

Track D - Playground Feature Development (toward v3)

Goal: Make Playground the lane for delivering and signing off prototypes.

Key tasks

  • Define how a user delivers a candidate item into the design system.
  • Explore direct vibe coding from /library/playground.
  • Let people build in different tools, then publish final prototypes into Playground.
  • Use Playground as a sign-off and communication surface.
  • Define the graduation path: Playground -> package -> gallery doc.

Success measures

  • At least one prototype is delivered, reviewed, and graduated.
  • Status and ownership are clear for each Playground project.
  • Stakeholders can review prototypes through shared preview URLs.

Expected outcome: A v3 release: refined library plus a working Playground workflow.

Next iteration trigger: The delivery and sign-off loop works repeatably.


9. Injectable Design System And Agentic Workflow

This section explains how a team outside this repo can apply Spring look and feel to their own app with the least manual work. This is the core of Track B.

The Scenario

An engineer builds an internal tool, often with a vibe-coding tool, and relies on rough generated UI. Before finalizing, they want to apply the Spring design system without manually restyling every screen.

The Adoption Kit

To support this, Spring ships an adoption kit, not just components:

  • @spring/ds-react (components)
  • generated token CSS
  • a Tailwind or token preset
  • an AI rules and skills bundle
  • a migration prompt and checklist
  • a component gap matrix

The "Springify Existing App" Workflow

flowchart TD
  install["1. Install package + token CSS"]
  preset["2. Add Tailwind / token preset"]
  rules["3. Add Spring AI rules"]
  audit["4. Audit existing UI"]
  map["5. Map current UI to Spring components"]
  one["6. Convert one page first"]
  review["7. Review and iterate"]
  rest["8. Apply to the rest of the app"]
  gaps["9. Log component gaps"]

  install --> preset --> rules --> audit --> map --> one --> review --> rest --> gaps
  gaps --> map

The AI follows clear rules: replace generic buttons and inputs with Spring components, use Spring tokens instead of raw values, keep business logic intact, and report missing components instead of inventing one-off UI.

Adoption Layers

Not every component will exist for every host app, so adoption is layered:

LayerWhat is adoptedPass criteria
L1. Tokens onlyCSS variables, color, type, spacing, radiusApp shifts to Spring look without component rewrites
L2. Tokens + primitivesButtons, inputs, cards, selectorsCore interactions use @spring/ds-react
L3. Product modulesAppFlow shell, loan cards, plan cardsProduct UI becomes reusable
L4. Full flow package@spring/personal-loan-appflow or equivalentA full journey runs outside the gallery

Success Measures

  • A host app reaches Spring look and feel in under ~4 hours for the pilot scope.
  • 70-90% of common UI maps to existing DS components or tokens.
  • Manual style edits drop after applying tokens and the preset.
  • A new engineer can follow the guide without live support.
  • Missing components are documented and prioritized, not patched ad hoc.

Note: @spring/ds-react is currently private and source-consumed. The L1+L2 layers can work through CSS and token import before any npm publishing decision. Publishing is gated by the Phase 3 architecture decision.


10. Validation And Learning Strategy

Validation means learning whether the product works for people and whether the system can scale. Local commands are necessary checks but not the whole picture.

V1 Live Prototype Readiness

TestRequired for V1
Manual happy-path walkthroughYes
Standalone app runYes
Flow map previewYes
npm run lint and npm run buildYes if implementation changes land
npm run build:personal-loanRecommended

Measures We Track Through The Project

MeasureWhy it matters
Happy-path completionProves the core journey works
Missing or edge-case page countSizes the Track A backlog
Standalone app stabilityProves the library carries a full app
Feedback themes by audienceDrives the direction decision
Time to apply Spring themeProves adoption speed
Manual edits requiredProves how injectable the system is
Percent of UI mapped to DSProves component coverage
Missing component countBuilds the component backlog
Setup success without live supportProves the guide is usable
Before/after review confidenceProves the work improved the product

Feedback Becomes Iteration

StepOutput
CaptureNotes grouped by screen, component, copy, and architecture
TagEach finding marked value, usability, feasibility, or viability
PrioritizeSeverity, frequency, and business impact set the order
ImproveThe team applies the highest-impact changes
Re-testThe updated work is reviewed again before it is called done

11. Decision Framework

Use this to decide what to do next without overloading any single phase.

ActivityStart whenRequired gate
Ship live prototypeNowV1 scope locked
Full implementation (Track A)After M2 direction is lockedStakeholders walked the flow; backlog prioritized
Platform enhancement (Track B)After M2, finalized at M3Architecture decision approved
Usability improvementsContinuous after V1A baseline prototype exists
Token / theme work (Track C)After core track is validatedToken architecture supports overrides
Playground delivery (Track D)After feedback loop is liveA graduation path is defined
External npm publishAfter M3Architecture decision signed
Rebranding / new brandAfter injectable adoption is provenToken-driven theming works

Quick answers for meetings

  • "Can we rebrand for a partner next sprint?" Not yet. First prove injectable adoption and token theming.
  • "Can we add feature Y?" Yes if M2 feedback prioritized it and it reduces a named risk.
  • "Can we improve copy on a step?" Yes, anytime after V1.
  • "Can we publish to npm?" After the Phase 3 architecture decision.
  • "When is the flow live?" V1 target is ~Jul 13, 2026. It is a prototype, not production.

12. Governance And Ownership

RoleResponsibilities
Product managerRoadmap, scope, success measures, review cadence, priorities
Product designerVisual direction, usability, states, brand readiness
Engineering leadPackage boundaries, implementation quality, architecture, validation
DevOps leadDeployment, CI, environments, publish path, access
QA / reviewerWalkthrough checklist, regression notes, release confidence
StakeholdersBusiness viability, product narrative, sharing approval

Decision Log Template

DateDecisionOwnerRisk addressedFollow-up
TBDV1 scope lockedPMValueConfirm blockers
TBDTrack direction chosenPM + EngValue + FeasibilityPlan the track
TBDArchitecture approvedEng + DevOpsFeasibilityStart the track

Cadence

CadenceParticipantsPurpose
Publish-sprint standupPM, design, engineeringV1 blockers and scope
Architecture syncEngineering, DevOps, PMPackage, CI, deploy, adoption
End-of-phase reviewPM, design, stakeholders, engineering, DevOpsReview evidence, plan the next wave

13. Risks And Mitigations

RiskImpactMitigation
V1 scope expands beyond 1-2 weeksPublish slips, learning starts lateLock scope to the happy path; defer the rest
"Prototype" mistaken for productionWrong expectationsLabel all URLs as prototype
Direction decision is skippedTracks compete for the same timeTreat M2 as a real gate with a written choice
Architecture decided too lateTrack work becomes reworkFinalize structure in Phase 3 before scaling
Package not ready for adoptionHost apps cannot adopt predictablyValidate L1+L2 via CSS before npm publishing
Theme or rebrand starts too earlyOne-off forks and token driftGate behind proven adoption
Playground becomes a dumping groundExperiments confused with the real DSAdd status, ownership, and graduation rules
Not enough iteration timeWeak outcomes shipped as doneEach phase includes a feedback-and-improve loop

14. Kickoff Agenda

  1. Confirm the vision: Spring Design Library as an internal product platform.
  2. Confirm the first deliverable: live Personal Loan prototype (happy path).
  3. Review V1 scope: what is in and what is deferred.
  4. Assign owners for design, engineering, DevOps, QA, and stakeholder review.
  5. Confirm review audiences and dates for Phase 2.
  6. Confirm the M2 decision gate: how we choose the future track.
  7. Confirm architecture questions to answer by Phase 3.
  8. Confirm that theme and Playground work is gated behind proven adoption.

Open Questions For Leadership

QuestionWhy it matters
Who approves the V1 publish?Avoids unclear release ownership
Which group reviews first?Shapes the demo script
After V1, do we lean toward full implementation or platform enhancement?Sets the M2 decision
Is the current flow the future AppFlow or a Variant B?Decides Track A direction
Is the first injectable pilot internal or partner-facing?Changes packaging and security assumptions
Which metric matters most: speed, consistency, adoption, or conversion?Helps prioritize iteration waves

15. Definition Of Done

Live Prototype (V1) Done

  • Standalone publish URL is available.
  • Happy path runs without manual engineering help.
  • Manual walkthrough checklist is complete.
  • Known limitations are documented.

Learn And Decide Done

  • Designer, stakeholder, developer, and DevOps feedback is captured and tagged by risk.
  • A single future track is chosen and written down with its reason.
  • A prioritized backlog has owners.

Architecture Done

  • Package boundaries, consumption model, CI, and deploy path are approved.
  • A clean-workspace import smoke test passes.

Chosen Track Done

  • Track A: missing pages and edge cases complete; future role decided.
  • Track B: a host app adopts tokens and components via the guide; adoption time and manual edits measured.

Theme / Playground Done

  • Theme switches without forking components, with accessibility checks.
  • At least one Playground prototype is delivered, reviewed, and graduated.

16. Related Planning Pack

This kickoff plan is the leadership-facing summary. Use these for execution detail: