Inspiration
Drift.ai came from a common personal finance problem: people get a raise, new job, move cities, or change routines, but the extra money still feels invisible. The usual way to answer “where did my money go?” is to download transactions, clean up categories, build a spreadsheet, compare months, and try to figure out what changed.
That workflow is tedious enough that most people avoid doing it. We wanted to replace that manual audit with a private AI workflow that finds lifestyle drift, explains why it may have happened, and turns it into a concrete next step for recovering money over time.
What it does
Drift.ai is a private AI-powered lifestyle drift audit.
Users import transaction history from a CSV, and Drift compares earlier monthly spending with recent monthly spending. The old normal is adjusted for inflation before comparison. Drift flags categories where spending became meaningfully higher, calculates a Drift Score, shows monthly overspend, and estimates what that money could become if redirected and invested.
The Scan page also maps cash flow. Positive CSV rows are treated as income, negative rows are treated as spending, and income is excluded from Drift Score math. Users can see income vs spending bars by month, category spending mix, income changes, spending changes, and the monthly overspend used to start the projection.
The app then helps the user understand the behavior behind the numbers. Pattern Lab asks why a flagged pattern started, suggests a behavior label, and saves the user’s context. The Plan page turns that into a 30-day reset. Intercept lets the user simulate a future purchase and decide whether it is intentional. The Report page generates a private AI review with cited scan facts, a recovery path, PDF export, and a report email flow.
How we built it
We built Drift.ai as a full-stack web app.
The frontend uses Next.js, React, Tailwind, and shadcn-style components. The scan logic lives in a shared TypeScript core package with tests around CSV parsing, income detection, drift scoring, inflation adjustment, what-if calculations, and category behavior.
For AI, we used Qwen locally through Ollama. Drift keeps the financial math deterministic for trust, then uses AI for the parts that need human context: behavior labeling, follow-up questions, recovery language, and the final report explanation.
We added Auth0 for accounts, Supabase for summary-only backup, Stripe for the report payment path, Resend for report email delivery, and Plaid sandbox routes for future bank sync. For the demo, the main path is CSV import so the workflow is reliable and easy to show.
We tested the app with Vitest, Pytest, TypeScript checks, ESLint, production builds, and Playwright end-to-end tests.
Challenges we ran into
The hardest part was making the app feel different from a normal finance dashboard. A dashboard can show spending, but Drift needed to explain what changed and what to do next. That required separating exact math from AI reasoning: code calculates the Drift Score, while AI interprets behavior and writes recovery guidance.
Another challenge was keeping AI output trustworthy. Local models sometimes echoed prompt instructions or used awkward language like “the user.” We added stricter prompts and a cleanup layer that rejects low-quality output and falls back to a grounded report generated from the actual scan facts.
We also had to handle short or imperfect transaction histories. Drift adapts to the available data and compares the earliest half of spending months with the latest half.
Privacy was another major design constraint. We made raw transactions stay local, while account backup syncs summaries, pattern notes, intercept choices, and what-if settings.
Accomplishments that we're proud of
We are proud that Drift.ai replaces a real workflow end-to-end.
The app can take a CSV, separate income from spending, calculate an inflation-adjusted Drift Score, show cash flow, explain category changes, let the user correct transactions, collect behavior context, generate a plan, simulate an intercept, and produce a private PDF report.
We are also proud of the AI-native flow. It helps ask the right follow-up question, classify why a pattern happened, shape the recovery plan, and generate a report grounded in cited transaction facts.
We also built the product with unit tests, backend tests, type checks, linting, production build checks, and Playwright end-to-end coverage for the core flow.
What we learned We learned that AI is most useful when paired with deterministic systems. Financial calculations need to be exact and explainable. AI is better used for interpretation, context, and action planning.
We also learned that wording matters a lot in financial products. Terms like “budget,” “mistake,” or “guilt” can make the product feel judgmental. Drift works better when it helps users separate what they intentionally value from what quietly became automatic.
Another lesson was that privacy needs to be part of the product experience. Users need to clearly see what stays local, what gets backed up, and what the AI sees.
What's next for Drift.ai
Next, we want to improve the paid report experience and add stronger validation.
The next version would include a cleaner Stripe checkout flow, a polished report email with PDF attachment, and better report version history so users can compare scans over time.
We also want to expand the AI workflow. Drift could suggest personalized intercept rules, detect recurring triggers across multiple scans, and let users ask follow-up questions about why a pattern was flagged.
Longer term, we aim to make Drift.ai an offline-first mobile app with local small language models, encrypted local storage, and optional summary-only cloud sync. That would make the product even more private and useful as a lightweight personal audit tool people can run whenever their life changes.
Built With
- auth0
- fastapi
- next.js
- ollama
- plaid
- playwright
- pytest
- qwen
- react
- shadcn/ui
- stripe
- supabase
- tailwind-css
- typescript
- vercel
- vitest
Log in or sign up for Devpost to join the conversation.