What’s new

Every change you’d notice in Exp Planner, newest first, straight from the work as it lands.

Week of

  • Safe to spend holds back the rest of a fund's bill before it's due
  • Safe to spend counts the taxes due this period

Week of

  • Settings menu, hover and page panels in the lit style
  • Cards stand out like the pop-up windows
  • Amount fields say they hold an amount
  • Sign-in code email: a branded template
  • Sign-up by invitation until the release
  • App on app.expplanner.com
  • Quick add: any currency on an account in its own, the account name on Android
  • Contacts: support@expplanner.com everywhere
  • iPhone forms and sheets: date fields, sheets that move
  • Insights on a phone: tab chips, Year column, Top merchants
  • Tab bar drop no longer stalls while the screen loads
  • Filter pickers on a phone without a search field
  • Card statements in another currency in Bills
  • Interest the bank will charge, ahead in Bills
  • Overview accounts on a phone: no Pay buttons, the Credit badge by the amount
  • Insights: the category column stays put while a table scrolls
  • Tab bar highlight flows like a drop
  • The add button offers what the screen adds
  • iPhone forms: payments left clears, sheets stay below the notch
  • Top bar stays pinned while the page scrolls
  • iPhone no longer zooms into a text field and stays zoomed
  • A credit card's balance entered as the bank shows it
  • Safe to spend from your own money, and after credit cards
  • The text follows the phone's text size, 85–150 %
  • Credit card statements in Import
  • Credit lines and overdraft
  • Card payment as a bill
  • Every screen checked at 320, 360 and 430 px
  • Choose and reorder the phone's tabs
  • Credit accounts look like credit everywhere
  • Four equal tabs, More in the account menu, a smaller + above the bar
  • Credit card settings: minimum payment, APR, pays from, Safe to spend
  • App lock, and Share → Exp Planner opens a statement on Import
  • Google Wallet payments into the Android app
  • Hide amounts fails closed without a month in memory
  • Quick add, Upcoming bills and Plan vs actual widgets; Hide amounts
  • Android widget "Safe to spend today" and icon shortcuts
  • Show reminders while the app is open
  • Reminders in the Android app through FCM
  • Only Google and Apple sign-in are bundled into the apps
  • Sign-in in the app — native Google, and native plugins that work
  • App shell — Exp Planner on iPhone and Android
  • Signing out wipes the kept data for good; Quick add's default account is stable
  • The app opens offline at once, not after "Signing you in…"
  • Offline reading — every screen opens with the last data
  • Subscriptions and Ending scroll inside their cards
  • Ending payments — when each bill stops
  • The Shortcut's notification says what went wrong
  • Apple Pay purchases from an iPhone Shortcut (experiment)
  • Leftovers from the 2 Oct review
  • Arithmetic in amount fields, and repeat in Quick add
  • Mark paid early dates the payment today
  • Forecast 3–12 months ahead, and "can I afford this"
  • Taxes in Bills
  • Edit any payment in one place
  • Taxes in other currencies
  • Smart reminders
  • Taxes, a simple calculator
  • Clean payee names, and rules with conditions
  • Month review at a glance
  • Month review, and closing the month
  • Transactions totals like Insights, CSV with comma decimals, Back keeps filters
  • Quick entry and money input, small fixes
  • Bill reminders that don't depend on opening the app
  • Autopay without double counting, and failures that show
  • Revolut top-ups and exchanges import without failing

Week of

  • Export the transactions on screen as CSV
  • Exact typed amounts, and a question for ambiguous "1,234"
  • Plan up to a year ahead on Budget and Bills
  • Cyrillic-friendly search, rules and sorting
  • Insights — this month vs last month, and spending by weekday
  • Long-press to select transactions on a phone
  • Apply a rule to existing transactions from Settings
  • Transactions totals follow the filters
  • Quick entry from ⌘K ("12.50 groceries")
  • Onboarding ends with an offer to import the last 3 months
  • Bills paid automatically on their due day
  • Bill reminders by Web Push

