Inspiration

In today's world, learning a new skill is a paradox: we have access to infinite information, but this often leads to confusion, not clarity. We were inspired to build an AI agent that acts as a wise mentor, cutting through the noise to provide a clear, actionable path for any learner, on any topic. Our journey through this hackathon was a microcosm of the learning process itself. We started with a simple idea and, through countless iterations, debugging sessions, and architectural pivots, we built a system far more robust and intelligent than we initially imagined. From wrestling with Android's deep linking system to architecting a multi-step, self-correcting AI agent, every challenge was an opportunity to learn and improve. "Aura" isn't just a tool we built; it's the mentor we wish we had, brought to life through code.

What it does

ura is a full-stack application with both a native Android app and a web app. A user can sign up securely (using Email/Password with OTP or Google Sign-In, powered by Appwrite). They simply type in a topic they want to learn (e.g., "Learn to use linux like a pro"), and our AI agent, deployed on Google Cloud Run, gets to work.

The agent's workflow is a sophisticated, multi-step process:

Deconstruct: It first uses Google's Gemini 2.5 Flash model to deconstruct the topic into a logical four-week curriculum.

Search: For each week's sub-topic, it performs contextualized web searches using the sponsor's Tavily API to find the best tutorials and articles.

Sanity-Check & Curate: The agent then uses Gemini again to analyze the search results, check them for relevance, and curate the top 2-3 resources for each week.

Persist & Display: The final, high-quality plan is sent to the app to be displayed. The user can then save this plan to their personal account in our Appwrite Database, where it is linked to their user ID.

How we built it

Our project uses a modern, decoupled architecture designed for scalability and maintainability.

Frontend (Android): A polished native app built with Kotlin and Jetpack Compose, following a clean MVVM architecture. We used Retrofit for networking and Lottie for animations.

Frontend (Web): A responsive web app built with React and deployed on Netlify for universal accessibility.

Backend (The AI Agent): A Python application built with FastAPI and deployed as an auto-scaling container on Google Cloud Run.

AI & Sponsor Tech:

Google Generative AI (Gemini 2.5 Flash): The core "brain" for all reasoning, deconstruction, and curation tasks.

Tavily Search API: Our agent's "eyes and ears," used for all high-quality, contextual web searches.

Appwrite: Our central Backend-as-a-Service for all user management. We used Appwrite Auth for our complete Email/Password, OTP, and Google Sign-In flow, and Appwrite Databases as the persistent cloud storage for all user-saved plans.

Challenges we ran into

Our biggest challenge was implementing a robust, native mobile authentication flow that integrated with multiple services. Debugging the OAuth and deep link redirects between the Android app, the browser, and the Appwrite backend was incredibly complex. We went through multiple iterations, from email links to a final, successful OTP-based system. This process taught us an immense amount about the intricacies of modern mobile security, Android Manifest configurations, and the importance of a clean, well-defined user session flow.

Accomplishments that we're proud of

We are incredibly proud of building a complete, full-stack, AI-powered application that solves a real-world problem from start to finish. Our biggest accomplishment is the creation of a sophisticated, multi-step AI agent. It doesn't just search for information; it reasons, deconstructs, searches, and curates, which is a far more advanced workflow than a simple API call.

We are also proud of the professional-grade architecture we implemented. We successfully integrated two separate frontends (native Android and a web app) with a decoupled backend system that uses a combination of a self-hosted AI service (on Google Cloud Run) and a powerful Backend-as-a-Service (Appwrite). This robust, scalable system is a testament to the power of modern development tools. Finally, we are proud of the user experience, from the custom Lottie animations to the complete, secure, and user-friendly OTP authentication flow.

What we learned

This hackathon was an incredible learning experience. Our biggest lesson was in the complexity of modern authentication flows. Integrating OAuth and a custom email verification system for a native mobile app taught us a tremendous amount about the intricacies of the Android Manifest, deep linking, and the security protocols of cloud services like Appwrite.

We also learned the critical importance of a "separation of concerns" in our architecture. By keeping our AI logic on a dedicated backend service and using Appwrite for user management and data, we were able to build and debug our complex system much more efficiently. Finally, we learned that a great AI agent isn't just about having a powerful LLM; it's about designing a thoughtful, multi-step workflow that can reason about its own results and self-correct to provide the highest possible quality output for the user.

What's next for Aura Agentic App

The future for Aura is focused on deeper personalization and an even more intelligent agent. Our immediate next step is to integrate a memory layer, using the sponsor technology from Mem0. This would allow our agent to remember user feedback (e.g., "I didn't like that video" or "I prefer more advanced articles") and use that memory to refine future learning plans, creating a truly adaptive and personal learning companion.

We also plan to expand the agent's capabilities to not just find resources, but to also generate quizzes and flashcards based on the curated content, transforming Aura into a complete, end-to-end learning platform.

Built With

Share this project:

Updates