Inspiration
People with the same retirement date can have very different financial needs. One may have a healthy emergency fund; another may be paying off high-interest debt. We built ARM to explore a question that a target-date fund alone cannot answer: what should this person do with their next available dollar?
What it does
ARM creates a retirement plan using income, savings, debt, and employer-match information. It shows how much a person can contribute, where extra money goes, and how retirement savings, cash, and debt could change month by month. Users can compare their current habits with ARM’s plan, explore different retirement ages and contribution rates, review a shortlist of target-date funds, and ask a screen-aware chatbot to explain what they are seeing. The demo uses fictional profiles and illustrative projections.
How we built it
We built a Python and FastAPI backend with a deterministic calculation engine. Gemini can suggest the order of three planning priorities and explain the result, but the engine calculates every dollar and validates the model’s decision. If Gemini is unavailable or returns an invalid answer, ARM uses a clearly labeled rules-based fallback. We built the web experience with React and the iPhone app with SwiftUI. We also added optional Tiger Data storage for saved plans and time-series comparisons, plus a reviewed fund catalog for the shortlist.
Challenges we ran into
The biggest challenge was making AI useful without letting it invent financial results. We separated Gemini’s role from the calculations, limited what it could change, and checked its responses before showing them. We also had to keep the backend, web app, and iPhone app aligned on the same API contract. Live server connectivity and rate limits made fallbacks important, so we designed the apps to distinguish live results from saved demo data.
Accomplishments that we're proud of
We are proud that ARM shows the cost of a decision alongside its benefit. In one fictional profile, paying down a high-interest card sooner saves substantial interest, but delays completion of the emergency fund. Users can see both outcomes instead of receiving an unexplained recommendation. We are also proud of the clear boundary between AI and the calculation engine, the working web and iPhone experiences, and the ability to save and compare plans over time.
What we learned
Personalization is more valuable when people can understand and question it. We learned to treat explanations, data provenance, and honest fallback behavior as core parts of the product, not finishing touches. We also learned that retirement planning involves immediate cash needs as much as a distant account balance.
What's next for ARM (Adaptive Retirement Management)
Next, we want to expand the verified fund catalog, make the chatbot better at explaining individual plan and fund details, and test the experience with users. We would also like to support secure account connections so people could build plans from their own information rather than entering it manually.
Built With
- fastapi
- github
- googlegeminiapi
- pydantic
- python
- react
- swiftui
- tigerdata
- typescript
- uvicorn
- vite
Log in or sign up for Devpost to join the conversation.