Project Info
This project did not submit a demo video on Devpost.
Inspiration
When I was interviewing at a ~20 person startup and reading through their introduction doc, I read that the co-founders would often spend lots of nights just catching up on docs from the prior week. To me, the last thing any employee, much less a founder, should be spending their time on is writing docs. Ground Truth lets you simply review and accept changes to your docs based on what you have been coding.
What it does
Each time you make a commit to a specific repo, a new entry is made
How we built it
Chroma Docs can be pretty large. Far too large to pass multiple pages into a context window. To account for this, we embedded each page of the docs into a chromaDB using their built in functions, and we query the Vector DB we created to find the most similar doc so we can pass that as context. Groq We used Groq for basically all of our small context text completion. This was especially helpful when passing a code diff into the llama model and getting a description of what was being updated. This allowed us to consistently retrieve the right documentation that we would then update Reflex.dev Since most of our initialization and ChromaDB stuff was already being done in Python, it made sense to continue using it and go ahead with Reflex for the full frontend and backend.
Challenges we ran into
The biggest issue for us was finding good contenders for projects. Firstly, they had to be open source, non negotiable for us to test with. Secondly, they had to have a developer program or some need for docs that we could reasonably update.
Accomplishments we're proud of
This was all of our first times working with any of these technologies (RAG anything, really) and we're proud to have put it all together in a somewhat attractive way over the 36 hours. The approach we took probably was a good 10 hours of ideation so it's nice to have it built and working
What we learned
Pretty much everything about RAG and Reflex. We all knew very little about the domain coming into this.
What's next
This project has real potential as a company but is an incredibly hard engineering problem. If we stay excited about building it, we could make it widespread and very modular.
GROUNDTRUTH
Description
GROUNDTRUTH is a DevTool that suggests automatic documentation changes as you develop your code. Using webhooks, GROUNDTRUTH can receive your code changes and suggest real-time documentation changes.
Table of Contents
Installation
Step-by-step guide to install and run the project.
- Clone the repository:
git clone https://github.com/Hassanmushtaq524/groundtruth.git - Navigate to your project
cd groundtruth - Navigate to your project
cd groundtruth - Install required dependencies
pip install -r requirements.txt - Setup backend/.env
# Database configuration GROQ_API_KEY=<your_groq_key> OPENAI_API_KEY=<your_openai_key> - Setup ngrok:
Login to ngrok and follow instructions
ngrok HTTP <BACKEND_PORT>
Dependencies
List of dependencies:
- reflex
- chromadb
- openai
- groq
- reflex>=0.6.0a
- reflex-chakra
- requests
- json
- fastapi
- os
- re
- base64
- dotenv
- typing
- httpx
Usage
Step-by-step guide to use and run the project.
- Run reflex
reflex run
Make sure reflex is set up to run. This will launch both your backend and your frontend.
Contributers
Hassan Mushtaq: Hassanmushtaq524 Joe Malatesta: Joe Malatesta Yashwanth Alluri: Yashwanth Alluri
Analysis
View
Metric
- 18
- 16
- 5
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
- JavaScriptIn code
- PythonIn code
2 of 2 appear in the indexed code.
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
34 KB
Source files
22
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Hassanmushtaq524/groundtruth
33 files · 6.4 MB · @ 6156e2a
Structure
Interface
7 files · 21%Screens, components and styles rendered to the user.
Application logic
14 files · 42%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
- Python86%
- Markdown11%
- JavaScript3%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 2- reflex
- reflex-chakra
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
Automatic doc-update trigger on commit via GitHub webhookVerified
Each time you make a commit to a specific repo, a new entry is made; webhooks receive code changes and suggest real-time documentation changes
Claimed on Devposthigh confidencebackend/api.py:26— handle_webhook POST endpoint parses a GitHub push payload (ref, repository, after, head_commit) and runs the full pipeline before writing to updates.json
ChromaDB vector search to find the most relevant doc pageVerified
Each page of the docs is embedded into a ChromaDB and queried to find the most similar doc to pass as context
Claimed on Devposthigh confidencebackend/utils/utils.py:155— find_most_similar_doc queries a persistent Chroma collection (openai embedding function) with n_results=1 and returns metadata/content/similaritybackend/utils/utils.py:34— chroma_client = chromadb.PersistentClient(path='./chroma_db') loads an existing collection named sentry_docs, consistent with the chroma_db directory present in the repo
Groq-based code diff summarizationVerified
Groq was used for small-context text completion, passing a code diff into the llama model to get a description of what was updated
Claimed on Devposthigh confidencebackend/utils/utils.py:42— generate_code_description builds a prompt from code_diffs and calls groq_client.chat.completions.create with model llama3-8b-8192
LLM-generated documentation edit suggestionsVerified
Ground Truth suggests automatic documentation changes based on code changes, shown as doc updates in the app
Claimed on readmehigh confidencebackend/utils/utils.py:70— update_docs fetches the real doc file from GitHub, prompts OpenAI gpt-4o-mini to rewrite it, and extracts the change between %%%BEGIN%%% and %%%END%%% markers
Review and accept documentation changesCode-supported
Ground Truth lets you simply review and accept changes to your docs based on what you have been coding
Claimed on Devpostmedium confidenceproject/pages/changes.py:83— main_content renders the selected commit's code_summary and doc_updates for review, and the sidebar lets a user pick a commit, but there is no accept/approve/reject action or endpoint anywhere in the frontend or backend, so only the 'review' half is implemented
Link your repository and docs from the UIClaimed only
Setup flow implies connecting a repo/docs source to the tool (home page has repo/doc link inputs)
Claimed on readmemedium 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.