Project Info
Inspiration
I was working at a big tech company this past summer on a research-adjacent team, and the method of storing information was mainly through google docs-style documents, where links would just be passed around via slack. This made it hard to find out what other people were working on, and moreso how that could relate to what I was working on.
What it does
It computes similarity scores for your documents, and represents the documents you have, the documents your peers have, as well as all the sources used for each document as a weighted graph and allows you to find other people's work and research that's related to yours.
How we built it
Used Distilbert for generating embeddings, Singlestore db with vector store, python + JS backend, with React for the frontend work. All of it is hosted on digitalocean droplets.
Challenges we ran into
I ran into problems working with the text data from the JS editor and providing it to the bert-endpoint.
Accomplishments we're proud of
I'm proud of the fact that it's a mostly working product, and that the similarity scoring actually works!
What we learned
Learned a lot about devops this time and about Singlestore's DB, I was fairly familiar with the other frameworks and technologies used.
What's next
I think it would be cool to keep building in more features, possibly ML-related.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 12
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- FlaskIn code
- PythonIn code
- ReactClaimed
2 of 3 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
12 KB
Source files
3
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
abhichennupati/CalHacks24
6 files · 12 KB · @ d997a96
Structure
Application logic
3 files · 50%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python100%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 4- Flask
- gunicorn
- singlestoredb
- urllib3
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Document similarity scoring via vector embeddingsVerified
It computes similarity scores for your documents
Claimed on Devposthigh confidencedata_helpers.py:90— get_similar_papers fetches a paper's embedding and runs a SingleStore VECTOR similarity query (text <*> @query_vec) to rank other papersapp.py:7— /get_similar_papers endpoint wires the similarity function to a request
SingleStore vector database storageVerified
Singlestore db with vector store
Claimed on Devposthigh confidencedata_helpers.py:1— imports singlestoredb and connects via s2.connectdata_helpers.py:106— query casts embedding to VECTOR(768) and does a dot-product similarity search, confirming vector store usage
Tracking sources linked to papersVerified
all the sources used for each document
Claimed on Devposthigh confidencedata_helpers.py:11— add_source inserts into Sources and links via Papers_Sources join tabledata_helpers.py:162— get_paper_sources joins Sources and Papers_Sources to list a paper's sources
Embedding generation for papers/sources (DistilBERT)Code-supported
Used Distilbert for generating embeddings
Claimed on Devpostlow confidencedata_helpers.py:258— get_embeddings posts text to an external HTTP endpoint (http://147.182.163.168:6969/embed) and returns the response; the endpoint itself is not in this repo so DistilBERT usage cannot be confirmed here, only that an embedding call exists
Python + JS backendCode-supported
python + JS backend
Claimed on Devpostlow confidenceapp.py:1— the backend present in this repo is a Python Flask app; no JS backend code exists in this clone
REST API for adding/updating papers and sourcesCode-supported
implied by 'mostly working product' with similarity scoring
Claimed on Devpostmedium confidenceapp.py:55— api_add_paper calls add_paper, but add_paper is never imported into app.py (only get_similar_papers, get_source_papers, get_db_connection are imported), so this endpoint would raise NameError at runtimedata_helpers.py:28— add_source's INSERT statement is malformed (missing closing parenthesis and a column name for the 4th placeholder), indicating this path is untested/broken
Viewing peers' documents / documents by ownerCode-supported
find other people's work and research that's related to yours
Claimed on Devpostmedium confidencedata_helpers.py:185— get_user_papers returns papers filtered by owner, and get_similar_papers can be called on any paper id, but there is no code that combines ownership with similarity to explicitly surface 'peers' work related to yours'
React frontendClaimed only
React for the frontend work
Claimed on Devposthigh confidenceWeighted graph representing documents, peers, and sourcesClaimed only
represents the documents you have, the documents your peers have, as well as all the sources used for each document as a weighted graph
Claimed on Devposthigh confidenceDigitalOcean droplet hostingBlocked
All of it is hosted on digitalocean droplets
Claimed on Devpostlow confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.