Week of

  • Anchor-day line, duplicates warning, undo keeps edited rows
  • Fresh data in an installed app: refresh on return and by hand
  • Clear the previous person's local data on sign-in
  • Database length limits and profile column grants
  • Shared helpers, one LoadError, Overview split
  • Typed route search params: validateSearch instead of 21 as never
  • Selects: one native Select and a themed picker for lists that grow
  • Accessibility of popovers and the page behind dialogs
  • Touch targets: small controls reach 44 px on a touch screen
  • Motion: sheen only when a dialog opens, lighter tab stagger
  • Contrast on glass: AA for captions, denser glass on dense screens
  • Radius scale: from 20 border radii to five steps and full
  • Type scale: from 27 font sizes to ten steps
  • Transaction detail: secondary sections collapse
  • Phone sheets: keyboard avoidance and drag-to-dismiss
  • Overview: categorize "needs review" items in place
  • PWA polish: ? shortcuts dialog, manifest shortcuts, theme-color from the theme
  • Undo for bulk changes stays until the next change, not on a timer
  • Import: "Review these N" opens exactly this import's rows
  • Insights: the tab picker fits 1024–1280px desktops
  • Naming: Transactions tab, overdue by direction, Import a statement
  • Quick add: categories with icons, colours and search
  • Quick add: payee memory and rules pick the category
  • Bills calendar: names visible at laptop widths
  • Actions visible without hover: Budget "+", reconcile chevron, calendar "+"
  • Overview on a phone: a tap on an attention item opens a sheet
  • Quick add: Yesterday, Save and add another, the category in the Save button
  • Overview: Safe to spend is the hero figure again
  • Rules refresh at once, a clear split error, overdue bills without an onboarding date
  • Overview: the forecast sparkline shows a month going below zero
  • FX: a latest-rate answer is kept under today, never as a future date's history
  • Command palette: search through a function with a parameter
  • Phone: plan rows keep their names, import footer and chip rows fit
  • Delete account: the fresh sign-in check reads the token's amr claim
  • Offline queue: tell a network error from a bug, cap retries, one flush across tabs
  • Sign-out asks first while Quick add entries haven't synced
  • Receipts: allow Storage images in the CSP; reject unusable FX rates
  • Dev: break the router import cycle that broke hot reload
  • Overview: Safe to spend breakdown fits its card
  • Glass: fewer blur passes, solid fallback, Reduce transparency
  • Plans: delete one made by mistake; payments find their plan
  • Dialogs: fixed title, scrolling body, pinned actions, tighter forms
  • Receipts: a photo or PDF on a transaction
  • Accounts in their own currency, and credit cards
  • Quick add works offline
  • Money flow (Sankey) and a year view in Insights
  • Funds can be goals without a deadline
  • Categories get a colour automatically
  • Net worth over time in Insights
  • Category colours in the Insights charts
  • Category icons and colours
  • Rules that add tags
  • Restore from a JSON export
  • Undo a whole import
  • Find regular payments in the history and offer them as bills
  • Weekly bills, move one payment, new price from a date
  • Transfers act as both legs; link two rows; other currencies
  • Category groups in Settings, and archive with a move
  • Plan a new month by itself, if you choose to
  • Editing a transaction's date or amount looks for its bill again
  • Insights charts open the transactions behind them
  • Funds as their own lines in Budget
  • Split a transaction across categories
  • The month and the filters in the address; tag, amount and date-range filters
  • A More tab on the phone for Funds, Insights, Import and Settings
  • Notification settings do what they say, or say they can't yet
  • Payee in Quick add; edit description and payee in the panel
  • Reconcile an account with the bank in one step
  • Undo on delete, and Undo / Edit after Quick add
  • Review all opens every transaction that needs review
  • Saves that took several requests are one RPC each
  • The database keeps transfers and splits consistent
  • Only Mark paid marks a transaction created_by_settle
  • Category names unique per user and kind
  • Sample data out of the signed-in bundle
  • One set of DB helpers in lib/db.ts
  • Anon can't execute any public function
  • An index behind every foreign key
  • Expand all / Collapse all where sections fold
  • The current tab sits on a pill that slides between tabs
  • Move a transaction to another account
  • Flag rows that look imported already under another hash
  • Damaged or oversized XLSX files end in a clear message
  • Import reads Cyrillic statements in Windows-1251
  • Dates and decimals in the Exp Planner format; ambiguous day/month flagged
  • Import reads amounts without guessing: thousands, stray separators, DR/CR
  • Delete account from Settings
  • Settings' number format, date order, week start and time zone apply everywhere
  • Content-Security-Policy and HSTS
  • Amounts in Budget, Funds and Settings use the currency's own digits
  • One map of what each save changes
  • One save per submit in Quick add, Transfer, Mark paid and onboarding
  • Error screens, and a reload for chunks gone after a deploy
  • A production build without Supabase says so instead of serving the demo
  • N and I open Quick add only inside the app
  • Rollover carries a category's leftover or overspend into next month
  • Changing the month's start day keeps the budgets
  • Budget and Overview count spending with no category or in an archived one
  • Imported row replaces the same payment typed in by hand
  • Balance date when adding an account; Overview says where a balance counts from
  • Balance on a date, and say when a transaction is already in the balance
  • Paying a fund's bill spends from the fund by itself
  • Money saved in funds isn't counted as safe to spend
  • Deleting a bill's payment puts the bill back to expected
  • Import keeps a second identical payment on the same day
  • Sign out of this device only, and leave nothing behind
  • One transaction pays one bill and one fund at most
  • Safe to spend keeps the safety buffer aside
  • Overview: right balances past 1000 transactions
  • Budget: show what a paid plan was paid with
  • Top merchants: rank by category too
  • ⌘K command palette
  • Over the plan, one marker: the plan
  • Suggest import categories from MCC
  • Mercury bars everywhere; overspend shown against a plan divider
  • Overview: Safe to spend as a sum with accounts; attention list scrolls
  • Import Excel statements (.xlsx, HTML .xls)
  • Make a bill from a transaction
  • Match up columns for any bank's CSV
  • Import any bank's statement in the Exp Planner CSV format
  • Colour signed amounts in Insights tables
  • Quiet calendar days on light themes
  • Day headings dim what's behind them on light themes
  • Day headings a shade deeper than the list on light themes
  • Working Density, deeper light-theme window gradient, toned day headings
  • Soft rims on solid buttons in light themes
  • Top bar: account only; sign out beside the name
  • Matching action buttons, clearer Add label and hover
  • Drop the glint spot on glass buttons
  • Recessed lens-like glass buttons, softer rim
  • Frosted glass buttons with more body
  • Thinner, flatter glass edge on buttons
  • Remove the dev theme panel
  • Smoother motion: spring dialogs with a sheen, sliding panels, honour Reduce animations
  • Budget: + transaction on categories, Edit payment on paid rows
  • Budget: Mark paid on planned payments, + income on income rows
  • Budget: '+ bill' on the category name's line
  • Bills calendar: click a day to plan on it
  • Catch up marked payments with their edited plans
  • Budget: edit and add bills and income in place
  • Plan edits reach payments already marked; aligned Bills summary
  • Budget: Income group; Income planned links to Bills
  • Use due date for bill payments recorded on another day
  • Plan vs fact hints; Overview plan links to Budget; compact delete confirm
  • Transfer between own accounts
  • Plan falls back to bills when nothing is budgeted; Plan a bill works
  • Bills calendar: coloured in/out arrows
  • Import replaces Mark paid entries instead of counting them twice
  • Overview: balance hint for Safe to spend; working Needs attention actions
  • Fixed headers, foldable groups, glass scrollbars (Budget, Transactions)
  • Mark paid defaults to the due date; Insights averages only complete months
  • Budget actuals under the plan, coloured by direction
  • Planned income & bills in another currency; Mark paid on upcoming bills
  • Mark paid / received in another currency
  • Currency picker: searchable popover instead of the off-screen native menu
  • Multi-currency — base currency + any-currency transactions with the day's rate
  • UI polish — Ends on, details scroll, trash icon delete, movable dev panel
  • Mark paid / received with the exact amount — it becomes the actual transaction
  • Quick number picks in Stepper, typed entry, hold-to-repeat; clearer bill account label
  • UI bugs — bill rows in narrow cards, smooth flat frosted buttons