Command Center

What this page is

You gave me a Household CFO brief with explicit instructions: audit before redesigning. This page is that audit, plus the proposed architecture, the design alignment plan, and a phased build. I have not written any new dashboard code yet. Once you green-light the direction (or redirect me), Phase 1 begins.

Headline take

What I shipped overnight on 5/18 → 5/19 is a strong data substrate: 23 accounts parsed, 6,685 transactions in SQLite, methodology doc with cited per-card playbooks, 9 dashboard pages live, real numbers landing on every screen. What it isn't yet is a chief-of-staff experience. It still asks Topher to read tables and figure out the implication. The brief asks for a calm, decisive, fifth-grader-readable front page that says "you're okay" or "here's what to do" — and a deep-disclosure layer underneath. The gap is in the framing layer, not the data.

Confidence: 8/10 on the data (still 6 TBDs — card variants, APRs). 4/10 on the UX (pre-v2 visual language, no progressive disclosure discipline). 3/10 on rewards-perks tracking (you flagged this as a major add — it's barely scaffolded).


1Current-state audit

What's actually live today

Nine pages under /info/finance/, fed by a SQLite database at data/finance/reports/finance.sqlite (gitignored), driven by issuer-specific parsers under skills/finance/parsers/. Numbers below are factual, not aspirational.

Page What it does today Strong Weak
/finance/
index
Mortgage-overdue alert · 4-tile snapshot grid · 8 section-nav cards · build-status block. Strong wayfinding to deep pages. Doesn't answer "Are we okay?" in 30 sec. Snapshot tiles miss the big numbers (net worth, total debt, interest bleed). Visual language is pre-v2.
/finance/
accounts
23-account table sourced from snapshot.json. Institution map, joint flags, last statement date. Real parsed data. No freshness badge per row. No "this account is missing recent statements" flag.
/finance/
cards
12 cards rendered from seed + cards.json. Per-card: issuer, last4, AF, earn rules, current balance, notes. Methodology research already done in methodology/rewards-optimization.md (562 lines, cited). No rewards/perks tracking. No "which card to use" guide. No AF-vs-realized-value math. No cert/credit expiration calendar.
/finance/
loans
8 loans listed: mortgage, 2 autos, HELOC, Lafayette patio, Bonnie family loan, 2 × 401(k) loans, student loan. Bonnie loan correctly excluded from "optimize" pool. No payoff scenario engine. No snowball/avalanche/cash-flow comparator. No interactive sliders.
/finance/
calendar
List view of upcoming due dates + recurring charges with rough timing. Catches the Newrez $20 overdue. Not actually a calendar view. No paydays plotted. No "crunch week" warnings.
/finance/
spending
Spending by category, by merchant, single-lens. Real numbers behind it. Smallest page. No lifestyle-aware framing. Doesn't surface the Venmo-as-CC-payment artifact (insights.astro caught it; spending.astro hasn't been refiltered).
/finance/
subscriptions
Recurring charges list. Highlights CrunchLabs (expired card), Iberostar (past due). Catches real expirations. No keep/cancel/downgrade/ask workflow. No annualized cost roll-up. No confidence tiering (definitely vs. probably recurring).
/finance/
networth
Balance sheet. $346K net worth · $1.21M assets · $861K liabilities · home equity $241K · combined retirement $434K. Newest page; comprehensive. Static — no trend line over time. No "data freshness per account" overlay. Home value is Zillow point-in-time, not flagged as estimate.
/finance/
insights
Long-form findings: $88K Venmo flow resolved, sweep-pattern decoded, combined retirement, 3-yr income trajectory, top-merchants table, recurring detection. Best page of the bunch — actual narrative + math + resolution callouts. Insights aren't ranked by impact. 12+ sections, no top-3 prioritization. This is where the insight engine should live but doesn't.

The brutal version of the audit

We have a financial reporting tool, not a financial chief of staff. Reporting tools show numbers. Chiefs of staff turn numbers into decisions. The brief explicitly asks for the latter, and that's the redesign target.


2Gap analysis

The 9 questions vs. what the dashboard actually answers

The brief lists 9 questions a household CFO dashboard must answer clearly. Score: 3 "yes," 4 "partial," 2 "no." This is the work.

