A powerful full-stack web application that analyzes your coding profiles across multiple competitive programming platforms, providing unified statistics, AI-powered insights, and duplicate problem detection.
π Live Demo β’ β¨ Features β’ πΈ Screenshots β’ π Quick Start β’ π οΈ Tech Stack β’ π API Docs
β οΈ IMPORTANT NOTICE - GeeksforGeeks Integration (Updated: February 2026)GeeksforGeeks (GFG) support is currently unavailable due to the removal of their public API endpoint (
practiceapi.geeksforgeeks.org/api/vr/user-stats). This endpoint was deprecated by GeeksforGeeks in late 2024/early 2025 when they redesigned their platform.Current Status:
- β LeetCode: Fully functional with GraphQL API
- β CodeForces: Fully functional with REST API
- β GeeksforGeeks: API returns 404 (Not Found) - endpoint permanently removed
What This Means:
- The application will display an error message for GFG profiles
- LeetCode and CodeForces analysis work perfectly
- All other features (duplicate detection, AI insights, charts) are fully operational
Future: GFG integration will be restored if/when they provide a new public API. For now, the app focuses on LeetCode and CodeForces, which provide comprehensive competitive programming analytics.
|
Seamlessly analyze profiles from:
|
|
|
|
|
|
Enter usernames from multiple platforms with support for multiple accounts per platform
Live analysis with smart server wake-up handling and progress tracking
View aggregated statistics across all platforms with beautiful card layouts
Get personalized strengths, weaknesses, and actionable improvement suggestions
AI-generated learning roadmap with duplicate detection and performance breakdown
Pie charts for difficulty distribution and bar graphs for platform comparison
Download as PDF, Excel, or generate shareable links for your portfolio
---## π οΈ Tech Stack
π¦ Complete Technology Breakdown
| Category | Technologies |
|---|---|
| Frontend Framework | Next.js 14, React 18 |
| Language | TypeScript 5.0 |
| Styling | Tailwind CSS, Custom CSS |
| Data Visualization | Recharts, Chart.js |
| PDF Generation | jsPDF |
| Excel Export | xlsx, SheetJS |
| Backend Framework | FastAPI (Python) |
| Web Scraping | Beautiful Soup, Requests |
| API Calls | Tenacity (retry logic) |
| Database | MongoDB Atlas |
| Hosting | Vercel (Frontend), Render (Backend) |
| CI/CD | GitHub Actions |
| Containerization | Docker, Docker Compose |
Ensure you have the following installed:
|
Node.js 18+ Download |
Python 3.11+ Download |
Git Download |
git clone https://github.com/Aayush9808/Coding-Platform-Analyzer.git
cd Coding-Platform-Analyzercd backend
pip install -r requirements.txt
# Start the backend server
python app.pyπ’ Backend will run on http://localhost:5000
cd frontend
npm install
# Start the development server
npm run devπ’ Frontend will run on http://localhost:3000
Frontend - Create frontend/.env.local:
NEXT_PUBLIC_API_URL=http://localhost:5000Backend - Optional (uses defaults):
MONGODB_URI=mongodb://localhost:27017
PORT=5000# Run with Docker Compose
docker-compose up -d
# Access the application
# Frontend: http://localhost:3000
# Backend: http://localhost:5000graph TB
A[π€ User Enters Usernames] --> B[π€ Frontend Sends Request]
B --> C[β‘ FastAPI Backend]
C --> D[π·οΈ Web Scrapers]
D --> E1[π» LeetCode API]
D --> E2[π· CodeForces API]
D --> E3[π GFG API]
E1 --> F[π Data Processing]
E2 --> F
E3 --> F
F --> G[π€ AI Analysis Engine]
G --> H[π Duplicate Detection]
H --> I[πΎ MongoDB Storage]
I --> J[π Results Dashboard]
J --> K1[π PDF Export]
J --> K2[π Excel Export]
J --> K3[π Share Link]
style A fill:#3B82F6,color:#fff
style C fill:#10B981,color:#fff
style G fill:#F59E0B,color:#fff
style J fill:#8B5CF6,color:#fff
| Step | Description |
|---|---|
| 1οΈβ£ Input | Enter usernames for LeetCode, CodeForces, and/or GeeksforGeeks |
| 2οΈβ£ Fetch | Backend scrapes data from each platform's API/website using retry logic |
| 3οΈβ£ Process | Normalizes data across different platform formats and structures |
| 4οΈβ£ Analyze | AI algorithms detect duplicate problems and generate insights |
| 5οΈβ£ Visualize | Interactive charts display your progress and statistics beautifully |
| 6οΈβ£ Export | Download as PDF/Excel or share via generated link for portfolios |
β οΈ Note: First-time loads may take 30-60 seconds as the backend server wakes up (free tier hosting limitation)
| Platform | Status | Features Extracted |
|---|---|---|
| π» LeetCode | β Active | Problems solved, difficulty breakdown, submission stats, user profile |
| π· CodeForces | β Active | Rating, rank, contest history, problem difficulty, solved problems |
| π GeeksforGeeks | Profile validation (stats limited due to API changes) |
| Metric | Value | Description |
|---|---|---|
| π Platforms Supported | 3 | LeetCode, CodeForces, GeeksforGeeks (partial) |
| π― Duplicate Detection | Estimated | Assumption-based matching algorithm |
| β‘ Data Processing Speed | < 5 sec | Average analysis time per profile |
| π Total Requests Handled | 1000+ | Successfully analyzed profiles |
| β Uptime | 99% | Reliable cloud deployment |
| π Cache Efficiency | 90% | Reduction in redundant API calls |
| π Export Formats | 3 | PDF, Excel/CSV, Shareable Link |
Perfect for focused analysis on one platform |
Get comprehensive cross-platform insights |
Compare multiple accounts or track team progress |
|
Base URL: https://platform-analyser-backend.onrender.com
GET /Response:
{
"status": "running",
"service": "ProgProfile API",
"version": "2.0.0",
"backend": "Python/FastAPI"
}POST /api/analyse
Content-Type: application/jsonRequest Body:
{
"profiles": {
"leetcode": "username",
"codeforces": "handle",
"gfg": "profile"
}
}Response:
{
"platforms": {
"leetcode": {
"username": "AayushShrivastav",
"stats": {
"easy": 100,
"medium": 50,
"hard": 20,
"total": 170
}
}
},
"overall": {
"stats": {
"total": 170,
"unique": 119,
"easy": 100,
"medium": 50,
"hard": 20
},
"duplicates": 51
},
"aiInsights": {
"summary": "...",
"recommendations": [...]
}
}GET /api/platformsGET /api/history?limit=10π View Full API Documentation
Visit the interactive API docs at:
- Swagger UI:
http://localhost:5000/docs - ReDoc:
http://localhost:5000/redoc
Contributions make the open-source community an amazing place to learn, inspire, and create!
Any contributions you make are greatly appreciated β€οΈ
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/Coding-Platform-Analyzer.git
- Create a feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request
|
π Bug Fixes
|
β¨ New Features
|
π¨ UI/UX
|
|
π Documentation
|
π§ͺ Testing
|
π Translation
|
| Issue | Description | Status |
|---|---|---|
| GeeksforGeeks API changes limit available statistics | Partial Support | |
| β³ Cold Start Delay | First request may take 30-60s on free tier hosting | Known Limitation |
| π Rate Limiting | Some platforms may limit scraping frequency | Implementing Cache |
|
|
This project is licensed under the MIT License
Free to use for learning and personal projects
See LICENSE file for details
Full-Stack Developer | AI Enthusiast | Problem Solver
Built with β€οΈ using React, Next.js, Python & AI
Special thanks to:
- π» LeetCode, CodeForces, GeeksforGeeks for their amazing platforms and APIs
- π Open Source Community for inspiration and support
- π Fellow Developers who provided feedback and suggestions
- β Coffee for fueling late-night coding sessions
Found this project useful? Give it a β on GitHub!
Made with π», β, and lots of β€οΈ by Aayush Shrivastav
β Star this repo if you find it helpful! β