AI-powered job matching system that intelligently connects candidates with opportunities using advanced ML models and workflow automation.
Career Compass analyzes resumes, extracts skills, and matches candidates with relevant job opportunities using a combination of AI models, workflow orchestration, and intelligent decision-making.
- Resume Analysis - AI-powered skill extraction and profile assessment
- Intelligent Matching - Dynamic job matching based on skills and experience
- Workflow Automation - Automated pipeline orchestration
- Real-time Dashboard - Interactive interface for job discovery
- Cline - Autonomous coding workflows
- Kestra - Workflow orchestration with AI Agent
- Oumi - ML model training and inference
- CodeRabbit - Automated code quality reviews
- Vercel - Serverless deployment and hosting
# Install dependencies
pip install -r requirements.txt# Train the Oumi model
python3 train_model.py# Option 1: Use startup script
./start.sh
# Option 2: Manual start
conda activate hackathon # if using conda
python3 compass_cli.pynpx vercel --prodcareer-compass/
├── api/ # Vercel serverless functions
│ ├── analyze.js # Main integration endpoint
│ ├── kestra.js # Kestra workflow execution
│ ├── oumi.js # Model inference
│ ├── coderabbit.js # Code quality status
│ └── technologies.js # Technology status
├── compass_cli.py # CLI interface
├── train_model.py # Model training script
├── cline_workflow.js # Cline autonomous workflows
├── index.html # Web interface
├── kestra_flow.yaml # Kestra workflow configuration
└── oumi_train.yaml # Oumi training configuration
Method: POST
Purpose: Orchestrates all sponsor tools together
Request:
{
"resume_text": "Resume content here..."
}Response:
{
"success": true,
"integration": {
"cline": { "skills_extracted": 5, "status": "active" },
"oumi": { "confidence": 0.89, "profile_quality": "high" },
"kestra": { "workflow_id": "career_compass_logic", "status": "triggered" },
"coderabbit": { "active": true, "code_quality": "excellent" },
"vercel": { "deployed": true, "region": "iad1" }
},
"matches": [...]
}Method: POST
Executes Kestra workflow (fetch data → AI analysis → log results)
Method: POST
Analyzes job descriptions using trained Oumi model
Method: GET
Returns CodeRabbit integration status and metrics
Method: GET
Returns status of all integrated technologies
Criterion: Best project using Cline CLI for autonomous coding workflows
Evidence:
cline_workflow.jswith 4 autonomous workflows:- Code generation (
generate) - Automated testing (
test) - Code review (
review) - Deployment (
deploy)
- Code generation (
Criterion: Using Kestra's AI Agent to summarize data and make decisions
Evidence:
kestra_flow.yamlimplements:- Data summarization from multiple sources
- Decision-making based on summarized data
- Structured JSON output with recommendations
Criterion: Creative use of Oumi to train/evaluate LLMs and OSS contributions
Evidence:
- Trained custom model (
SmolLM2-135M-Instruct) for job quality assessment - Training config:
oumi_train.yaml - OSS contribution:
oumi_contribution.mdwith reusable templates - Model saved:
output/salary_model/
Criterion: Best open-source engineering with clean PRs and OSS workflows
Evidence:
.coderabbit.yamlconfiguration.github/PULL_REQUEST_TEMPLATE.mdfor standardized PRs.github/workflows/coderabbit.ymlfor automated reviewsCONTRIBUTING.mdwith OSS guidelines
Never commit API keys. Use .env file (excluded from git):
# Copy example file
cp .env.example .env
# Add your keys
GROQ_API_KEY=your_actual_key_here.env,.env.local,*.env- Never commitoutput/- Large model files excluded.venv/- Virtual environment excluded
- ✅ Use environment variables for all secrets
- ✅ Never hardcode API keys
- ✅ Rotate keys if accidentally exposed
- ✅ Use different keys for dev/prod
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Make changes and ensure CodeRabbit passes
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open Pull Request
All PRs are automatically reviewed for:
- Code quality and best practices
- Security vulnerabilities
- Documentation completeness
- Performance optimizations
- Follow existing code style
- Add comments for complex logic
- Include docstrings for functions
- Update tests when fixing bugs
node cline_workflow.js generate "API endpoint, database model, tests"node cline_workflow.js test .node cline_workflow.js review src/api.jsnode cline_workflow.js deploy . vercelThe kestra_flow.yaml defines a 3-task workflow:
- Fetch Data - Retrieves job data from external sources
- AI Analysis - Uses Groq AI to analyze and summarize data
- Log Result - Outputs final results
- Model: SmolLM2-135M-Instruct
- Task: Job quality assessment and salary evaluation
- Config:
oumi_train.yaml - Output:
output/salary_model/
python3 train_model.pySee oumi_contribution.md for reusable configuration templates and best practices shared with the Oumi community.
npx vercel --prodThe api/ directory contains Vercel Serverless Functions that automatically deploy as endpoints.
Set in Vercel dashboard:
GROQ_API_KEY- For Kestra AI Agent workflows
MIT
- WeMakeDevs - Special thanks for offering this opportunity to work on the AI Agents Assemble 2025 hackathon
- Cline for autonomous code generation
- Kestra for workflow orchestration
- Oumi for custom model training
- Vercel for seamless deployment
- CodeRabbit for code quality assurance