Inspiration
Both of us have been involved with research on campus, and getting context on the immediate research landscape can be very difficult. So, we build a tool that lets you discover research rabbit holes—much like you would discover rabbit holes on youtube or twitter.
What it does
Given an initial paper or topic, it finds related papers, graphically explaining and presenting connections and differences between them. Then, the user can dive deeper into any of the suggestions, going deeper into the research rabbit hole they find most interesting, while rapidly gaining high-level context on the overall field/intersection. They can constantly choose to be nudged in any direction (i.e related papers in bio, Finally, at the end of the rabbit hole, the researcher can acquire their carrots: research recommendations and feedback based on their specific rabbit hole and research interests.
How we built it
The main server, middleware, and caching engine is written in Golang, the application in Vue, deployed using Redis + Nginx on the cloud with load balancing and a reverse proxy to support scaling. Auxilary microservices are scaled through serverless Vercel apps. An Intel Gaudi chip runs inference with RAG on the user's running rabbit hole and broader research area/field context to provide meaningful academic recommendations and nudges. Inference, Embedding invocations, and retrieval is run using containerised docker images accessed using FastAPI.
Challenges we ran into
Deploying on the cloud. Many firewall issues due to eduroam. Issues with hosting due to limited general purpose compute. We tried hosting on our raspberry pi but unreliable wireless network connections prevented that.
Accomplishments that we're proud of
Despite being a 2 man team, we were able to deploy a full application to the cloud, built to scale, with a interactive UI. We were able to overcome the various challenges we faced by finding workarounds which did not compromise the quality of our product. We also learnt Vue on the spot to provide better graphical visuals for the user to quickly grasp connections.
What we learned
ML operations, cloud compute as a service, building performant scalable applications, writing a server in Golang, using Vue to provide better visuals.
What's next for Carrot
Fine tune a model to provide recommendations instead of running RAG. Have a more consolidated deployment instead of serverless applications. Find customers to get feedback and develop into an enterprise solution.
Log in or sign up for Devpost to join the conversation.