The Business Challenge
The business situation the organisation faced before the project began.
Personal finance tools often require users to navigate forms and separate screens for routine tasks. Shared expenses and informal debts can also be difficult to track alongside personal transactions. I wanted to explore whether a conversational interface could make these workflows easier while keeping financial records structured, user-scoped, and verifiable.
Why AI Was the Right Solution
Why AI was the right approach — and what alternatives were considered.
Personal finance questions are often expressed conversationally rather than through precise form inputs. Users may ask about balances, recent spending, shared costs, or repayment status using incomplete or natural-language descriptions.
A traditional collection of forms and rules could support individual workflows, but it would make cross-feature questions cumbersome and require users to understand the underlying data model. AI was appropriate as an interpretation and orchestration layer, while deterministic database operations remained responsible for financial state and calculations.
This combination allowed the interface to feel conversational without allowing the model to independently invent or finalize financial records.
How the Solution Was Delivered
Discovery, design, development, testing and rollout — the journey, not the tooling.
- 1Discovery of recurring personal-finance and shared-expense workflows
- 2Domain modeling for accounts, transactions, categories, IOUs, splits, and settlements
- 3Conversational workflow design with explicit confirmation before financial changes
- 4Full-stack implementation across frontend, API, database, and background processing
- 5Guardrail design for user scoping, action verification, and saved-result checks
- 6Direct database paths for simple balance questions
- 7Evaluation harness creation for latency, workflow behavior, and regression testing
- 8Iterative UI refinement across dashboard, activity, shared expenses, wallet, assistant, and settings
- 9Focused validation with backend and frontend test suites
Key Technical & Architecture Decisions
Architecture, model selection, workflow and trade-offs.
- Used a full-stack React, TypeScript, FastAPI, and PostgreSQL architecture to keep the product behavior explicit and testable.
- Used a LangGraph workflow to coordinate specialist agents and finance tools rather than relying on one unconstrained assistant.
- Kept financial calculations and record updates in deterministic application services and database operations.
- Added direct database paths for simple balance questions to reduce unnecessary model calls and latency.
- Added explicit review and confirmation before consequential financial changes.
- Added saved-result checks and guardrails so the assistant does not claim an action succeeded without evidence.
- Used background processing and server-sent events with polling fallback for longer-running chat turns.
- Preserved user scoping at the API and data-access layers.
- Chose incremental evaluation over premature optimization, using focused latency checks and regression tests as a baseline.
Challenges & How They Were Solved
Obstacles hit along the way and how they were overcome.
The first challenge was balancing conversational flexibility with the precision required for financial records. The solution was to separate interpretation from execution: the assistant can understand intent, but structured tools and services own the actual change.
A second challenge was preventing inaccurate completion messages. Saved-result checks and explicit action verification were added so the assistant can distinguish between a proposed action, an in-progress action, and a completed action.
A third challenge was supporting several related domains—accounts, transactions, categories, splits, IOUs, and settlements—without creating disconnected experiences. These concepts were modeled as shared domain workflows and exposed through both conversational and structured interfaces.
Latency was another consideration. Simple balance queries received a direct database path, while longer operations use background processing and streaming updates. A focused evaluation harness was added to measure end-to-end and server-side timing.
Finally, the product required reliable behavior across a broad frontend surface. Focused backend and frontend tests were used to validate core flows while the interface was iteratively refined.
User Adoption & Change Management
How users responded — training, change management and feedback loops.
AffordAbled was developed as an independently built product rather than deployed into an existing client organisation. Adoption was therefore approached through progressive trust-building in the product itself.
The workflow keeps users in control by showing reviewable actions before financial changes are finalized. Conversational input is paired with structured forms and visible results, allowing users to choose the interaction style they trust for each task.
Feedback was incorporated through repeated manual review of edge cases, loading states, error states, empty states, responsive layouts, and accessibility behavior. This helped ensure that AI assistance complemented rather than obscured the underlying financial records.
Business Outcomes & Impact
The measurable outcomes from the underlying AI Deployment — with the story behind them.
A local evaluation of 10 balance queries measured median end-to-end chat latency (p50) at 6.27 seconds, with server-side turn time around 5.77 seconds. The latency evaluation harness records chat response times and backend processing stages to support future comparisons. The focused test runs passed 94 backend tests and 9 frontend tests. These results indicate tested software behavior; they do not establish customer impact or time saved.
Business Outcome Categories
The story behind the numbers
The deployment established a working foundation for AI-assisted personal finance operations. Users can move between conversational capture and structured financial records without relying on disconnected workflows.
The evaluation process measured median end-to-end latency of 6.27 seconds for a focused set of balance queries, with server-side processing around 5.77 seconds. The application also passed 94 backend tests and 9 frontend tests during the measured validation run.
These results demonstrate tested software behavior and provide a baseline for future performance and product evaluations. They do not claim customer savings, revenue impact, or verified time reduction.
Lessons Learned
What surprised the team, what worked well, and what would be done differently.
- Separate conversational understanding from financial execution
- Use deterministic services for money calculations and record changes
- Verify persisted results before reporting success
- Build evaluation paths before optimizing prompts or models
- Use direct database paths for simple, high-frequency questions
- Make confirmation and user control visible in the interface
- Treat loading, error, empty, and accessibility states as core product behavior
- Avoid claiming business impact until it has been independently measured
Future Opportunities
Where this solution could go next.
Future improvements include broader evaluation coverage for complex multi-step financial questions, stronger offline and retry behavior for background tasks, and more detailed observability across agent decisions and tool execution.
The product could also support richer receipt and image workflows, recurring-transaction assistance, personalized spending explanations, and more advanced settlement recommendations.
A later phase could introduce additional specialist handoffs for tax categorization, subscription detection, cash-flow forecasting, and proactive reminders—while preserving explicit user confirmation for consequential actions.
Professional Reflections
Guidance for another builder tackling a similar problem.
The most important lesson was to keep AI responsible for interpretation and orchestration, not financial truth. Financial state should remain deterministic, inspectable, and backed by persisted results.
It was also valuable to build evaluation and verification into the product architecture early. Latency checks, saved-result validation, and focused tests created a baseline for improvement instead of relying on subjective impressions.
A further lesson was that trust depends as much on interface behavior as model quality. Clear loading states, error recovery, confirmation steps, and accessible controls are essential parts of an AI deployment.