AI Code Evaluation with Sommelier Sophistication
Somm.dev is a Multi-Agentic AI code evaluation platform that brings the expertise of a master sommelier to your repositories. Six specialized AI agents analyze your code from every angle—structure, quality, security, innovation—and deliver a comprehensive evaluation report with actionable recommendations.
Live: https://www.somm.dev
- 🆓 Free Public Evaluation - Evaluate any public GitHub repository without login (5 evaluations/hour)
- 🔐 GitHub OAuth - Sign in with GitHub for unlimited evaluations and history
- 🤖 Six AI Sommeliers - Parallel multi-agent evaluation with specialized expertise
- 📊 75 Evaluation Techniques - Comprehensive code analysis across 8 categories
- 📈 Real-time Progress - SSE-based live streaming of evaluation progress
- 🎨 Interactive Visualization - ReactFlow-based graph visualization of evaluation pipeline
- 🔑 BYOK Support - Bring Your Own Key for Google/Vertex AI
# Clone repository
git clone https://github.com/Two-Weeks-Team/somm.dev.git
cd somm.dev
# Start backend
cd backend
source venv/bin/activate
uvicorn app.main:app --reload --port 8000
# Start frontend (new terminal)
cd frontend
npm install
npm run dev
# Open browser
open http://localhost:3000somm.dev/
├── frontend/ # Next.js 16 + TypeScript + Tailwind CSS
│ ├── src/
│ │ ├── app/ # App Router pages
│ │ ├── components/ # React components
│ │ └── lib/ # Utilities
│ └── package.json
│
├── backend/ # Python FastAPI + LangGraph
│ ├── app/
│ │ ├── api/routes/ # REST API endpoints
│ │ ├── graph/ # LangGraph evaluation pipeline
│ │ │ ├── nodes/ # 6 Sommelier AI agents
│ │ │ ├── state.py # Graph state definition
│ │ │ └── graph.py # Graph orchestration
│ │ ├── prompts/ # LangChain prompts
│ │ │ └── criteria/ # 4 evaluation criteria modes
│ │ ├── models/ # Pydantic models
│ │ └── services/ # Business logic
│ ├── requirements.txt
│ └── .env
│
├── docs/ # Comprehensive documentation
│ ├── ARCHITECTURE.md # System architecture & LangGraph design
│ ├── EVALUATION_PIPELINE.md # Multi-agent evaluation flow
│ ├── EVALUATION_CRITERIA.md # 4 criteria modes (basic/hackathon/academic/custom)
│ ├── IMPLEMENTATION_PLAN.md # Step-by-step implementation guide
│ └── BRANDING_GUIDE.md # Brand identity & design system
│
└── README.md
- Next.js 16 - React framework with App Router
- React 19 - UI library
- TypeScript - Type safety
- Tailwind CSS 4 - Utility-first styling
- Lucide React - Icon library
- Python 3.12+ - Language
- FastAPI - Web framework
- LangChain - LLM orchestration framework
- LangGraph - Multi-agent workflow orchestration
- Gemini 3 Flash - LLM via LangChain
- MongoDB - Database
- SSE - Real-time streaming
Somm.dev uses six specialized AI agents built with LangGraph to evaluate your code:
| Sommelier | Role | Focus Area | Color | Technique |
|---|---|---|---|---|
| 🏛️ Marcel | Cellar Master | Structure & Metrics | #8B7355 | Repository organization |
| 🎭 Isabella | Wine Critic | Code Quality | #C41E3A | Aesthetics & DX |
| 🔍 Heinrich | Quality Inspector | Testing & Security | #2F4F4F | Risk assessment |
| 🌱 Sofia | Vineyard Scout | Innovation & Tech | #DAA520 | Growth opportunities |
| 🛠️ Laurent | Winemaker | Implementation | #228B22 | Code craftsmanship |
| 🎯 Jean-Pierre | Master Sommelier | Final Synthesis | #4169E1 | Final verdict |
Architecture: All 5 sommeliers (Marcel, Isabella, Heinrich, Sofia, Laurent) run in parallel using LangGraph's fan-out pattern, then Jean-Pierre synthesizes their results.
Somm.dev provides 6 evaluation modes:
| Mode | Use Case | Description |
|---|---|---|
| six_sommeliers | Default evaluation | 6 AI sommelier agents with parallel fan-out pattern |
| grand_tasting | Quick evaluation | P0 priority techniques only for faster results |
| full_techniques | Comprehensive evaluation | All 75 techniques across 8 categories with deep synthesis |
| basic | General code review | Code Quality (25%), Architecture (20%), Documentation (20%), Testing (20%), Security (15%) |
| hackathon | Gemini 3 Hackathon judging | Technical (40%), Innovation (30%), Impact (20%), Presentation (10%) |
| academic | Research projects | Novelty (25%), Methodology (25%), Reproducibility (20%), Documentation (20%), Impact (10%) |
Somm.dev evaluates repositories on a 0-100 point scale:
| Score | Badge | Description |
|---|---|---|
| 95-100 | 🏆 Legendary | Exceptional quality |
| 90-94 | 🥇 Grand Cru | Outstanding |
| 85-89 | 🥈 Premier Cru | Excellent |
| 80-84 | 🥉 Village | Good |
| 70-79 | 🏅 Table | Acceptable |
| 60-69 | 🍷 House Wine | Light, enjoyable |
| <60 | Below standards |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/evaluate |
POST | Required | Start code evaluation (authenticated users) |
/api/evaluate/public |
POST | None | Start free evaluation for public repos (rate limited) |
/api/evaluate/{id}/stream |
GET | Optional | SSE stream for progress |
/api/evaluate/{id}/result |
GET | Optional | Get evaluation results |
/api/history |
GET | Required | User evaluation history |
/api/quota/status |
GET | Required | Check user's evaluation quota |
| Endpoint | Method | Description |
|---|---|---|
/api/techniques |
GET | List all 75 techniques (filter by category, hat, mode) |
/api/techniques/stats |
GET | Get aggregated statistics |
/api/techniques/{id} |
GET | Get detailed technique definition |
curl -X POST http://localhost:8000/api/evaluate \
-H "Content-Type: application/json" \
-d '{
"repo_url": "https://github.com/user/repo",
"criteria": "basic"
}'{
"evaluation_id": "eval_abc123",
"status": "pending",
"estimated_time": 30
}| Document | Description |
|---|---|
| ARCHITECTURE.md | System architecture, LangGraph design patterns, data flow |
| EVALUATION_PIPELINE.md | Multi-agent evaluation workflow, node implementations |
| EVALUATION_CRITERIA.md | 4 evaluation modes with detailed criteria and prompts |
| IMPLEMENTATION_PLAN.md | Step-by-step implementation guide (10-day plan) |
| BRANDING_GUIDE.md | Brand identity, terminology, design system |
--somm-burgundy: #722F37; /* Primary */
--somm-champagne: #F7E7CE; /* Secondary */
--somm-parchment: #FAF4E8; /* Background */
--somm-cellar: #2E4A3F; /* Accent */- Headings: Playfair Display (serif)
- Body: Inter (sans-serif)
cd backend
docker build -t somm-backend .
fly deploycd frontend
vercel --prod# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm test- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'feat: Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
MIT © 2026 Somm.dev Team
— The Somm.dev Team