Inspiration
I've always been frustrated by how fragmented my learning journey feels. One day I'm watching YouTube videos on algorithms, the next I'm reading articles about machine learning, and then diving into a book on software engineering and architecture—with no way to connect these experiences. I realized I wasn't alone in this struggle.
The inspiration for CogniGraph came during a late-night study session when I found myself juggling multiple browser tabs, PDFs, and notebooks. I wondered: what if there was a tool that could track what I'm learning across all these platforms and show me how everything connects? That "aha" moment sparked the idea for an intelligent assistant that creates a personal knowledge graph from diverse learning sources.
What it does
CogniGraph is an intelligent learning assistant that transforms your fragmented learning experiences into a cohesive knowledge journey. It:
- Creates a personalized knowledge graph: Visualizes connections between concepts you're learning across different platforms.
- Extracts key concepts and relationships: From various content types (articles, videos, books, notes).
- Tracks your progress: On different topics and visualizes your learning path.
- Identifies knowledge gaps: Recommends relevant resources to explore next.
- Provides interactive visualization: Lets you navigate your personal knowledge landscape.
- Connects seemingly unrelated topics: Deepens your understanding by showing how they relate.
How we built it
I built a minimal viable product that could extract resources from YouTube videos and Google Books using the Google Cloud APIs based on the text the user inputs, visualize them in a simple graph, track the progress, and make further basic recommendations.
Frontend Development
I created an interactive graph visualization using Flutter and GraphView that allows users to:
- Zoom and pan across their knowledge landscape.
- Track progress on individual topics.
- See connections between related concepts.
- Filter topics by progress status.
- Search for specific topics.
- Add new learning topics and connections.
Backend Implementation
I built systems for:
- Natural Language Processing: To extract concepts.
- Relationship Identification: Between topics.
- Progress Tracking: Across platforms.
- Personalized Recommendations: Based on learning patterns.
Challenges I ran into
The journey wasn't without its obstacles:
- Technical Complexity: Creating a system that could understand relationships between concepts across domains proved much harder than anticipated, especially to build over less than 36 hours.
- Integration Limitations: Many learning platforms lack robust APIs, forcing me to stick to the official APIs offered by Google Cloud.
- Scope Management: My ambition for the project occasionally exceeded what was practically achievable. Learning to prioritize features and embrace an iterative approach was a valuable lesson.
Accomplishments that I am proud of
- Built CogniGraph from the ground up as a solo developer, taking on both frontend and backend development.
- Overcame multiple challenges, from API integrations to structuring a scalable knowledge graph, through persistent problem-solving.
What I learned
- Learned and implemented Flutter for the first time, creating an intuitive and visually engaging UI.
- Gained hands-on experience with Node.js and Express at a level I had never worked with before, successfully setting up the backend architecture.
- Integrated Google Cloud NLP for the first time, leveraging AI to extract meaningful insights from learning materials.
What's next for CogniGraph
There is still a lot of development involved in bringing CogniGraph to its full potential. The next steps include:
- Refining the learning path visualization: Making it more interactive and adaptable to user preferences.
- Enhancing AI-driven recommendations: Improving how topics are suggested based on individual learning patterns.
- Expanding content extraction capabilities: To include podcasts, research papers, and handwritten notes.
- Streamlining backend performance and API integrations: Ensuring smooth data flow between learning platforms.
Built With
- flutter
- google-cloud
- graphview
- natural-language-processing
- node.js
- provider
- suyigama
Log in or sign up for Devpost to join the conversation.