Transform generic Tech resumes into ATS-optimized, role-specific applications
Arete is an AI-powered job application optimizer specifically designed for tech professionals. Unlike generic resume tools, Arete understands technical terminology, frameworks, and GitHub profiles, transforming resumes into ATS-optimized applications with real-time streaming optimization and actionable insights.
What makes Arete different:
- Tech-Specific Intelligence: Understands React vs Angular, AWS vs GCP, and technical project impact
- GitHub Integration: Quantifies open-source contributions and project metrics
- Real-Time Streaming: Watch AI optimization happen live via SSE
- Kiro CLI Integration: AI-assisted development with Vertical Slice Architecture
- Production Ready: 100% system validation, 94.4% test coverage, 144 tests passing
- Smart Resume Parsing - Two-stage AI parsing (PDF/DOCX/TXT → Markdown → JSON) with GitHub profile integration
- Job Description Analysis - Text input or URL scraping to extract technical requirements and keywords
- Real-Time AI Optimization - SSE streaming shows live optimization with actionable, tech-specific suggestions
- GitHub Contribution Analysis - Quantify impact with stars, forks, repositories, and generate resume bullet points
- Cover Letter Generation - Personalized cover letters mentioning specific company, role, and technologies
- Interview Prep - AI-generated technical, behavioral, and system design questions based on role
- ATS-Compatible Export - Professional PDF (ReportLab) and DOCX with template selection and smart skills categorization
- Comprehensive Skill Deduplication - 300+ skills auto-categorized (Languages, Frontend, Backend, DevOps, Cloud, Tools)
- Production Ready - 100% system validation success rate (14/14 backend endpoints, all frontend components)
- High Test Coverage - 94.4% coverage with 144 tests (100% pass rate)
- Complete Workflow - Upload → Parse → Analyze → Optimize → Generate Cover Letter → Export
- Performance Validated - All operations complete within target timeframes
- Tech Stack - FastAPI + React + TypeScript + Supabase + Claude API + ReportLab
| Requirement | Version | Installation Guide |
|---|---|---|
| Python | 3.12+ | python.org |
| Docker | 20.10+ | Install Docker |
| Docker Compose | 2.0+ | Included with Docker Desktop |
| Git | 2.30+ | git-scm.com |
API Keys Required:
- Supabase (free tier) - Database & Storage
- Anthropic (pay-as-you-go, ~$0.02-0.09/resume) - Claude API
📦 Detailed Setup Guides
- Docker Installation: Windows / Linux / macOS guides
- API Keys Configuration: Step-by-step Supabase & Anthropic setup
# 1. Clone and configure
git clone https://github.com/StratosL/Arete.git
cd arete
cp .env.example .env
# Edit .env with your API keys - see docs/API_KEYS.md for detailed instructions
# 2. Run setup script
./scripts/setup/setup.sh # Linux/Mac
setup.bat # Windows
# 3. Start application
docker-compose up --buildAccess the Application:
- 🌐 Web UI: http://localhost:3000
- 📡 API Docs: http://localhost:8000/docs
# Verify backend health
curl http://localhost:8000/health
# Test resume upload
curl -F "file=@test_resume.txt" http://localhost:8000/api/resume/uploadTech Stack:
| Component | Technology | Purpose |
|---|---|---|
| Backend Framework | FastAPI 0.115+ | Async API with SSE streaming |
| Frontend Framework | React 18 + Vite 5 + TypeScript 5 | Modern, fast development |
| UI Components | shadcn/ui + Tailwind CSS | Accessible, consistent design |
| Database | Supabase PostgreSQL | Managed DB + Auth + Storage |
| AI Engine | Claude 3.5 Sonnet (via LiteLLM) | Resume parsing + optimization |
| Document Processing | pdfplumber, python-docx | Parse resumes |
| PDF Generation | ReportLab | ATS-compliant exports |
| Testing | pytest, Vitest, Playwright | 94.4% coverage |
Architecture Pattern: Vertical Slice Architecture (VSA).
- Rasmus Widing - Huge thanks for VSA!
Features organized by capability, not technical layer. Each slice (resume, jobs, optimization, export, github) contains routes, services, and schemas.
Frontend (React) → FastAPI Backend → Supabase + Claude API
├── /resume (upload, parse)
├── /jobs (analyze, scrape)
├── /optimization (AI streaming)
├── /export (PDF/DOCX)
└── /github (profile analysis)
📐 Architecture Deep Dive
For complete technical documentation including:
- Complete directory structure
- Processing pipelines (Resume, Job Analysis, Optimization, Export)
- Data flow diagrams
- VSA pattern explanation
- Performance optimizations
- Enhanced Orchestrator Strategy
Arete is optimized for AI-assisted development using Kiro CLI (AWS coding tool from Dynamous Community):
kiro @prime # Load project context
kiro @plan-feature # Create implementation plans
kiro @execute # Systematic execution
kiro @code-review # Quality checksBenefits:
- Vertical Slice Architecture ideal for parallel AI-assisted development
- Enhanced Orchestrator Strategy enables zero integration issues
- Contract-first approach with API specifications
- Research-backed development with 95%+ success rate
Learn more: docs/kiro-guide.md | .kiro/orchestration/
# Backend tests (pytest)
cd backend && pytest
# Frontend tests (Vitest)
cd frontend && npm test
# E2E tests (Playwright)
npm run test:e2e
# Coverage report
pytest --cov=app --cov-report=html- Ruff - Linting and formatting (Python)
- MyPy - Strict type checking
- ESLint + Prettier - TypeScript/React standards
- 100% Validation Score - 8/8 code quality standards enforced
# Run quality checks
cd backend && ruff check . && mypy app/
cd frontend && npm run lint| Resource | Description |
|---|---|
| Installation Guide | Detailed Docker setup for Windows / Linux / macOS |
| API Keys Setup | Step-by-step Supabase & Anthropic configuration with screenshots |
| Architecture | VSA patterns, pipelines, tech stack, design decisions |
| API Reference | Interactive OpenAPI documentation (requires running app) |
| Troubleshooting | Common issues, debug commands, error solutions |
| PRD | Product Requirements Document |
| Kiro CLI Guide | AI-assisted development workflow |
Resume parsing fails or returns empty data
Solutions:
- Verify file format (PDF, DOCX, TXT only) and size (<10MB)
- Check Claude API key is valid:
python scripts/setup/validate_env.py - Review backend logs:
docker-compose logs backend - Try simpler file format (convert to TXT)
- Ensure sufficient Claude API credits
Job analysis not working
Solutions:
- Ensure job description is at least 50 characters
- For URL input, verify job posting is publicly accessible
- Check browser console for validation errors (F12)
- Try "Text Input" mode instead of URL
- Refresh page if form appears unresponsive
Frontend build fails or shows blank page
Solutions:
- Check Node.js version:
node --version(requires 18+) - Clear cache:
rm -rf node_modules && npm install - Verify environment variables in
.env - Check browser console for errors (F12)
- Restart Docker containers:
docker-compose restart
Database connection errors
Solutions:
- Verify Supabase credentials in
.env - Run setup script:
./scripts/setup/setup.sh - Test connection:
python scripts/setup/validate_env.py - Check network connectivity to Supabase
- Review database logs in Supabase dashboard
For more issues and solutions: See docs/TROUBLESHOOTING.md
- Phase 1: Resume Upload & Parsing with GitHub integration
- Phase 2: Job Description Analysis with URL scraping
- Phase 3: AI Optimization with real-time SSE streaming
- Phase 4: Document Export with PDF and DOCX generation
- Phase 5: Cover Letter Generation with personalized content
- Phase 6: GitHub Contribution Analyzer with impact metrics
- Phase 7: Comprehensive Test Suite (144 tests, 100% pass rate)
- Multi-Provider LLM Support - Add OpenAI, Google Gemini, local models
- Skill Gap Analyzer - Identify missing skills with learning path recommendations
- LinkedIn Profile Optimization - AI-powered LinkedIn content suggestions
- Application Tracking - Dashboard to track job applications and status
- Resume Version Management - Save and compare multiple resume versions
- Salary Negotiation Insights - Market data and negotiation strategies
- Company Research Integration - Auto-fetch company culture and tech stack info
| Feature | Arete | Generic Tools |
|---|---|---|
| Tech-Specific Intelligence | ✅ Understands frameworks, languages, tech stacks | ❌ Generic keyword matching |
| GitHub Integration | ✅ Profile analysis with impact metrics | ❌ No code contribution analysis |
| Real-Time Streaming | ✅ Watch AI optimization live via SSE | ❌ Batch processing only |
| Framework-Aware | ✅ Knows React vs Angular, AWS vs GCP | ❌ Treats all keywords equally |
| Technical Project Impact | ✅ Quantifies stars, forks, repositories | ❌ No project metrics |
| Kiro CLI Integration | ✅ AI-assisted development workflow | ❌ Standard development only |
| VSA Architecture | ✅ Feature-based, AI-friendly structure | ❌ Traditional MVC layers |
| ATS Compatibility Scoring | ✅ Actionable ATS optimization tips | |
| Vertical Slice Architecture | ✅ Clean, maintainable codebase | ❌ Not applicable |
Bottom Line: Arete is built by a developer, for developers, with deep understanding of technical career progression, project impact, and engineering terminology.
Arete is a solo hackathon project created by Stratos Louvaris.
Built with:
- Kiro CLI - AWS coding tool for AI-assisted development
- Dynamous Community - AI development community
Powered by:
- Anthropic Claude API - Advanced AI capabilities
- Supabase - Backend infrastructure
- shadcn/ui - Beautiful UI components
- FastAPI - Modern Python web framework
- React - Frontend framework
This project demonstrates the power of AI-assisted development using Vertical Slice Architecture and the Enhanced Orchestrator Strategy, enabling rapid development while maintaining production-quality code standards.
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: Arete is free, open, and hackable. Fork it, extend it, use it commercially - just provide proper attribution.
Contributions are welcome! This project is currently a solo effort, but community involvement is encouraged.
Ways to contribute:
- 🐛 Report bugs via GitHub Issues
- 💡 Suggest features via GitHub Discussions
- 🔧 Submit pull requests (see contribution guidelines)
- 📖 Improve documentation
- ⭐ Star the repo if you find it useful!
Made with Love by Stratos Louvaris
Built with Kiro CLI for Dynamous Community Hackthon

