Inspiration
Most financial tools are fragmented. You have a banking app for spending and a brokerage app for investing, but there is a cognitive gap between the two. I wanted to build a tool that answers the critical question: "How does my daily spending behavior actually impact my long-term wealth volatility?"
Atlas AI was born from the idea that financial literacy shouldn't require a degree in accounting. By connecting raw transaction data to portfolio risk in one coherent flow, Atlas transforms "messy data" into a grounded, actionable strategy.
How we built it
I architected Atlas AI as a high-performance hybrid system:
- The Intelligence Layer: I leveraged the NVIDIA NIM API (Llama-3.1-8B-Instruct) to power the reasoning engine. To eliminate hallucinations—a critical requirement for fintech—I implemented a "Grounding" pattern where the AI is provided with a precise computed summary of the user's data before generating any response.
- The Analytics Engine: A FastAPI microservice handles the heavy lifting. I used Pandas and NumPy to compute net cashflow and Scikit-learn for behavior analysis.
- The Frontend: Built with Next.js 15, utilizing the App Router and streaming to ensure the AI responses feel instantaneous and "alive." ## Challenges we ran into The biggest challenge was Data Noise. Bank CSVs are notoriously messy. I spent significant time building a robust ingestion pipeline using Zod for schema validation and PapaParse for flexible CSV handling.
Another breakthrough was in Anomaly Detection. Initially, I used a standard deviation approach, but it was too sensitive to natural spending spikes. I pivoted to an Interquartile Range (IQR) method, which is far more robust for financial data: IQR = Q₃ - Q₁ Boundaries = [Q₁ - 1.5 × IQR, Q₃ + 1.5 × IQR]. This change drastically reduced false positives, ensuring that when Atlas flags an anomaly, it's actually meaningful.
What we learned
This project taught me the importance of Deterministic AI. In finance, "almost correct" is "wrong." Learning how to constrain an LLM using computed data summaries rather than letting it "guess" the math was the most pivotal part of the development process.
Built With
- fastapi
- next.js
- nim
- nvidia
- python
- typescript
- vanilla
- vercel
- zod
Log in or sign up for Devpost to join the conversation.