Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for CodeBase
Inspiration
Every engineer knows the feeling: you join a new project, clone the repo, and stare at thousands of files with zero context. Existing tools require local setup or work only in your IDE. We wanted something zero-setup — paste a URL, get answers.
What it does
CodeBase lets you drop any public GitHub URL and instantly ask natural-language questions about the codebase. Every answer is cited down to the exact file and line number, linked directly to GitHub source. Key features:
- Semantic Q&A — sentence-transformers embeddings + FAISS vector search + Groq LLaMA 3.3 70B
- File:line citations — every answer links to the exact source line on GitHub
- Repo health summary — auto-generated on every ingest (language, file count, entry points)
- Entry point boost — intelligently surfaces main.py/app.py when asked
- Multi-repo comparison — compare two codebases side-by-side in one query with per-repo citations
How we built it
FastAPI backend deployed on AWS ECS. Each repo is cloned, parsed into AST chunks, embedded with sentence-transformers, indexed with FAISS, and stored in AWS DynamoDB (chunk metadata) and S3 (FAISS indexes). Queries hit FAISS for retrieval, then Groq LLaMA 3.3 70B for generation. Frontend is Next.js deployed on Vercel.
Challenges
Groq TPM limits on large repos (FastAPI has 5,558 chunks) — solved by reducing top_k for the comparison endpoint. CORS issues with the ngrok tunnel during development. Citation bleed between repos in the comparison feature — fixed by splitting answer text at the repo boundary before parsing citations.
What we learned
DynamoDB's ProjectionExpression silently drops fields — cost us hours when embedding_id wasn't included and FAISS hits couldn't map back to source chunks. CPU-only torch is essential for container builds — the full torch image hits I/O errors on Docker Desktop.
Built With
- amazon-web-services
- aws-dynamodb
- aws-ecs
- faiss
- fastapi
- groq
- llama-3.3-70b
- next.js
- python
- sentence-transformers
- vercel
Log in or sign up for Devpost to join the conversation.