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

Share this project:

Updates