Inspiration
We are passionate about exploring emerging technologies, but we found that beginners often struggle to gain a clear overview of new fields and know where to start. As knowledge systems grow more complex, existing online resources are often fragmented, incomplete, or misaligned with individual goals. Many learning paths cover only small portions of large domains, while others quickly become outdated due to rapid innovation. This creates a gap between curiosity and effective learning that our platform is designed to solve.
What it does
NEBULA is an AI-powered learning platform that transforms up-to-date information into personalized study paths. Users can create secure accounts to save their learning progress and learning history. By entering any topic and preferred difficulty level, the system generates interactive mind maps that visualize key concepts and their relationships, providing a clear overview and structured pathway for deeper exploration. A built-in history tab allows users to track and revisit all past searches for continuous learning.
How we built it
We built our platform using Python and Streamlit for full-stack development, integrating the Gemini API to generate structured, hierarchical learning maps. A custom tree-to-graph parser converts AI output into interactive visual networks rendered with Cytoscape.js. User authentication and learning history are managed through JSON-based storage, while a custom HTML/CSS/JavaScript interface delivers an immersive and responsive user experience.
Challenges we ran into
During development, we initially spent significant time communicating ideas with AI tools and managing version control, especially for UI design. We later realized that breaking the project into smaller components and providing more detailed guidance to the AI greatly improved accuracy and efficiency. However, much of our system was built in a single file, which made version control and progress tracking more challenging. In addition, limited familiarity with certain tools and integration methods sometimes required us to use work around with other solutions, resulting in features that were not fully optimized. With more time and experience, we are confident that we could further refine the system and improve overall performance and maintainability.
Accomplishments that we're proud of
From the beginning, our product idea remained focused and well-structured. We chose a scalable and expandable concept without overloading the system with unnecessary features, allowing us to stay aligned with our core goals. Despite being unfamiliar with many of the tools and facing challenges in managing a large collaborative project, we successfully implemented all major functionalities. Along the way, we continuously learned new technologies and problem-solving approaches, enabling us to overcome technical obstacles and deliver a working, cohesive platform.
What we learned
We definitely learned more effective ways to integrate AI guidance into our code and manage the workflow of a large project. This includes improved version control, splitting the project into manageable components, and optimizing the overall development process. The hackathon gave us valuable experience in rapid product development, enhancing our ability to quickly learn new tools and immediately implement them, while maintaining focus on the core product vision
What's next for NEBULA
There are several features we could further develop and refine. For example, we could improve user account management and enhance the search API to provide more targeted and relevant information. Adding personalized features that align with user goals would allow for better guidance, while a UI redesign could significantly improve the user experience. In the future, we could introduce different modes, such as “Study Mode” or “General Knowledge Mode”, and generate topic-specific learning paths rather than general mind maps. With these improvements, NEBULA has the potential to become a highly effective and personalized learning platform.
Log in or sign up for Devpost to join the conversation.