Audience: Leadership, product, design, engineering
Purpose: Kickoff document — what we are building, why it matters, and how we measure success
Last updated: June 2026
Status: Active planning baseline
Executive summary
The Spring Design Library is the Opportunity Generation team's product platform for building, testing, and shipping customer-facing financial experiences. It is not just a component catalog — it is the infrastructure that lets us:
- Prove product efficiency through a live Application Flow built entirely from the design system.
- Iterate with designers, stakeholders, and developers on a shared prototype before production investment.
- Inject Spring look-and-feel into any host app — including vibe-coded or third-party platforms — even when not every component exists yet.
- Experiment safely in a Playground lane before graduating work into the canonical package.
First deliverable: Publish the Application Flow in 1–2 weeks (target: mid-July 2026). Everything else builds on that anchor.
Problem statement
| Pain | Impact |
|---|---|
| Design-to-code work was inconsistent | Wrong file targets, duplicate components, slow handoffs |
| No end-to-end prototype to test DS efficiency | Hard to prove the system works as a product building block |
| Design system not adoptable outside the monorepo | Vibe-coded apps and partner platforms cannot easily inherit Spring branding |
| Discovery and delivery were disconnected | Features shipped before value/usability/feasibility were validated |
Product vision
3–5 year vision: Spring Financial ships every customer-facing product from a shared, injectable design system that makes discovery fast and delivery predictable.
Near-term vision (12 weeks): A published Application Flow prototype, validated by internal stakeholders, with a documented path to adopt the design system on any React/Next.js host.
Strategic goals
| # | Goal | Success looks like |
|---|---|---|
| G1 | Prove DS product efficiency | AppFlow built from @spring/ds-react; component swap tests pass in <2 hours |
| G2 | Establish internal feedback loop | Structured reviews from designers, stakeholders, and developers after publish |
| G3 | Align architecture for scale | Dev + DevOps agree on package boundaries, CI, and publish path |
| G4 | Make the DS injectable | Any host app can reach Spring typography/color/spacing in <4 hours (tokens layer) |
| G5 | Enable safe experimentation | Playground operational as discovery lane; clear graduation path to package |
| G6 | Support multi-brand when ready | Theme switching only after injectability is proven — not before |
OKRs (12 weeks post-publish)
| Objective | Key Results | Target date |
|---|---|---|
| O1 — Prove DS product efficiency | AppFlow published; ≥90% interactive UI uses DS components; swap test <2h | Week 2 |
| O2 — Establish feedback loop | 3 review sessions (design, stakeholder, dev); prioritized backlog with risk tags | Week 4 |
| O3 — Make DS adoptable | Injectable guide + 2 pilot integrations; L1 token restyle in <4h | Week 9 |
| O4 — Enable safe experimentation | Playground workflow documented; ≥1 experiment graduates to package | Week 12 |
Inspired framework (Marty Cagan)
We apply principles from Inspired: How to Create Tech Products Customers Love to avoid building features nobody needs.
Dual-track agile (not waterfall)
Discovery and delivery run in parallel by the same cross-functional team — not as sequential phases with handoffs.
flowchart LR
subgraph discovery [DiscoveryTrack]
proto[Prototype]
risks[TestFourRisks]
learn[LearnAndPrioritize]
end
subgraph delivery [DeliveryTrack]
build[BuildAndHarden]
ship[ShipAndMeasure]
end
proto --> risks --> learn
learn --> build --> ship
ship --> proto
Four risks to test at every decision
| Risk | Question for this project |
|---|---|
| Value | Does the AppFlow + DS reduce time-to-prototype and improve product quality? |
| Usability | Can designers, stakeholders, and developers review and iterate without friction? |
| Feasibility | Can engineering/DevOps maintain, publish, and consume @spring/ds-react reliably? |
| Business viability | Does this support OG goals — conversion, velocity, trust? |
We prioritize backlog items by which risk they reduce, not by feature count.
Outcomes over outputs
We measure success by outcomes (stakeholder can walk the flow end-to-end; external app looks like Spring in 4 hours), not by shipping screen counts alone.
Current maturity (baseline)
| Area | Status | Notes |
|---|---|---|
| AppFlow screens | 22/23 with real UI | 1 placeholder (start); analyzing→outcomes routing missing |
| Design system package | Strong | @spring/ds-react — ~27 component families, token pipeline, ~1,173 icons |
| AppFlow package | Extracted | @spring/personal-loan-appflow shared by gallery + standalone app |
| Gallery | Live | /library/* — docs, tokens, components, AppFlow, Playground |
| Standalone app | Exists | apps/personal-loan at /personal-loans/* |
| Playground | Early | 3 projects; exploration/pending-approval status |
| CI | Partial | Lint + build; manual QA not yet in CI |
| External publish | Not yet | Source-only monorepo consumption via file: links |
| Production backend | Out of scope | No API, Flinks, Twilio, or persistence in gallery prototype |
Detailed implementation status: personal-loan-appflow-master-plan.md
What "publish" means (and what it does not)
Publish means (Week 1–2)
- Clickable Application Flow:
start → name → … → analyzing → outcomewithout manual URL entry - Gallery route:
/library/page/appflow/personal-loan/start - Standalone app mirrors the flow:
/personal-loans/start - Flow map + PageMapPopup usable for stakeholder walkthrough
- Manual walkthrough checklist signed by PM + designer
npm run lint && npm run buildpass
Publish does NOT mean
- Production application with backend APIs
- Full mobile layout pass on all 20+ screens
- npm package published externally
- Multi-brand theme switching
- All production branches and edge cases wired
Stakeholder map
| Role | Primary interest | Engagement cadence |
|---|---|---|
| Leadership / boss | Roadmap, milestones, ROI of DS investment | Kickoff + end-of-wave reviews |
| Product / PM | Flow narrative, prioritization, publish criteria | Daily during publish sprint; bi-weekly after |
| Design | Visual fidelity, token fit, playground experiments | Publish sprint + Wave 1 review |
| Engineering | Package architecture, reuse, CI | Publish sprint + Wave 2 RFC |
| DevOps | Build pipeline, deployment, publish path | Wave 2 onward |
| Stakeholders (business) | End-to-end demo, conversion moments | Wave 1 sign-off session |
Related documents
| Document | Role |
|---|---|
| 02-roadmap-and-milestones.md | Timeline and milestones |
| 03-phase-playbook.md | Tasks, testing, exit criteria per wave |
| 04-product-decision-framework.md | When to rebrand, add features, or enhance usability |
| personal-loan-appflow-master-plan.md | Engineering implementation tracker |
| REPOSITORY_STRUCTURE.md | Repo architecture and debt register |
| agentic-workflow-overview.md | AI-assisted design-to-code workflow |