Paste any GitHub URL. Get an instant, beautiful intelligence report — no sign-up, no friction, no noise.
|
A 0–100 score computed across 7 quality dimensions with a letter grade (A/B/C/D). Understand at a glance whether a project is production-ready.
|
A beautiful interactive pie chart showing every language used, with precise percentages. See the full technical makeup of any codebase at a glance. A GitHub-style 52-week grid showing exactly when a project is active. Spot burnout periods, release sprints, and contribution patterns. Top 10 contributors ranked by commit count with avatars, bar charts, and contribution share visualization. Know who drives the project. |
||||||||||||||||
|
Automatically parses all major ecosystem files: |
A collapsible tree viewer with file-type icons for the top 2 directory levels. Search and filter files instantly. Full GitHub Flavored Markdown rendering with image proxying, syntax highlighting, tables, and all GFM extensions. Generate a beautiful PNG summary card to share on LinkedIn, Twitter, or anywhere else. One-click social sharing built in. |
| Search | Dashboard |
|---|---|
| Clean, focused search with featured repos | Full sidebar + tabbed dashboard |
| Activity Heatmap | Contributor Graph |
|---|---|
| GitHub-style 52-week commit grid | Bar chart with avatar grid & share bar |
# 1. Start the backend
cd backend
cp .env.example .env # add your GITHUB_TOKEN
pip install -r requirements.txt
uvicorn main:app --reload
# 2. Start the frontend
cd frontend
npm install && npm run dev
# → Open http://localhost:5173cp .env.example .env # add GITHUB_TOKEN
docker compose up --build
# Backend → http://localhost:8000
# Frontend → http://localhost:5173┌─────────────────────────────────────────────────────────┐
│ RepoLens │
│ │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ React Frontend │ HTTP │ FastAPI Backend │ │
│ │ │ ──────► │ │ │
│ │ • Search UI │ │ • github_client.py │ │
│ │ • Dashboard │ ◄────── │ • analyzer.py │ │
│ │ • Charts │ JSON │ • api/routes.py │ │
│ │ • Share Cards │ │ • File cache │ │
│ └──────────────────┘ └──────────┬───────────┘ │
│ │ │ │
│ GitHub Pages │ │
│ ┌──────────▼───────────┐ │
│ │ GitHub REST API │ │
│ │ (single source) │ │
│ └──────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Frontend — React 18 · Vite · Tailwind CSS · Recharts · react-markdown
Backend — Python 3.12 · FastAPI · httpx (async) · file-based cache · slowapi rate limiting
- Rate limiting — 10 requests/minute per IP (slowapi)
- Security headers — X-Content-Type-Options, X-Frame-Options, XSS protection, Referrer-Policy
- Input validation — All URLs sanitized and validated server-side
- No token exposure — GitHub token lives only in backend environment variables, never in frontend
- CORS — Configured to only accept expected request types
- No data storage — Zero user data persisted; responses cached for performance only
- Create Railway account → New Project → Deploy from GitHub
- Set Root Directory to
backend - Add environment variable:
GITHUB_TOKEN - Generate a domain → note the URL
Every push to main automatically deploys via .github/workflows/deploy.yml.
Set VITE_API_URL in repo Settings → Secrets → Actions to point to your Railway backend.
Score Grade Meaning
80–100 A Production-ready, well-maintained
60–79 B Good project, minor gaps
40–59 C Active but needs improvement
0–39 D Early stage or unmaintained
Found an interesting repo? Share it with one click:
- Twitter / X — pre-filled tweet with health score and stats
- LinkedIn — share to your professional network
- Copy link — paste the RepoLens URL anywhere
- PNG card — download a beautiful shareable image
- README badge — add
[](...)to your own repo
MIT © Vignesh