Inspiration
During the H1B debates on twitter, I saw a peculiar website which was getting a ton of attention. All it was was a table formatted website containing data about H1B visas. Seeing this, I realized that although Chat and RAG have dominated, there is still a market for a shareable but more traditional form of search.
Beyond that, I often find myself manually parsing lecture slide after lecture slide looking for a specific one, if I was able to quickly and easily share a searchable database that parses all of them for me it would be a drastic improvement to my quality of life. That inspired the name of ShareTome, I wanted it to act as a sort of book from Harry Potter, where a mere incantation can get the desired information out of it.
What it does
ShareTome is very simple. You drag and drop files in, and you can search and share a database.
How we built it
ShareTome is built with a Go backend, Next.JS Frontend, Aryn Sycamore for document parsing and uploading, and ElasticSearch as a vector store / search engine.
Challenges we ran into
I had a lot of trouble with the ElasticSearch and Aryn integration. The ElasticSearch schema setup is far from intuitive, and I had a lot of trouble setting it up. In addition, this was my first time using Go in such a large project, and with that came a lot of challenges (my code is very messy...).
Beyond that, tackling the Hackathon on my own proved more grueling than I had thought.
Accomplishments that we're proud of
I'm proud that I was able to implement all of the core functionality (user authentication, document uploading, document parsing, search, and shareable links) in a performant and scalable way despite working on my own.
What we learned
I learned a ton about Go, ElasticSearch, and Sycamore!
What's next for ShareTome
I hope to polish some of the corners I cut while making it. It is a solo effort in 24 hours so I give myself some slack, but the application lacks some features I would like such as a built in RAG bot for each database as well as the ability to delete indexes. Cloud storage and a local only client (think Obsidian, local first with a paid hosted service) are possible futures for it as well.
Built With
- aryn
- elasticsearch
- go
- next.js
- sycamore
Log in or sign up for Devpost to join the conversation.