Question Today What's missing
1. Are we okay right now?PartialNo plain-language status card. Tile grid shows mortgage rate & balance but not net cash position, runway, or "stable / watch / pressure" framing.
2. Where is our money going?PartialSpending page exists but single-lens. No needs vs. wants, no business vs. personal, no per-person split.
3. What needs attention?YesNewrez $20, Saks $50 by 6/30, BoA Preferred cliff 5/26 all surfaced. But not ranked, and the rest of the page is just as loud as the actual urgency.
4. What are we accidentally wasting money on?PartialInterest drag named (Venmo 35.24%, Lafayette 8.99%). Subscriptions listed. But no "$X/yr you didn't realize you were spending" framing, no AF-vs-value table for cards.
5. How fast can we pay down debt?NoNo scenario engine. No snowball/avalanche/cash-flow comparator. No "+$250/mo saves $X over Y months" math. This is a flagship missing module.
6. What choices would improve our situation?PartialHELOC arbitrage callout exists. Card-routing recommendations exist in methodology but not surfaced. No multi-lens recommendation engine.
7. What should we talk to our agent about next?NoNo "Ask Aria" suggested-question surface. The deep methodology doc isn't linked from the dashboard.
8. Are we making progress or drifting?Partial3-yr income trajectory yes (2024→2025→2026). Net worth over time no — only point-in-time. No debt-trend chart. No "month-over-month rewards used" view.
9. What is the simplest next action?YesTop-3 list works in places. Needs to be the front-page hero, not buried below grids.

3The new module you asked for

Rewards & Perks Command Center

You called it out in the addendum: 20+ cards, free nights you forget about, hotel credits expiring unused, rotating bonus categories not activated. This becomes a peer-level module — same prominence as Debt Payoff — because rewards are only valuable if used, tracked, and not offset by interest.

What this module answers

  • What credits expire soon? Hilton Aspire anniversary night, Saks H1 ($50 by 6/30, whole benefit dies 7/1), Amex airline incidentals, Resy monthly $20, rideshare monthly $10.
  • What free-night certs do we have? Hilton Aspire anniversary (~$300-800). Marriott if any. Any earned through promos.
  • Which card for this purchase? A decision tree fed by the methodology doc — grocery / dining / gas / travel / online / utilities / subs / large.
  • Is each card paying for itself? AF $X vs. credits used $Y vs. rewards earned $Z vs. interest charged $W. Per-card net value.
  • Are rewards being wiped out by interest? Venmo Visa is the warning case — $7,174 @ 35.24% means ~$200/mo in interest that crushes any 1–3% earn.
  • What renewals are coming? Anniversary dates per card. Decision window before AF posts: keep / downgrade / cancel / product-change.
  • What rotating categories need activation? Discover-style quarters, BoA Customized Cash category swap (monthly).

Foundation already exists: memory/drawers/finance/methodology/rewards-optimization.md (562 lines, cited per-card playbook). The work is structuring it as a JSON schema + rendering a UI on top.

The integrity rule

Aria will never suggest spending to earn rewards. The module always distinguishes smart optimization of spend that's already happening from chasing rewards through unnecessary spend. When interest charged exceeds rewards earned (e.g., Venmo Visa), the dashboard says so plainly.


4Information architecture

Proposed nav · 10 sections

Mapped to the brief's "suggested structure." Six existing pages survive (renamed/refocused). Four new modules. Order matters — it's the implied priority when Topher opens the dashboard.

01
Home — "Are we okay?"
30-second status. Cash position, debt pressure, top 3 to review, next best action. Rebuilt from today's index.
Rebuild
02
Debt Payoff
Snowball vs. avalanche vs. cash-flow-relief vs. hybrid. Sliders. "Extra $250/mo saves $X" math.
New
03
Rewards & Perks
Per-card credits, certs, expirations, "which card to use," AF-vs-value, rewards-vs-interest warnings.
New
04
Cash Flow Calendar
Actual calendar grid. Paydays plotted. Due-date clusters flagged. Crunch-week warnings. Replaces current list view.
Rebuild
05
Spending
Multi-lens: category · merchant · needs/wants · person · IRS schedule · business/personal. Lifestyle-aware framing.
Rebuild
06
Subscriptions
Keep · Cancel · Downgrade · Ask. Confidence tiers. Annual roll-up. The cleanup workflow.
Rebuild
07
Net Worth
Balance sheet + time-series trend. Per-account staleness. Estimate vs. fact distinction.
Enhance
08
Goals
Pay-off-this-card, build-emergency, save-for-trip, reduce-monthly-interest. Progress + next action per goal.
New
09
Review Inbox
Question queue: uncategorized txns, unclear transfers, ambiguous subs. Answer once, used forever.
New
10
Data Health
Last-uploaded per account · missing months · parsing confidence · "upload this to improve accuracy."
New

What gets retired

/finance/insights stops being a page and becomes the insight engine that feeds the top of Home. The valuable narrative content (Venmo flow resolved, sweep pattern decoded, retirement breakdown) gets distributed: insights to Home, retirement detail to Net Worth, sweep map to Cash Flow. /finance/accounts gets folded into Data Health + Net Worth — there isn't a strong reason for a standalone account list once those two exist.


5The 6 lenses

Multi-perspective insight engine

Per the brief: don't hard-code one philosophy. Insights are tagged with which lens they're coming from so Topher can see why a recommendation differs across views.

Debt discipline

Ramsey-influenced but not dogmatic. Reduce interest, kill balances, avoid new debt, build momentum.

Personal CFO

Cash flow, net worth trends, liquidity, upcoming bills, debt-to-income pressure, forecasting.

Lifestyle-aware

Protect the things that matter — family, travel, experiences. Cut what's drifting, not what's loved.

Behavioral coach

Nudges, weekly habits, pattern detection, simple next steps. No shame. Make the right action obvious.

Wealth-building

Net worth growth, retirement trajectory, asset/liability ratio over years, compounding visibility.

Rewards optimization

Use credits before expiry. AF vs. realized value. Choose the right card per purchase. Never let interest wipe out rewards.

How this shows up

Each insight surfaces with a small lens tag (e.g., Debt discipline Personal CFO) so Topher can see why two analyses disagree. The Venmo Visa is the canonical example: Debt-discipline says attack now; Lifestyle-aware says fine if it stays small; CFO says the interest line costs more than 3 subscriptions combined.


6Design alignment

Finance pages need to speak v2

The Finance dashboard was built on 5/18, before today's v2 migration. It renders OK because of the dark-mode utility overrides in global.css, but it doesn't speak the new Aspire language: cream canvas, DM Serif Display headings, terracotta + hunter green accents, Material Symbols, editorial spacing.

What changes per page

  • Drop dark-card-on-stone-50 gradients. Use .aspire-card / .cfo-card patterns (this page is the live example).
  • Drop emoji-in-string. Replace 🚨 / 💳 / 📊 / 🔁 with Material Symbols (warning / credit_card / monitoring / autorenew).
  • Use --terra for warnings (not red-500), --hunter for CTAs and "okay" state, --text + --text-sec for hierarchy.
  • Tabular numbers via --font-num (Unbounded) for big balances; DM Sans for body; DM Serif Display for h2/h3.
  • Mobile baseline 390px — no horizontal scroll on phones, tables get .audit-scroll wrappers, grids collapse to 1-col below 640px.
  • Studio Dark must pass WCAG AA — checked via /info/accessibility matrix. Same standard the rest of CC just adopted.

7Insight engine

How insights get ranked

Today: 12+ insights, no ranking. Proposed: every insight has a structured shape with a priority score; only the top 3 surface on Home. The rest live in deep pages.

The insight shape

{
  id: "venmo-visa-interest-bleed",
  title: "Venmo Visa is bleeding ~$200/mo in interest",
  impact_dollars: 2400,            // annualized
  confidence: "high",              // high · medium · low
  urgency: "now",                  // now · 30d · 90d · ongoing
  lens: ["debt", "cfo"],           // which lenses agree
  recommended_action: "Avalanche this first — $7,174 @ 35.24% APR is the highest-cost revolving balance.",
  needs_confirmation: false,
  related_accounts: ["venmo-visa"],
  data_sources: ["snapshot.json#venmo-visa", "statements/venmo-2026-04"],
  generated_at: "2026-05-19",
  status: "open"                   // open · snoozed · dismissed · resolved
}

