NoahDebt
Changelog
Product milestones for the NoahDebt cockpit — newest first.
Multi-tenant household isolation
Invitee accounts no longer share operator prefs/snapshot/Plaid/debts. Blob keys are scoped by householdId (legacy default keeps user-prefs.json / live-snapshot.json / plaid-tokens.json / family.json). Family share still shares within a household; per-login Settings stay in user-settings/{userId}.json.
- Auth
- Family
- Blob
- Security
Admin analytics charts from stored counters
Admin → Analytics builds past empty counters into lifetime mix bars and a 14-day ET stacked chart. Daily buckets append on each login/chat/sync bump (operator included). Legacy totals stay; daily history fills forward from the next events.
- Admin
- Analytics
Payday Fill-from-bank merchant merge
Fill from bank treats NETFLIX.COM / www.netflix.com / Netflix as the same merchant so merge mode no longer adds duplicate bills beside an edited row. Display names drop common .com-style suffixes.
- Paydays
- Plaid
Landing waitlist → newsletter
Landing CTAs, #newsletter anchor, and nav now frame email capture as a product updates newsletter — not a waitlist for new-user access. Copy aligns with not-ready-for-open-signups. Legacy #waitlist redirects to #newsletter. API path /api/waitlist and Blob waitlist.json kept for continuity.
- Landing
- Newsletter
Family share for subscribers
Subscribers can invite one family member (2 logins total) from Settings. Shared: banks, debts, leaks, paydays, household prefs. Separate: per-login Settings (theme, display name, coaching/Priority blurb in user-settings/{userId}.json). Family members never get Admin. Register accepts FAM-… codes.
- Family
- Settings
- Auth
Admin LLM models per tier
New Admin → Models section configures OpenAI model ids for non-subscribers (default gpt-4o-mini) and subscribers (default gpt-5.4-mini). Saved to Blob ai-models.json. Ask Noah chat and Priority blurb resolve the model via isSubscriber(prefs) (prefs.subscriber flag today; Stripe later).
- Admin
- AI
- Noah
Admin uses household login
No separate NOAHDEBT_ADMIN_PASSWORD required on Vercel. Household session (same NOAHDEBT_PASSWORD / account) grants /admin; /admin/login redirects to /login?next=/admin. Optional NOAHDEBT_ADMIN_PASSWORD override still works if set. Nav Admin link shows for admins only (household operator).
- Admin
- Auth
Operator admin dashboard
New /admin control plane (sidebar sections: Overview, Users, Analytics, SEO, AEO, Email, Subscriptions, Features, Connectors, System). Live /api/admin/* reads env + Blob as booleans only — no secret leakage. Feature flags and household subscriber/label editable from admin; analytics counters hook login, chat messages, and Plaid sync when Blob is connected. Admin access follows household login (see newer changelog entry).
- Admin
- Ops
- Prefs
Accounts in Settings + wider layouts
Accounts moved under Settings (removed from main nav); /accounts redirects to /settings#accounts. Settings uses a ~¾-page multi-column layout (theme/household, bank status, legal) with full bank connect + account list below. Calculators hub card widened to max-w-5xl. Leak Radar keeps Plaid PFC + heuristic auto-categories with per-txn overrides in prefs that stick across syncs; PFC streaming/subscription cues also map into SaaS.
- Settings
- Accounts
- Calculators
- Leaks
Live bank txns + payday auto-map before due
Plaid sync keeps full money-out charges in Leak Radar under Other (not only OD/interest/Intuit/gas/SaaS) and no longer wipes prior txn lists when a windowed pull returns empty. Paydays auto-assign unlocked bills to the latest payday on/before the next due date; editing the payday column in the bill modal locks that assignment.
- Plaid
- Leaks
- Paydays
Settings + Fill paydays from bank
New /settings household page (nav link): theme, household label, Ask Noah chat-resume subscriber flag, Plaid status glance pointing at Accounts, privacy/terms/changelog links, and logout. Password change omitted (shared env auth). Paydays can seed or merge recurring Plaid leak charges via Fill from bank — due day from typical post day, amount from recent charge, mapped to the nearest payday column; never blind-overwrites edited bills.
- Settings
- Paydays
- Plaid
Paydays — bills under upcoming paychecks
New authenticated Paydays page (nav + /paydays): due day and bill name on the left, upcoming payday columns with projected income, bill amounts under the paycheck that pays them, column totals and remaining. Editable bills and paydays persist in Blob prefs; demo seed when empty. Soft highlight when a payday is overspent.
- Paydays
- Bills
- Prefs
Marketing chrome theme + calculator tabs hug
Privacy, Terms, and Changelog share the landing header (section nav, Light/Dark/Auto toggle, newsletter/sign-in) and footer. Marketing surfaces follow theme. Calculators tab bar is w-fit so it ends after the last tab.
- Landing
- Theme
- Legal
- Calculators
Calculators hub + payoff snake
Nav puts Calculators before Accounts. Debt-free calculator seeds average APR (and total) from live debts plus prefs rates, with an editable payoff snake chart. New snowball vs avalanche tab compares months and interest.
- Calculators
- Charts
Multi-feature pack
Public Privacy, Terms, sitemap, and changelog. Time-of-day plan with clearable tasks. Restore modal for tucked coaching items. Cash on hand never shows APR. Manual account add/edit in modals. Hidden accounts view + unhide. Logged-in Calculators page.
- Legal
- Plan
- Accounts
- Calculators
Live Plaid sync → cockpit
Cockpit reads the live Blob snapshot after Plaid sync so balances and leaks stay current without a full reload dance.
- Plaid
- Sync
Ask Noah chat history
Conversation history with a 60-minute resume window and subscriber unlock. Same Vercel Blob store as prefs.
- Chat
Manual accounts + cash on hand
Add accounts Plaid misses, including physical cash on hand. Manual rows live in Blob prefs and merge back after every Plaid sync.
- Accounts
Tonight’s plan + Priority nesting
Recommended liquid → floor / priority #1 moves on Home, nested with coaching under one Priority section.
- Plan
- Home
Landing calculator sticky header
Opening the debt-free calculator no longer knocks the marketing header out of sticky position.
- Landing
