Inspiration

Overdrafts rarely happen because people don’t know their totals, they often happen because of timing. Rent, subscriptions, and card payments often land a day or two before a paycheck, and most apps only show what already happened. We wanted something that makes timing visible and actionable. Instead of a spreadsheet, you get a calendar you can plan your expenses with, backed by an agent that helps you make small moves and explains them in plain language.

What Does Alto Do?

Alto turns a Plaid API formatted JSON file into a calendar that places purchases, bills, and paychecks directly into your monthly calendar. It can help you plan payment date shifts that keep you from depleting your account too fast. Alto can answer natural-language questions in clear language and breaks down complicated topics to make them more accessible. Alto also analyzes spending by category and merchant, recognizes recurring charges, and lets you try what-if scenarios like moving a subscription or paycheck and immediately seeing how the calendar changes.

How We Built It

This project uses Google ADK to construct the agents. These operate using a session with a username to track messages between the user and agents, so we began constructing that first. When the app is loaded, the user has to enter a username and create a session in order to use the app. The user data is loaded beforehand as a predefined JSON object constructed to look like an object returned by the Plaid API for a users’ account information and transaction history. This would ideally be from the Plaid API. When the session is created, it is cached in local storage for later use, and users can reselect sessions given they enter the same username when they return.

The AI responses use an A2A multi-agentic workflow powered by Google ADK. At the start of the workflow, the user's transaction data is given as context to a root coordinator agent. This coordinator has the primary function of selecting which agent is best for the given task once the user prompts it. There are two possible agents that can be selected to perform different tasks. A QnA agent specializes in answering questions based on the user's data. This agent also has access to tooling that enables it to better assist with giving financial advice if the user asks for it. The second agent specializes in moving calendar events. This agent is able to call functions that move events in the calendar that is rendered on the front-end. All changes made to the calendar are then stored in the local session for the user to return to. Our front-end is created using Next.js with Tailwindcss for styling. All of the backend logic is managed using Google GCP and Next server side events. User data is either stored locally in the file structure or cached in the browser.

Google ADK Agents Diagram

Challenges

We ran into issues with the Google ADK Docs as they lacked the information we needed for our specific use case, it took a long time to figure them out and utilize them correctly. At the present moment the docs offer lots of support when it comes to actively spinning up and utilizing agents. It was a challenge to integrate the agent with our frontend, as there is not suitable documentation or official resources on integrating the agentic workflows with popular frontend frameworks. This led to a lot of initial resource gathering that needed to be completed before our front-end could be implemented. Managing session state was also a challenge as applications we worked on previously didn’t explicitly require sessions to function.

Learning and Accomplishments

We learned how to use multiple AI agents together for the first time with Google ADK this weekend and how to integrate it with technologies we were more familiar with, such as NextJS. We also implemented a Calendar component that integrated with Google ADK to create an AI agent that can alter your calendar in real time.

What’s Next for Alto

Fully integrate the Plaid API into Alto for users to connect their bank account’s transactional history and gain personal insights on their spending. As of now, Alto is completely retroactive, meaning it has no ability to alter or even predict future purchases based on the recurring transactions across previous months. A more idealized version of Alto not only has the ability to predict future transactions based on your history, but also change your recurring transactions, such as subscription renewals, with the assistant.

Built With

Share this project:

Updates