Priority score = impact_dollars × urgency_weight × confidence_weight × (1 − ignored_before_penalty). Top 3 on Home, top 10 on a "View all" overflow. Snoozed/dismissed insights age out gracefully.


8Data health

Freshness & confidence everywhere

Because the source is uploaded statements (not live bank connections), no number should pretend to be real-time. Every major figure gets a freshness badge.

The badge vocabulary

Current
Last statement within 35 days. High confidence.
As-of
Last statement 35–90 days. Show the date inline.
Stale
>90 days since last statement. Suggest upload.
Estimated
Computed (Zillow, KBB, point estimate). Not a parsed fact.
Missing
Account exists but no recent statement parsed. Show the gap.

On Home: a single "Data current through {date}" line in the header. On detail pages: per-account badges in the table.


9Question queue

What I need from you to make this great

Per the brief: ask before assuming. Below are the open questions that block specific build decisions. Answer the easy ones inline; the harder ones can wait until the Review Inbox is live.

Card-variant identification (blocks Rewards Command Center)

  • USAA Visa 2957 — Rewards Visa Signature, Preferred Cash Rewards, or Cashback Rewards Plus (military-base 5%)? Earn structure differs sharply.
  • BoA card 3291 — Customized Cash Rewards ($0 AF) or Premium Rewards ($95 AF)? Both common. Determines whether the $10,920 balance is on a category-bonus card or a travel card, and whether the May 26 Preferred Rewards cliff applies.
  • Venmo Visa last4 — confirm the last 4 so we can match transactions.
  • Cap1 Quicksilver 5101 — yours or Jaime's?
  • Lowe's Advantage last4 + current balance.

Lifestyle & goals (blocks Goals + insight prioritization)

  • What's the monthly "enjoy life" budget you don't want squeezed?
  • Categories that are off-limits for "cut suggestions" — i.e. things you and Jaime value? (Travel? Kids? Cleaning service?)
  • Top 3 financial goals for next 6 months — pay off X card? Build $Y emergency? Save for Z trip?
  • Strict alerts or gentle nudges? (My read: gentle nudges, but want to confirm.)

Data-completeness gaps (blocks specific calcs)

  • Student loan current APR & status (Nelnet login needed).
  • Bonnie loan start year (for cumulative interest paid).
  • Pathways HELOC variable rate basis (Prime + X%).
  • Vehicle KBB values to replace the $100K estimate.
  • Anniversary dates per card (when the AF actually posts) — most you can pull from the card account online; some I have from statements.

10Phased plan

9 phases, each independently shippable

Each phase delivers a visible win and gets committed separately. You can redirect after any phase. Time estimates are honest — bigger pieces (engine, calendar) are real work, not afternoons.

1

Home page rebuild — "Are we okay?"

~3-4 hours · Visible same day · No new data needed

Replace /finance/index.astro with a 30-second-comprehension home: plain-language status card, 4-tile snapshot (net worth, total debt, interest YTD, monthly cash flow), Top 3 to Review (ranked), Next Best Action, data-freshness line. v2 design language. Mobile-first.

2

Rewards & Perks Command Center

~5-7 hours · Highest user-felt impact · Card-variant answers unblock the math

New page at /finance/rewards. Schema for per-card credits/certs/expirations. "Which card for this purchase" decision tree. AF-vs-realized-value table. Rewards-vs-interest warnings on revolving cards. Expiration calendar.

  • New file: src/data/finance/card_benefits.json — structured benefits per card
  • New page: /info/finance/rewards.astro
  • Cross-link from Home top-3 ("Hilton anniversary cert hasn't been used")
3

Debt Payoff Command Center

~4-6 hours · Direct tie-in to Linear OPS-54

Replace /finance/loans. Snowball vs. avalanche vs. cash-flow-relief vs. hybrid comparator. Sliders for extra payment + lump sum. "+$250/mo saves $X over Y months." Bonnie loan correctly excluded from optimization but shown in cash-flow.

4

Insight engine refactor

~3-4 hours · Underpins Home + every other page

Convert analyze.py output into the structured insight shape (see §7). Priority scoring. Snooze/dismiss state file. Home pulls top-3 from this engine. /finance/insights becomes "all insights" overflow.

