Proofolio is an AI-powered developer portfolio analyzer that transforms data from GitHub, LinkedIn, and technical blogs into a professional, recruiter-friendly performance report.
It helps developers:
- Understand their real-world impact
- Showcase verified proof of work
- Get actionable insights for career growth
Tip
Non-Code Contributions Are Welcome!
We also maintain a Contribution Hub for guides, career resources, and community documentation and Know More
Proofolio is an official project for Social Winter of Code 2025. We welcome contributors of all skill levels to help build the future of developer analytics.
- Areas for Contribution: Frontend (React), Backend (Supabase), UI/UX Design, and Documentation.
- Getting Started: Look for the
good first issueandgssoclabels in the Issues tab.
Proofolio is an official Formal Project under Social Winter of Code 2025 π
We welcome contributors from all skill levels and backgrounds.
- Frontend (React + TypeScript)
- Backend (Supabase)
- UI/UX Design
- Documentation & Community Support
This project strictly follows the SWOC Project Admin (PA) Playbook.
All contributors must adhere to the rules below.
- A contributor can be assigned only ONE issue at a time
- Do NOT start working without being officially assigned
- If no meaningful progress is shown for 10 days, the issue will be:
- Unassigned
- Reopened for others
Meaningful activity includes:
- Commits
- Progress updates
- Relevant discussion on the issue thread
Each issue has exactly one SWOC difficulty tag:
| Difficulty | Points |
|---|---|
| Easy | 30 |
| Medium | 40 |
| ** Hard** | 50 |
π Important Notes:
- Difficulty is decided only by the Project Admin
- Points are awarded only after PR is merged
- Issues without proper SWOC tags are not eligible for scoring
- Multiple SWOC difficulty tags on one issue are not allowed
- β Do NOT open a PR without approval
- You must:
- Get assigned to the issue
- Receive explicit permission to open a PR
- Unauthorized PRs may be closed without review
All PRs:
- Are reviewed by the Project Admin / Mentors
- Must be original, meaningful, and follow project standards
- Must resolve all review comments before merge
- Be respectful and professional
- No spam, plagiarism, or force-claiming issues
- No favoritism or private assignment requests
Violations may lead to:
- Issue unassignment
- PR rejection
- Reporting to the SWOC core team
- Authentication with Supabase (email/password, OAuth ready)
- Multi-platform Analysis
- GitHub repositories, stars, forks, and followers
- LinkedIn connections and endorsements
- Blog frequency and engagement
- Coding platform performance
- AI-Generated Insights summarizing developer strengths
- Downloadable PDF Report with radar chart visualization
- Automatic Dark/Light Mode based on user system preferences
- Reports Dashboard β view, compare, and manage your analysis
- Fully Responsive UI built with React + Tailwind CSS
- Supabase Backend for storing user profiles and reports
To help contributors understand the "Proof of Work" engine, these diagrams illustrate how data moves through Proofolio.
This diagram shows the acquisition process from external APIs into our AI analysis engine.
graph LR
subgraph "External Sources"
GH[GitHub API]
LI[LinkedIn Data]
BL[Blog/RSS]
end
subgraph "Proofolio Core"
FE[React App]
AI[AI Analysis Engine]
end
subgraph "Backend"
SB[(Supabase DB)]
AU[Supabase Auth]
end
GH & LI & BL --> FE
FE <--> AU
FE <--> SB
SB --> AI
AI --> FE
Proofolio uses Supabase Auth to manage user sessions. Contributors working on protected routes should follow this flow:
sequenceDiagram
participant U as User
participant F as React Frontend
participant S as Supabase Auth
participant D as Dashboard
U->>F: Enter Credentials
F->>S: Authenticate Request
S-->>F: Return JWT & Session
F->>F: Persist Session in Context API
F->>D: Grant Access to Protected Data
How raw data is transformed into a downloadable professional report:
graph TD
Data[Raw User Stats] --> Viz[Recharts Components]
Viz --> Canvas[html2canvas Capture]
Canvas --> PDF[jsPDF Export]
PDF --> Download[Download Performance Report]
| Layer | Technology |
|---|---|
| Frontend | React (Vite) + TypeScript |
| Styling | Tailwind CSS + Lucide Icons + Framer Motion |
| Charts | Recharts |
| Backend | Supabase (PostgreSQL + Auth) |
| PDF Export | jsPDF + html2canvas |
| State Management | React Context API |
| Routing | React Router DOM |
| Diagrams | Mermaid.js |
| Data Viz | Recharts |
- Node.js (v18+)
- NPM or Yarn
- Clone the repository
git clone https://github.com/iTusharyadav/proofolio.git
cd proofolio
- Install dependencies
npm install
- Environment Setup
Create a
.envfile in the root and add your Supabase credentials:
VITE_SUPABASE_URL=your_project_url
VITE_SUPABASE_ANON_KEY=your_anon_key
- Start Development
npm run dev
Access the app at π http://localhost:5173.
We welcome all kinds of contributions β code or non-code.
-
Fork the repository
-
Create a new branch
git checkout -b feature/your-feature-name- Commit your changes
git commit -m "Add: meaningful message"- Push to your fork
git push origin feature/your-feature-name- Open a Pull Request
π Please check existing issues before creating a new one.
- AI Career Pathing: Suggesting specific roles based on analyzed skill sets.
- Recruiter Mode: Public shareable profile links with verified stats.
- Progress Tracking: Visual graphs showing profile growth over months.
This project is licensed under the MIT License. See the LICENSE file for details.
Have questions, ideas, or need help getting started?
Feel free to reach out through any of the channels below:
- π GitHub : Open an issue or start a discussion in this repository
- π§ Email : tusharspyadav@gmail.com
- π¬ Discord : Join the SWOC Discord or reach out via DM
- π Community Discussions : Use GitHub Discussions (if enabled) for long-form questions and ideas
Built with π