Inspiration
As developers, we constantly face the challenge of understanding large, unfamiliar codebases. Traditional search tools lack context, and LLMs lose track of long conversations. We envisioned Jarvis AI - an intelligent code assistant that truly understands your entire repository and maintains infinite conversation memory through smart summarization.
What it does
Jarvis AI is a next-generation code intelligence platform that:
- Ingests entire GitHub repositories and indexes them using Elasticsearch with both BM25 (keyword) and semantic (vector) search
- Provides RAG-powered multimodal chat with full codebase context using hybrid retrieval + Gemini reranking for maximum accuracy
- Smart GitHub sync - automatically fetches and ingests repositories from GitHub URLs with full codebase parsing
- Maintains infinite chat memory via automatic summarization every 5 Q&A pairs with vector-indexed storage
- Offers multimodal debugging - upload error screenshots and get AI-powered solutions with relevant code references
- Tracks repository status - monitor ingestion progress, embedding status, and indexing completion
- Delivers contextual Q&A - ask about any function, class, or logic pattern across your entire codebase
- External search integration - DuckDuckGo web search for questions beyond the codebase
- Real-time streaming responses - see AI answers appear live with character-by-character typing effect
How we built it
Tech Stack:
- Frontend: Django templates with Tailwind CSS for responsive UI
- Backend: Django 5.2 with async views for real-time chat
- Search: Elasticsearch for hybrid BM25 + semantic vector search
- AI: Google Gemini Pro for answer generation, reranking, and code analysis
- Storage: Google Cloud Storage for media files, Cloud Run for deployment
- Database: PostgreSQL for relational data, SQLite for dev/demo
Architecture:
- Repository ingestion: Parse files → Chunk code → Generate embeddings → Index in Elasticsearch
- Query pipeline: User question → Hybrid search (BM25 + semantic) → Gemini reranks top results → Generate answer with context
- Memory management: Track token usage → Auto-summarize when limit reached → Store summaries → Include in future context
- Multimodal debugging: Upload screenshot → Extract error text → Search codebase → Suggest fixes with code snippets
Challenges we ran into
- Context window limits: Solved by implementing automatic summarization that condenses chat history while preserving key information
- Hybrid search tuning: Balancing BM25 keyword matching with semantic similarity required extensive experimentation with weight parameters
- Reranking optimization: Initially used simple cosine similarity, upgraded to Gemini-powered reranking for 40% better relevance
- Deployment complexity: Configured Cloud Run with Elasticsearch VM, Google Cloud Storage, and proper environment variable management
- Django 5.x compatibility:
make_random_password()was removed - migrated to Python'ssecretsmodule for guest user generation
Accomplishments that we're proud of
✅ Built a production-ready RAG system with advanced hybrid search
✅ Implemented infinite chat memory via intelligent summarization
✅ Achieved seamless multimodal debugging with image upload support
✅ Deployed on Google Cloud Platform with Elasticsearch integration
✅ Created an intuitive UI that makes complex AI interactions simple
What we learned
- Advanced RAG patterns: Hybrid retrieval significantly outperforms single-method search
- Gemini API capabilities: Reranking and structured output features are game-changers
- Cloud architecture: Properly configuring Cloud Run with external services (Elasticsearch) requires careful environment management
- UX design: Making AI explanations clear and actionable is as important as the AI itself
What's next for Jarvis AI
- Multi-repo support: Work across multiple related repositories simultaneously
- Team collaboration: Shared chat sessions with annotations and bookmarks
- VSCode extension: Bring Jarvis directly into the IDE workflow
- GraphRAG Enhancement: Combine traditional RAG with knowledge graph traversal for deeper semantic understanding of code dependencies
Built With
- cloud-storage)
- django-5.2
- docker
- elasticsearch
- google-cloud-platform-(cloud-run
- google-gemini-pro-api
- gunicorn
- postgresql
- python
- tailwind-css
- whitenoise
Log in or sign up for Devpost to join the conversation.