Hi everyone,
I have an idea for a personal project, and I want to know if I'm thinking in the right direction.
I'm not trying to build another note-taking app or mind map. My goal is to build a personal knowledge system that becomes smarter over time instead of just storing notes.
The idea is that I can enter any word or concept, and the system automatically figures out where it belongs in the knowledge graph.
For example:
-
If I enter a new word, it should suggest the best place in the graph.
-
If that word belongs in multiple places, it should connect it to all of them.
-
If a new concept belongs between two existing concepts, it should reorganize the graph instead of simply adding another node.
-
It should detect duplicates and synonyms.
-
It should explain why it placed a concept in a particular location.
-
If it isn't confident, it should ask me instead of guessing.
-
It should ask whether I want to expand that concept further and automatically generate the next level of the graph.
-
Over time, it should learn from my corrections and improve its organization.
I'm building this only for myself, not as a commercial product, but I want to build it with commercial-level reliability.
While researching this, I came across topics like knowledge graphs, ontology engineering, and semantic search, and I realized that the hardest problem is probably designing the ontology rather than writing the code.
My questions are:
-
Has anyone built something similar, and what should I study before I go too far?
-
What are the biggest research or engineering challenges in building a system like this?
-
How do companies like Google or research groups design and refine their ontologies?
-
If you were starting from scratch today, what would you learn first?
-
Are there any books, papers, courses, or open-source projects that you think are must-reads?
-
If you were designing this today, what architecture or tech stack would you choose?
-
Am I overlooking any major problems that usually don't become obvious until much later?
I'm still learning, so I'd really appreciate honest feedback. If this idea already exists in some form, I'd also love to know what projects or research I should look at.
Thanks!