CommitRank.AI is a tool to rank the best developers on GitHub with an AI-powered Developer Impact Score.
- Real-time GitHub Profile Analysis: Fetches and analyzes GitHub profiles using the GitHub API.
- Developer Impact Score: Ranks developers based on a weighted algorithm including commits, pull requests, followers, stars, issues closed, and language breadth. Ranks include:
- 🔥 Legendary (90-100)
- ⚡ Elite (75-89)
- 🧙 Hacker (60-74)
- ⚔️ Cracked (40-59)
- 🌱 Noob (20-39)
- 🧭 Basic (0-19)
- AI-Generated Developer Tales: Creates a short, creative fantasy-style story about a developer's GitHub journey using the OpenAI API.
- Real-time Database: Powered by Convex for live updates and seamless data synchronization.
- Modern UI: Built with React and Tailwind CSS for a responsive, clean interface.
- Frontend:
- React with TypeScript
- TanStack Router for routing
- Tailwind CSS for styling
- Lucide React for icons
- Vite for build tooling
- Backend:
- Convex for backend and real-time database
- OpenAI API for AI story generation
- GitHub API for profile and repository data
- Infrastructure:
- Netlify for hosting
- Convex for serverless backend
- TypeScript for end-to-end type safety
-
Clone the repository:
git clone https://github.com/waynesutton/commitrank.git cd commitrank -
Install dependencies:
npm install
-
Set up environment variables:
Create a
.envfile in the root of your project and add the following:# Get this from your Convex project dashboard VITE_CONVEX_URL= # Get these from your Convex project dashboard's environment variables settings GITHUB_TOKEN= OPENAI_API_KEY=
Note: Your
GITHUB_TOKENneedspublic_repoandread:userpermissions. -
Run Convex and the development server:
# In one terminal, run the Convex dev server npx convex dev # In another terminal, run the Vite dev server npm run dev
/src- React components and frontend code/convex- Convex backend functions and schema/public- Static assets, favicons, and Netlify redirect config- A more detailed breakdown can be found in
files.md.
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.