AI-Powered Intelligence for Open Source Communities
Features β’ Tech Stack β’ Architecture β’ Getting Started β’ Contributing
OpenTriage is a next-generation platform that transforms how open source communities collaborate. By leveraging advanced AI and real-time analytics, it bridges the gap between maintainers and contributors, making open source development more efficient, rewarding, and inclusive.
|
Smart Triage Automatically classifies issues/PRs (Bug, Feature, Documentation), generates summaries, and analyzes sentiment to prioritize critical items. |
Maintainer Copilot AI assistant that drafts replies, suggests labels, analyzes PRs for quality and security, and provides context-aware code insights. |
|
Contributor Mentor Guides new contributors through contribution workflows, helps identify suitable issues based on skills, and provides constructive feedback. |
RAG-Powered Chat Repository-aware chatbot that understands your project's documentation, README, and codebase to provide accurate answers. |
|
Invisible Labor Dashboard Quantifies often-overlooked contributions: code reviews, mentorship, triage work, and community support. |
Sentiment Analysis Real-time monitoring of community health through issue/PR comment sentiment analysis. |
|
Contribution Streaks GitHub-style impact calendar with streak tracking and activity heatmaps. |
Gamification Engine XP system, badges, trophies, and leaderboards to recognize and reward contributors. |
|
Cookie-Licking Detection Automatically monitors claimed issues and releases them if no progress is detectedβensuring issues don't get stuck. |
Mentor Matching AI-powered matching system that connects new contributors with experienced mentors based on skills and interests. |
|
Hype Generator Creates engaging social media posts and release notes to boost project visibility. |
Resource Vault Curated learning resources tailored to your tech stack and contribution areas. |
| Feature | Description |
|---|---|
| Dynamic Badges | LeetCode-style achievement system with tiered badges (Bronze, Silver, Gold, Diamond) |
| Trophy Cabinet | Showcase your open source achievements with collectible trophies |
| Contribution Calendar | Visual representation of your impact over time |
| Leaderboards | Community rankings based on various contribution metrics |
| Layer | Technologies |
|---|---|
| Frontend | React 18, Vite, Tailwind CSS, Radix UI, Zustand, Recharts, React Router |
| Backend | FastAPI, Python 3.10+, Motor (async MongoDB), Pydantic, JWT Auth |
| AI/ML | OpenAI GPT-4, Llama 3.3, Gemini 2.0, Custom RAG Pipeline |
| Analytics | Apache Spark, PySpark SQL, Spark Streaming |
| Infrastructure | MongoDB Atlas, Vercel (Frontend), Render (Backend) |
View Text Diagram
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OPENTRIAGE PLATFORM β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β FRONTEND (React + Vite) β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββββββ β β
β β β Maintainer β β Contributor β β Authentication β β β
β β β Portal β β Dashboard β β (OAuth) β β β
β β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β BACKEND (FastAPI) β β
β β ββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββββββ β β
β β β AI Chat β β GitHub Sync β β Profile & Auth β β β
β β β Service β β Service β β Service β β β
β β ββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββββββ β β
β β ββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββββββ β β
β β β Gamification β β Cookie-Licking β β Invisible Labor β β β
β β β Engine β β Monitor β β Analytics β β β
β β ββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β βββββββββββββ΄βββββββββ ββββββββ΄ββββββββ β
β βΌ βΌ βΌ βΌ β
β ββββββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββββββ β
β β MongoDB β β Apache Spark β β LLM Providers β β
β β (Data Store) β β (Analytics) β β (OpenAI/Gemini/Llama)β β
β ββββββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
opentriage/
βββ backend/
β βββ config/ # Application settings, database configuration
β βββ models/ # Pydantic models and data schemas
β βββ routes/ # FastAPI router definitions
β β βββ auth.py # GitHub OAuth authentication
β β βββ contributor.py # Contributor dashboard APIs
β β βββ maintainer.py # Maintainer portal APIs
β β βββ mentor.py # Mentorship endpoints
β β βββ profile.py # User profile management
β β βββ spark.py # Analytics endpoints
β β βββ ...
β βββ services/ # Core business logic
β β βββ ai_service.py # LLM integration
β β βββ badges_service.py # Badge system
β β βββ cookie_licking_service.py # Claim monitoring
β β βββ gamification_engine.py # XP & streaks
β β βββ github_service.py # GitHub API wrapper
β β βββ invisible_labor_analytics.py # Hidden contribution metrics
β β βββ mentor_matching_service.py # Mentor-mentee matching
β β βββ rag_chatbot_service.py # RAG-powered chat
β β βββ spark_sentiment_pipeline.py # Sentiment analysis
β β βββ ...
β βββ spark_manager.py # Apache Spark session management
β βββ server.py # Application entry point
β
βββ frontend/
β βββ src/
β β βββ components/
β β β βββ contributor/ # Contributor dashboard components
β β β βββ maintainer/ # Maintainer portal components
β β β βββ ui/ # Shared UI components
β β βββ services/ # API client and service functions
β β βββ stores/ # Zustand state management
β β βββ hooks/ # Custom React hooks
β βββ index.html
β
βββ tests/ # Test suites
git clone https://github.com/CosmicMagnetar/openTriage.git
cd opentriagecd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtCreate a .env file in the backend directory:
# Database
MONGO_URL=mongodb://localhost:27017
DB_NAME=opentriage
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# Security
JWT_SECRET=your_jwt_secret
# AI Services
OPENROUTER_API_KEY=your_openrouter_api_keyStart the server:
uvicorn server:app --reload --port 8000cd frontend
npm installCreate a .env file in the frontend directory:
VITE_BACKEND_URL=http://localhost:8000Start the development server:
npm run devThe app will be available at http://localhost:5173
OpenTriage uses Apache Spark for high-performance analytics. Add these optional environment variables to your backend .env:
SPARK_APP_NAME=OpenTriage
SPARK_MASTER=local[*]
SPARK_DRIVER_MEMORY=4g
SPARK_EXECUTOR_MEMORY=2g
SPARK_LOG_LEVEL=WARN| Setting | Low Memory (8GB) | Standard (16GB) | High Performance (32GB+) |
|---|---|---|---|
SPARK_DRIVER_MEMORY |
2g | 4g | 8g |
SPARK_EXECUTOR_MEMORY |
1g | 2g | 4g |
Auto-configured optimizations:
- Adaptive query execution for dynamic optimization
- Kryo serialization for faster data transfer
- Off-heap memory for improved GC performance
- Arrow optimization for Pandas integration
- Find an Issue β Look for
good first issueorhelp wantedlabels - Fork & Branch β Create a feature branch from
main - Code β Follow existing patterns and conventions
- Test β Ensure your changes don't break existing functionality
- Submit PR β Write a clear description of your changes
| Type | Location |
|---|---|
| New API endpoints | backend/routes/ (register in routes/__init__.py) |
| Business logic | backend/services/ |
| Data models | backend/models/ |
| React components | frontend/src/components/ |
| API client functions | frontend/src/services/api.js |
| State management | frontend/src/stores/ |
- Use meaningful commit messages
- Keep PRs focused and reasonably sized
- Add comments for complex logic
- Update documentation as needed
This project is licensed under the MIT License β see the LICENSE file for details.
Built for the Open Source Community

