NoahDebt
Changelog
Product milestones for NoahDebt — newest first.
End dates on Paydays + Export to Excel
Monthly bills and recurring paydays can end. Set a Last due date on a monthly bill — like a loan's final payment — and it stops showing under paydays after that date; the bill row shows when it ends or ended. Set a Last payday on a recurring schedule and no paydays are laid out after it. Leave either blank to keep it going. Export to Excel downloads the Paydays table as a spreadsheet: one row per bill, one column per payday date, plus income, total bills and remaining.
- Paydays
Monthly bills on Paydays
Bills on Paydays can repeat every month. A monthly bill shows under each payday that covers its due day, so the board's two months ahead count it twice instead of once. New bills start as monthly; tick Repeats every month off for a one-time bill and pick its payday. Edit any existing bill to switch it to monthly. Monthly bills show a repeat icon next to their due day.
- Paydays
Bulk statement import
Import statements in bulk: drag in files or a whole folder, or use Choose files / Choose folder. Up to 50 PDFs and CSVs at a time; anything else in the folder is left out. Noah reads the next statement while you review the current one, and each still opens in Review statement before it saves — Skip file moves on, Stop the rest ends the batch. An account created by one statement is picked for the next statement with the same last four. The last four of an account can now include letters, like 6BHQ — typed by hand or read off a statement.
- Imports
- Accounts
Snowball payoff plan
Pick Snowball next to Custom and Avalanche to pay off debts smallest balance first. Each card you clear frees its minimum for the next one. Paid-off cards drop to the bottom so they never become priority #1. Tonight's plan, coaching, Mission Control and Noah all follow the Snowball order.
- Debts
Loan statements balance
Loan statements that split a payment into interest, fees and principal (like USAA) now import balanced. Only principal lowers a loan's balance, so interest and fees come in as charges and the principal line becomes one payment for the full amount paid. Review statement shows where the payment went: how much went to interest and fees, and how far the balance dropped.
- Imports
Statement import fixes + Money market and Crypto accounts
Card statement imports keep the interest charge line instead of skipping it as a summary, and if the read still misses it, the charge from the account summary is added when it's exactly what balances the statement. Review statement lets you add a missing row or delete a wrong one, and its "doesn't balance" warning is now red. Imported account names no longer repeat the bank's name, and ALL-CAPS names and transactions read in normal case. New Money market (counts as cash) and Crypto (counts as investments) account types. Brokerage imports skip the internal money market buys and sells that double-counted every deposit and withdrawal, and on investment and crypto accounts a gap from market change shows as a note, not a warning. Typing in the account editor no longer jumps focus to the close button.
- Imports
- Accounts
Recurring paydays + Accounts in the menu
Paydays takes recurring schedules — weekly, every 2 weeks, twice a month, or monthly, each with its own take-home — and keeps the current period plus about two months ahead on the board, rolling forward on its own. Weekend paydays on twice-a-month and monthly schedules move to the Friday before. Edit one date's income or skip one date without touching the schedule; one-time paydays still work. Accounts now has its own link in the side menu, and the Leaks Categories chart packs bars to the left instead of spreading them across the card.
- Paydays
- Leaks
- Navigation
Subscription Hunter + sharper Noah
Noah now hunts subscriptions from Plaid's recurring charges after every sync: Leak Radar shows each one with $/mo and $/yr and Keep / Cancel / Not a subscription. Cancel opens a verified official cancel page, then Noah watches the next charge date — a charge means the cancel didn't stick, silence means a win toast and freed money you can add to your monthly extra in one tap. Rent, utilities, loans, insurance and medical never show up. New bank links pull history back to Jan 1. Noah's voice got a fuller rulebook and only quotes cancel links the app verified. Admin can switch off the card or just the Plaid call.
- Leaks
- Plaid
- Noah
Leak Radar = discretionary-only
A leak is sealable discretionary spend (fast food, subscriptions/SaaS, impulse buys, avoidable OD/interest fees) — not mortgage, rent, utilities, insurance, debt payments, or groceries. Non-discretionary money-out is excluded from Leak Radar (not dumped into Other). New Dining & delivery and Entertainment buckets; Other is discretionary-only. Per-txn retag/exclude prefs still win. rulesVersion bumped so the next Plaid sync remaps.
- Leaks
- Plaid
Debt-free autofill + payday period buckets
Calculators → Debt-free date autofills total debt and balance-weighted average APR from live household debts/loans and saved rates (stops overwriting after you edit). Paydays auto-map unlocked bills into the payday period that covers the due day (1st/15th → due 1–14 on the 1st, 15–31 on the 15th) instead of front-loading everything onto the soonest payday; paydayLocked manual picks stay put.
- Calculators
- Paydays
Mission Control game board + win toasts
Home is Mission Control: reactive milestones (Priority #1 %, interest dodge, clear streak), win toasts when you clear tonight's plan (quiet mode in Settings), and punchier Noah + landing voice — fun/blunt, getting rich on purpose, newsletter still not open signup. Household isolation, auth, Plaid, and admin untouched.
- Mission Control
- Landing
- Noah
- Settings
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; starts empty, with a one-tap fill from your bank. 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 → dashboard
The dashboard 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
