Total balance
₱124,860.00- Daily accountChecking
- ₱42,300.00
- ReserveSavings
- ₱82,560.00
Formwork study · Published · v1.0.0
Pondo · Extracted system
The portable design system extracted from Pondo: a calm, privacy-aware household-finance product built around cream, ink, green, and useful restraint.
01
Primary surface
The primary preview reconstructs Pondo's implemented My View hierarchy with illustrative records: private balance first, household context second, then cash flow, goals, bills, and activity. Nothing shown is production data.
Dark anchorPersistent navigation and identity
Paper fieldContent, decisions, and breathing room
Green signalAction, focus, progress, and privacy
02
Visual thesis
Warm Editorial earns calm through explicit hierarchy, not by lowering contrast or removing information. Every important surface declares its job, scope, and next action.
“One dark anchor is enough. Let type, rules, and useful whitespace do the rest.
PrivateScope is visible wherever records can be misunderstood.
CalmAccent color is scarce, motion is short, and values do not wobble.
CapableOperational states receive the same composition as the happy path.
Family-awarePersonal and household views share a system without losing their boundary.
03
Six decisions
Each decision connects a product problem to a visual rule and an observable consequence. The labels distinguish code-backed behavior from documented intent.
04
Foundations
These are semantic tokens, not a mood board. Every color and type role below comes from the active Pondo source or its canonical design guide.
04.1 · Color roles
Cream → sand → white creates depth. Ink anchors. Green acts.Text and the single dark structural anchor.
#1F1B16Primary canvas and PWA background.
#F7F4ECSecondary surface, tracks, chips, and loading.
#F0EBDDWorking panels, forms, and overlays.
#FFFFFFAction, focus, progress, active state, privacy.
#1F4B3DHover and secondary green emphasis.
#2F5E4FSecondary copy; documented at 6.5:1 on cream.
#5C574CWarm rules, field boundaries, and grouping.
#DED5BEExpenses, warning, badges, warm emphasis.
#A6491FFill-only accent, never small text on cream.
#D99A2BDestructive action and error meaning.
#B4231FWarm light text on the ink navigation anchor.
#F4EFE304.2 · Type and figures
Language gets warmth. Utility gets precision.Personal money, family goals.
A quiet sans carries controls, supporting copy, and every financial figure without competing with the information.
₱124,860.000123456789 · Personal money, family goals.A 4 px base rhythm. Mobile page padding lands between 16 and 24 px; major sections normally separate by 24–32 px.
Panels, fields, and standard controls stay square. Pills are reserved for behavior that is actually pill-like.
Use a tonal shift or a warm hairline. Shadows belong to transient sheets, dialogs, and menus—not permanent cards.
Short state feedback only. Skeleton pulse stops under reduced motion; adopting apps should extend that fallback globally.
05
Responsive system
Pondo does not shrink a desktop dashboard into a phone. It preserves the order of decisions while changing navigation placement, action density, and edit-surface behavior.
Stable order
01Page identity02Scope or privacy03Primary value04Next action05Supporting records06
Component language
The visible primitives below render the same typed React source published with the study. Product-bound patterns remain reference implementations until data, auth, routing, and Base UI assumptions are deliberately separated.
Copyable
Goals show what the money is for; accounts show where it sits.
A stable page opening and labeled progress pattern for goals, onboarding, limits, or completion.
registry/warm-editorial/components.tsxCopyable
Create a goal to give shared savings a clear purpose.
Explains what is absent, what will appear, and the next real action without inventing a separate onboarding surface.
registry/warm-editorial/components.tsxPopulated · empty · total · spendable
Product money, privacy, query, and route types remain embedded.Open · dirty · keyboard · discard
Base UI plus mobile viewport and Pondo form behavior.Default · danger · pending · disabled
Accessible primitive with a clear external dependency.Open · selected · highlighted · invalid
Base UI supplies keyboard, type-ahead, focus, and positioning.Nine route-shaped variants · reduced motion
Still assumes Pondo layout and Tailwind utilities.Data · section empty · route error
Domain data and money privacy remain intentionally product-bound.07
Applied screens
These workflow studies are reconstructed from current Pondo components with illustrative records. Each tests a different pressure point: explanation, progress, and mobile creation.
Reports
Text names the takeaway; paired CSS bars support it without becoming the only representation.Savings
Purpose, exact progress, remaining amount, and contribution history share one disciplined surface.Mobile add sheet
Task-first creation sits above the stable bottom navigation and keeps every destination reachable.08
Accessibility + states
The direction treats focus, loading, absence, failure, disabled controls, and reduced motion as part of the experience—not cleanup for later.
Visible green ring or border with an offset. Icon-only controls carry an accessible name.
Route-shaped status region; decorative bones are hidden and pulse only when motion is allowed.
Names the absence, explains future content, and points to a real next action.
Technical detail stays private; recovery remains specific and nearby.
Pending work retains a specific label, blocks repeats, and does not erase context.
The portable pack removes transitions globally; Pondo currently proves this most directly on skeletons.
Checked in practice
Main signed-in journey · visible focus · 390 px mobile layoutSupported by automated checks, but not presented as a full accessibility review.09
Implementation notes
The implementation spends JavaScript on interaction and data, not on visual effect. The visual system itself is CSS variables, type, layout, semantic markup, and small state transitions.
Authenticated pages default to React Server Components. Forms, privacy state, sheets, custom selects, charts with interaction, and PWA behavior become client components only where needed.
The App Router swaps page content inside a shared shell. Private links disable automatic prefetch and warm on focus, pointer, or touch intent, with a delayed 2 px pending rule.
Money begins as integer minor units. TanStack Query uses a 60-second stale time, no window-focus refetch, reconnect refetch, and no automatic retry in the current provider.
Dark mode is provisional. Generic scaffolded button sizes include sub-44 px options. Reduced-motion treatment is not centralized for every transition. Visual regression baselines are absent.
10
Lessons + limits
The source repository can prove the implemented choices and document intended boundaries. It cannot reveal missing reference attribution or manufacture a process story, so those gaps stay visible.
Pondo’s repository records a three-image internal reference set. One image established the cream canvas and dark navigation anchor, another informed mobile navigation and compact controls, and a third shaped desktop breathing room and panel rhythm. The original URLs and creators are not recorded, so this study does not invent an attribution or reproduce proprietary assets.
The resulting implementation is its own product system: privacy-aware balances, personal-versus-household scope, a persistent desktop rail, a mobile task bar, stable action sheets, and reports made from text plus CSS-native bars.
The strongest decisions were also the simplest. One ink-colored anchor supplies enough contrast for the whole application. Newsreader creates identity without entering dense controls. Hairline dividers and tonal surfaces organize changing records more reliably than nested cards. Green remains meaningful because it is reserved for action, focus, progress, and privacy.
Warm Editorial is deliberately quiet. It is a poor fit for products that need simultaneous high-saturation categories, compressed terminal density, playful reward loops, or constant real-time urgency. Pondo’s dark token block is provisional, its repository has no visual-regression baseline, and reduced-motion handling is explicit for skeletons rather than centralized across every transition. Those limits are documented here instead of being polished out of the study.
11
Adopt this direction
The guide and tokens are complete, and the small React primitives are intentionally separated from Pondo's business data. The registry is not yet installable, so every artifact says exactly what it is.
The full portable direction: rules, components, responsive behavior, states, adoption sequence, and limits.
Open artifactScoped cream, ink, green, type, spacing, geometry, motion, and reduced-motion CSS variables.
Open artifactTyped page header, empty state, progress, and segmented control. Pair with the published component CSS.
Open artifactGenerated shadcn-compatible JSON is intentionally not claimed until Formwork has build-time generation and schema validation.
Not published yetRecommended sequence