Learning is a lifelong process in the age of the internet. Today the problem is the abundance of resources in various forms (video, text, images) on a topic. Often you don't know how useful a resource would be in terms of your prior knowledge and what you aim to learn from it. A normal search engine would provide generic resources (introductory and advanced) without considering your level of skillset. Another aspect is the pain in knowledge-keeping, storing, and sharing various resources. How can we make this time-consuming process more efficient/better?

The problems can be described in the following points -

  1. The abundance of resources on any topic
  2. Where to read/watch from next to fulfill your criteria of learning?
  3. Current search engines do not take your prior knowledge/ skill level into consideration while 4. recommending resources to learn from
  4. How can we efficiently manage the things we learn? How can bookmarking be made more efficient?
  5. How can linked and domain knowledge data help us?

What it does

Our solution builds a learning journey over a lifetime. Any user can add to their own journey, share the journey and see other people’s journeys.

  1. Using our browser extension the user can easily add resources to track their learning journey.
  2. User can discover resources with similar tags and concepts.
  3. User can query over their own learning graph to revisit similar URLs saved.
  4. An automated graph generation is generated through which the user doesn’t have to manually attach the nodes.

How we built it

Our solution is divided into the following parts -

  1. Browser extension by which users can add any URL to their own learning journey. They can save notes, highlights, tag the links
  2. Through NLP we discover similarities which help us to discover new relations and insights. We discover resources that share the same tag and which concepts.
  3. In the backend, there is a User-specific learning graph being formed in an automated manner. Nodes are URL’s, Date, tags, highlights, notes, type of resource
  4. Graph Backend/Database(Tigergraph) that help us to find relations and build a graph structure Get insights about your collected resources. Which resources are related to each other and in which way they are connected to each other?
  5. Our automated graph generation process takes the previously formed graph into consideration and finds out the correct node to attach to by similarity algorithms (We have this module ready, and need to query to GSQL to embed it into the pipeline)

Challenges we ran into

  1. Defining the solution - We believed in the problem statement and brainstormed a lot about what a feasible solution should be. Our process involved talking to our friends about the problems they face while learning something new to come to a solution that could be deployed in the real world.
  2. Once we had the problem statement and solution defined we went through many iterations of how the graph scheme of data and graph should look like.
  3. Technical challenges
  4. Debugging a browser extension
  5. Concept Mining
  6. Building Domain Knowledge Graph
  7. Find data

Accomplishments that we're proud of

  1. We are proud of learning an interesting graph framework that provides a beautiful UI and easy querying. Moreover, we built an end-to-end application with backend and browser extension. We also expanded our knowledge about NLP, graph structure and knowledge graphs.

  2. We are proud of building something which could be useful to many people interested in changing careers or learning something new. Learning from the journeys of others would save time and provide the best-trusted methods. We have something not just for a submission but a base-case of something which could be useful for a greater audience.

What we learned

We learned the following things -

  1. Tigergraph
  2. Gsql
  3. Explore your Data(sometimes very interesting)
  4. How to build a browser extension
  5. Finding and building a domain knowledge graph
  6. Building a graph scheme

What's next for Knowledge Keeper

We would like to build this into a platform where any user can share their learning journeys and learn from other people's journeys. Our product will have two faces to our platform -

  1. Where a user can search for other people with a similar background and look at their journeys
  2. The user can search within their own learning journey/ notes for revision
  3. Get recommendations for new resources
  4. Different queries to get more insights into the collected resources


Built With

Share this project: