Skip to content

ChristopherSiems/unity_notes

Repository files navigation

Unity Notes

Unity Notes is a decentralized, peer-to-peer, platform-agnostic community notes system built to return control of knowledge and context to its users.


Why

The internet is full of misinformation and bias on platforms run by large and powerful companies and people. Our fellow users can be used as sources for context for much of this information, but the entities that run the platforms may not always support truth discovery. We are all passionate about freedom of communication and knowledge transparency. With media consolidation and misinformation on the rise, we wanted to build a system which brings control over knowledge transfer back to communities. Unity Notes builds a community notes system in a decentralized platform-agnostic manner, allowing users to create censorshipless notes for content on any web platform.


Posting Notes

Writing a note.

Writing a note.

Posted community context.

Posted community context.


Getting Context

Searching for context.

Searching for context.

Returned community context.

Returned community context.


How it Works

When a user finds a statement online that they can add more context to, all they need to do is highlight it and use the Chrome extension to add a note. This note is saved locally in a SQLite database, but the statement the note is left on is sent to a server where it is mapped into a Qdrant vector database using Gemini embeddings along with instructions on how to contact the user who left the note.

When a user finds a statement online that they would like more context to, all they need to do is highlight it and use the Chrome extension to request context. The server will be contacted and the Qdrant database will be searched for semantically similar statements to the highlighted statement. The users who left comments on semantically similar statements will have their contact info gathered by the server and sent back to the original client. The client will then reach out to the peers themselves and request the notes. Upon receiving notes from peers, a Gemini based agent is used to summarize the notes to provide context to the original query.


Context Query map

Context Query Map

Note Creation Diagram

Note Creation Diagram


How we built it

Tech Stack

  • Python backend
  • JavaScript, HTML, and CSS frontend
  • Qdrant vector database
  • SQLite
  • SQLAlchemy
  • Gemini API

What's next for Unity Notes

  • Enhanced agentic customization, including aggregation and webpage parsing
  • Context requirements for adding notes
  • Scalability improvements, such as weighing notes for prioritized summarization
  • Browser PDF reader compatibility

About

decentralized peer-to-peer platform-agnostic community notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •