A record of the key product and interaction decisions behind BFF and the reasoning behind each one. Every entry states the decision, why I made it, and the benefit to the user.
Users add transactions by hand or upload a downloaded bank statement (CSV/OFX/QFX), rather than connecting BFF directly to a live bank account via an aggregator.
Automatic bank feeds make money invisible, the app tracks spending for you, so you never actually look at it. Requiring a small, deliberate act keeps the user in contact with their own money and builds the habit of noticing it. It also avoids asking a first-time budgeter to hand over bank credentials to a third party before they trust the product.
Users feel ownership and accountability over their finances, stay aware of where money actually goes, and never have to share sensitive banking logins to get started.
Balance, weekly in/out, budget usage, and every chart are calculated from the transactions the user logs, nothing on the dashboard is hand-typed or placeholder.
A budgeting tool only earns trust if the numbers are real. Tying every figure back to a transaction the user entered themselves creates a clear cause and effect: log a coffee, watch “Food this week” move. That kind of immediate feedback helps the habit stick.
The dashboard is always honest and personal, users can trust it and can see exactly why a number changed.
The home dashboard is framed around “This week”, weekly income, spending, and budget pacing, rather than the monthly cycle most finance apps default to.
A month is too long a feedback loop for someone learning to budget; by the time the statement lands, the money is already spent. A week is short enough to course-correct and small enough not to feel overwhelming, and it maps to how students and young adults actually experience money.
Users get frequent, low-pressure feedback and can adjust their spending before the week gets away from them.
The default categories are Food, Transport, Fun, School, Rent, and Other, plain-language labels that fit a student or young adult’s life instead of an accountant’s chart of accounts. They’re only a starting point, though: users can rename or remove them and create their own, each with its own icon sticker and color, so budgeting feels a little creative while staying clear and quick to log.
Category labels are the vocabulary the user thinks in every time they log a purchase. Sensible, plain-language defaults remove the blank-slate burden of setup. And letting people customize the labels, icons, and colors lets them shape the app around their own life, so categorizing feels personal instead of like corporate data entry.
Logging is faster and lower-effort, the categories feel relevant, and personalizing them gives users a sense of ownership that keeps them coming back.
Uploaded statements are auto-categorized, then shown in a preview the user can correct (fix a category, drop a row) before anything is committed to their history.
Auto-categorization is helpful but never perfect. Letting the automation do the heavy lifting while the person stays the final approver keeps wrong data from quietly polluting their numbers, and keeps them in control of their own record.
Users get the speed of automation without losing trust or control, and mistakes are caught before they matter.
A budget is set on a category (e.g. cap Food per week); “spent so far” is then summed automatically from matching transactions, and BFF alerts the user as they approach the cap.
The point of a budget is to warn you before you overspend, not to make you do the math. Keying budgets to categories the user already logs means the tracking is basically free: set it once and the app watches it for you.
Users get a set-and-forget guardrail that does the monitoring work for them.
BFF includes a journal, clearly labeled “Private and confidential, only you can see this,” sitting next to the financial data.
Money is emotional, and spending decisions are driven by feelings the numbers alone don’t capture. Giving users a private place to reflect treats real behavior change as the goal, not just data tracking, and the explicit privacy promise makes it safe to be honest.
Users can process the “why” behind their spending in a space that feels safe and personal.
The full budgeting product, logging, budgets, goals, journal, dashboard, is free and complete; the AI Coach ships behind an upgrade screen as a future paid add-on.
Nothing essential is paywalled, so a new user gets a genuinely useful product on day one and the value is proven before any ask for money. The Coach then acts as a clear, honest step up rather than a gate on the basics.
Users get real value for free and can see exactly what a paid tier would add before deciding.
The Profile page offers larger text (bumps the base to 18px), high contrast (stronger borders and text), and reduce motion (minimizes animation).
A finance tool people rely on has to work for all users. Building these controls in, rather than assuming the browser will handle it, makes BFF more comfortable for everyone.
Anyone can tune the interface to their own needs and situation, not just users with a disability, so BFF stays comfortable to use in any context.
The product is “BFF, Budget-Friendly Finances”: a friendly-best-friend framing, gentle nudges, and encouraging copy rather than red-alert, guilt-driven messaging.
Shame is the main reason people avoid looking at their money, and an app that makes them feel bad gets deleted. A supportive, approachable voice lowers the anxiety around personal finance, so users actually keep coming back and give the habit a chance to form.
Users feel supported rather than judged, which keeps them engaged instead of avoidant.
An “Add transaction” action is persistently available, a quick-add on the dashboard and a global add button in the navigation, on every page.
The single biggest failure mode of budgeting apps is that people stop logging. Making the core action frictionless and reachable from anywhere protects the one habit the entire product depends on.
Users can capture a spend in the moment, before they forget, from wherever they are in the app.
BFF is built as a responsive web app, with each account’s data synced to the cloud so it stays the same on laptop and phone (with a fast local cache for offline responsiveness), a structure designed to adapt to any screen or platform, and now extended into a native iOS app live on the Apple App Store.
A responsive, cloud-synced foundation adapts to any device instead of being locked to a single platform, and it works instantly with no app-store install standing between a first-time user and the product. Just as importantly, it set up a clean path forward: because the experience and data already scaled across screen sizes and synced in the cloud, extending BFF into a native mobile app built on the same foundation rather than starting over, which is exactly how it shipped to the App Store. Money is something people check in fragments across their day, so it should follow them wherever they are.
Users get a consistent, continuous money picture on any device, on the web today and as a native iOS app on the App Store, with the same account and data carrying seamlessly across both.