Inspiration
Aqua-ai was inspired by a simple problem: financial data is useful, but it is often difficult to explore quickly. Bank statements and transaction histories can contain hundreds or thousands of rows, and finding patterns usually means manually searching, filtering, or building spreadsheets.
We wanted to make financial data easier to understand by letting users interact with it naturally. Instead of digging through transactions, a user should be able to ask questions like, “How much did I spend on food last month?” or “What are my biggest spending categories?” and get a clear answer immediately.
We also wanted Aqua-ai to feel different from a normal banking dashboard. The goal was to build something that feels modern, intelligent, and conversational, with the AI becoming the main way users interact with their financial information.
What it does
Aqua-ai is an AI-powered financial assistant that allows users to ask natural-language questions about financial data.
The application is designed to return more than just plain text. Depending on the question, Aqua-ai can present:
- Written explanations
- Structured financial tables
- Charts and visualizations
- Transaction summaries
- Spending breakdowns
- Exportable data
The long-term goal is for Aqua-ai to connect directly to financial databases and account information so users can ask questions about real financial activity without manually searching through statements.
How we built it
We built Aqua-ai as a full-stack application with a separate frontend, backend, AI system, and hosting environment.
The frontend was created with React and Vite. We designed the interface around a conversational AI experience, including a custom liquid-glass visual style, animated elements, a sidebar for chats and projects, and 3D AQUA branding.
For the backend, we are using Python with FastAPI. The backend is designed to handle requests from the frontend, communicate with the AI model, and eventually connect to a financial database.
For the AI system, we run Ollama on our own Ubuntu server. This allows us to host a local language model instead of depending entirely on a third-party AI API.
Our development server runs on a dedicated machine using:
- Ubuntu Server
- Docker
- Docker Compose
- Ollama
- FastAPI
- React/Vite
- GitHub
We also connected our public domain, aqua-ai.us, to the server using a Cloudflare Tunnel. This lets us securely expose the application to the internet without directly opening ports on our home network.
We use GitHub for collaboration and version control so multiple members of the team can work on different parts of Aqua-ai at the same time.
Challenges we ran into
One of the biggest challenges was connecting all of the different parts of the project together.
Running the AI model locally required configuring the server, Docker containers, networking, GPU support, and Ollama. We also had to make sure the frontend and backend could communicate correctly while still being accessible through our public domain.
Hosting also created several challenges. We had to configure Cloudflare DNS, Cloudflare Tunnel, Vite host permissions, and our Docker environment before the public website could communicate correctly with the server.
Version control was another challenge because multiple people were working on different branches and environments. We had to deal with merge conflicts, branch differences, local server changes, and making sure the correct version of the frontend was actually deployed.
The user interface also required a lot of iteration. We wanted Aqua-ai to feel more polished than a traditional school project, so we experimented with liquid-glass styling, 3D Blender models, animated water effects, responsive layouts, and more complex message animations.
Accomplishments that we're proud of
One of our biggest accomplishments is that Aqua-ai is not just a mockup. We created an actual server environment capable of running the frontend, backend, and local AI model.
We are especially proud that we were able to:
- Host our own AI model using Ollama
- Build a dedicated Ubuntu server for the project
- Containerize parts of the application with Docker
- Connect our custom domain through Cloudflare Tunnel
- Build a custom React interface instead of relying on a template
- Create custom 3D assets and animations for the AQUA brand
- Set up a collaborative GitHub workflow for the team
We also designed Aqua-ai so that it can grow beyond the current prototype. The frontend and backend are separated cleanly enough that real financial databases, authentication systems, and more advanced AI tools can be added later.
What we learned
This project taught us that building an AI application involves much more than simply connecting a chatbot to a webpage.
We learned about frontend development, backend APIs, Docker, Linux servers, networking, DNS, Cloudflare, Git, GitHub collaboration, local AI models, and deployment.
We also learned how important architecture is. Separating the frontend, backend, AI service, and database makes the application easier to maintain and allows different team members to work on different areas.
Another major lesson was how much testing is required when moving from a local development environment to a real server. Something that works perfectly on localhost may behave differently once Docker, DNS, HTTPS, reverse proxies, and public domains are involved.
Finally, we learned that design matters just as much as functionality. A financial AI assistant needs to feel trustworthy, understandable, and easy to use, so we spent a significant amount of time refining both the technical system and the user experience.
What's next for Aqua-ai
The next step for Aqua-ai is connecting the current interface and AI system to real structured financial data.
We plan to continue working on:
- Database integration
- Secure user authentication
- Real transaction analysis
- More advanced charts and financial visualizations
- File and bank-statement imports
- Improved AI responses
- Conversation history
- Projects and saved financial analyses
- Better mobile support
- Performance optimization
- Improved 3D animations and branding
Our long-term goal is for Aqua-ai to become a financial assistant that can understand a user's financial information, explain what is happening, identify useful patterns, and make complex financial data much easier to explore.
Log in or sign up for Devpost to join the conversation.