| name | Senzen Composer Financial Platform | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| description | Product-first financial intelligence and automated budgeting platform design system for Senzen, modeled directly on Composer by SoFi (composer.trade). Light cream canvas, crisp typography, restrained green accents, and interactive logic block previews. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| colors |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| typography |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| rounded |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| spacing |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| components |
|
Senzen is a Product-First Financial Engine. It follows the visual DNA of Composer by SoFi (composer.trade): light cream canvas, crisp typography, restrained green accents, and transparent live product logic blocks.
- Emotional Register & Reference DNA: Calm, Product-First, Technically Confident — Governed strictly by Composer (
composer.trade). Real product UI, logic blocks, and visual proof in place of marketing fluff. - Display Font: Plus Jakarta Sans / Inter for Display, H1, H2, and Card Titles. Mono for financial metrics, rates, and logic expressions.
- Signature Color Move: Cream Canvas (
#F6F2EE) + Charcoal Ink (#101516) + Composer Green Primary (#1EC072). - Edge Language & Radius: 6px–8px Crisp.
--radius: 0.375rem (6px)for buttons and inputs,8pxfor cards. - Spacing Rhythm & Density: Clean 64px–80px section rhythms with 16px/24px modular cards and hairlines (
#E5E2DD). - Data as Design Visual Anchors: Real interactive logic rules (
IF income > $5,000 -> Allocate 20% to Growth), metrics rows, and clear progress charts. - Iconographic Voice & Motif: Lucide outline (
1.5pxstroke). Signature Motif: Visual logic blocks and product metric nodes.
- Reference DNA: Composer by SoFi (
composer.trade) — single reference; do not blend other brands. Evidence captured 2026-08-22 from live HTML/CSS:#f6f2eecanvas,#101516ink,#273234secondary ink, restrained green accents including#1ec072/#049f55, andneue-haas-grotesk-displayserved by Adobe Typekit. - Emotional register: calm, product-first, technically confident — crisp copy and visible product proof, not editorial storytelling or concept-site theater.
- Display/body font: Neue Haas Grotesk Display for display and UI/body — preserve local fallback stack where licensing prevents self-hosting; financial figures may use the existing mono face. No serif display treatment.
- Neutrals: cool-tinted blue-charcoal and warm cream — migrate away from warm espresso/terracotta ledger neutrals toward Composer's cream canvas and blue-charcoal ink; no default Tailwind gray ramp.
- Signature motif: live product proof blocks with thin rules and compact data visualizations — recurring in hero, feature sections, and authenticated overview; no exhibit stamps, editorial labels, or decorative ledger rules.
- Dark mode: not used for the marketing redesign; authenticated surfaces retain existing dark-theme capability only where current app behavior requires it, with Composer-like light as the default.
- [2026-08-22] (global) forceLight theme lock on landing to avoid previous dark-mode collision bug — previous bug required light mode enforcement for Senzen landing.
:root {
--background: 38 22% 95%; /* #F6F2EE Composer Cream */
--foreground: 190 16% 8%; /* #101516 Charcoal Ink */
--card: 0 0% 100%; /* #FFFFFF Card Surface */
--card-foreground: 190 16% 8%;
--popover: 0 0% 100%;
--popover-foreground: 190 16% 8%;
/* Brand Primary: Composer Green */
--primary: 151 73% 44%; /* #1EC072 Green */
--primary-foreground: 190 16% 8%; /* #101516 Dark Ink for WCAG AA */
/* Neutral Secondary & Muted */
--secondary: 38 12% 91%; /* #ECE8E3 Lifted Surface */
--secondary-foreground: 190 16% 8%;
--muted: 38 10% 88%; /* #E5E2DD Subtle Surface */
--muted-foreground: 0 0% 40%; /* #666666 Muted Charcoal */
--accent: 151 73% 44%; /* #1EC072 */
--accent-foreground: 190 16% 8%;
/* Status & Financial Semantics */
--destructive: 0 84% 60%; /* #EF4444 Deficit Crimson */
--destructive-foreground: 0 0% 100%;
/* Hairlines & Focus */
--border: 38 10% 88%; /* #E5E2DD Hairline */
--input: 38 10% 88%;
--ring: 151 73% 44%;
--radius: 0.375rem;
/* Recharts Color Palette */
--chart-1: 151 73% 44%; /* Composer Green */
--chart-2: 215 80% 48%; /* Blue */
--chart-3: 190 16% 8%; /* Ink Dark */
--chart-4: 38 90% 50%; /* Amber */
--chart-5: 0 84% 60%; /* Red */
}frontend/src/app/globals.css: Update:rootand.darkvariables with the Composer cream canvas (#F6F2EE), charcoal ink (#101516), and green accent (#1EC072) token palette.frontend/src/app/layout.tsx: Configure Next.js font imports forPlus Jakarta Sans(sans body and display) andJetBrains Mono(numbers/metrics).frontend/tailwind.config.ts: ExtendfontFamilywithsans: ["var(--font-sans)"],mono: ["var(--font-mono)"].frontend/src/components/example/navbar.tsx: Refactor to clean, light floating navbar with Composer brand styling.frontend/src/components/example/spotlight-demo.tsx: Clean product-first hero with live logic block preview.frontend/src/components/example/timeline-demo.tsx: Style timeline into structured feature milestones.frontend/src/components/example/chart-*.tsx: Bind chart fills to CSS variablesvar(--chart-1)throughvar(--chart-5).
import { Plus_Jakarta_Sans, JetBrains_Mono } from "next/font/google";
const jakarta = Plus_Jakarta_Sans({
subsets: ["latin"],
variable: "--font-sans",
display: "swap",
});
const jetbrainsMono = JetBrains_Mono({
subsets: ["latin"],
variable: "--font-mono",
display: "swap",
});After writing, verify with wc -l DESIGN.md.