5

Subscriptions cleanup workflow

~2-3 hours · Quick win

Per-row Keep / Cancel / Downgrade / Ask actions. Annual cost roll-up. Confidence tiers (definite / probable / annual). State saved to data/finance/subscription_decisions.json.

6

Cash Flow Calendar

~4-5 hours · The first chart that's actually a chart

Real calendar grid (CSS, not heavy lib). Paydays plotted. Due dates clustered. Subscriptions. Crunch-week warnings. Replace today's list-view.

7

Net Worth time-series + Data Health page

~3-4 hours · Trust-building

Net worth trend over time (from statement balance history in SQLite). Per-account freshness badges. Standalone Data Health page lists last-uploaded per account, missing months, parsing confidence.

8

Spending v2 — multi-lens

~3-4 hours · Lifestyle-aware

Pivot by category / merchant / person / needs-wants / business-personal / IRS schedule. Top-merchant filter cleaned (Venmo CC-payment routing excluded). "Trending above normal" callouts.

9

Goals + Review Inbox + Ask Aria

~4-5 hours · The chief-of-staff finishing layer

Goals tracking with progress per target. Review Inbox question queue (uncategorized txns, unclear transfers, possible subs). "Ask Aria" surface with suggested questions linked to the conversational agent.

Total time honest estimate

31–42 hours of focused build, plus data-quality follow-ups and your answers to the question queue. Realistic cadence: Phase 1 today, Phase 2 + 3 by end of week, Phases 4–9 over the next 10–14 days at the pace I can hold without dropping quality. Mobile-verified every phase. Topher reviews on the rendered page after each.


11Risks & assumptions

What could make this go sideways

Risk · Scope creep into a Mint replacement

The brief is huge and could pull this toward "rebuild Monarch/Mint." Mitigation: every phase is independently shippable. We don't promise live bank connections, real-time data, or budget envelopes (you already have envelopes at USAA). The dashboard is a decision surface on top of statement data, not a banking app.

Risk · Card-variant ambiguity blocks Rewards module

USAA 2957 and BoA 3291 have very different earn structures by variant. The methodology doc handles this by listing both with "TBD" — the Rewards module will render the same way until you confirm. Until then, "Which card to use" can still answer for the 5 cards we have confirmed.

Risk · Insight engine over-confidence

If we rank insights too aggressively, we'll feel like a financial coach lecturing. Mitigation: every insight gets a calm voice and a "snooze for 30 days" affordance. No streaks, no scores, no shaming language ever.

Assumption · You and Jaime share one dashboard

Per-person filtering exists in data (we know who owns what), but UI defaults to household view. If you want separate Topher / Jaime views as a first-class toggle, that's Phase 1 scope, not Phase 9. Tell me now.

Assumption · Linear OPS-54 stays the system of record for the paydown decision

The Debt Payoff page surfaces scenarios; the decision lives in OPS-54. I won't make the call for you — but I'll make the math undeniable.


12Decision point

Where I'd like your call

Three branches. The middle path is what I'd recommend — biggest visible win first, hard-thought build, your review built into every phase.

Option A · Ship
Start Phase 1 now
Reply "go phase 1." I rebuild the home page tonight, ship it, commit, and request your green-light before Phase 2 (Rewards).
Option B · Recommended
Phase 1 + Phase 2 back-to-back
Reply "go 1+2." I do home page tonight, Rewards module tomorrow. Best mix of visible progress + the module you specifically asked for. Pause after Phase 2 for your direction.
Option C · Redirect
Change the plan
Reply with what you want different — re-order phases, kill something, add something, ask for more depth on a section.
Option D · Answer first
Knock out the question queue
Reply with the card-variant answers (USAA 2957, BoA 3291, etc.) so Phase 2 has full data when I start. Best if you've got 10 min in the USAA/BoA apps.

Whichever you pick: I will not start coding the redesign before I hear from you. The brief was explicit on that, and so are you when you said "take your time, think deep."


Drafted by Aria · 2026-05-19 · Back to Finance · Today's insights · Design system

Source brief: your "world-class Household CFO" message. Methodology foundation: memory/drawers/finance/methodology/rewards-optimization.md.