{"id":50453965,"url":"https://github.com/mizcausevic-dev/gitvisualizer","last_synced_at":"2026-06-01T01:05:30.671Z","repository":{"id":357253979,"uuid":"1234139868","full_name":"mizcausevic-dev/gitvisualizer","owner":"mizcausevic-dev","description":"Premium GitHub profile intelligence. Live at gv.kineticgain.com","archived":false,"fork":false,"pushed_at":"2026-05-29T03:45:12.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T05:22:52.705Z","etag":null,"topics":["data-viz","developer-portfolio","github","github-api","profile-intelligence","react","recharts","recruiter-tools","typescript","visualization"],"latest_commit_sha":null,"homepage":"https://gv.kineticgain.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mizcausevic-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-09T19:56:06.000Z","updated_at":"2026-05-29T03:45:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mizcausevic-dev/gitvisualizer","commit_stats":null,"previous_names":["mizcausevic-dev/gitvisualizer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mizcausevic-dev/gitvisualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fgitvisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fgitvisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fgitvisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fgitvisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mizcausevic-dev","download_url":"https://codeload.github.com/mizcausevic-dev/gitvisualizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fgitvisualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33755378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-viz","developer-portfolio","github","github-api","profile-intelligence","react","recharts","recruiter-tools","typescript","visualization"],"created_at":"2026-06-01T01:05:29.853Z","updated_at":"2026-06-01T01:05:30.661Z","avatar_url":"https://github.com/mizcausevic-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitVisualizer\n\n\u003e Premium GitHub profile intelligence — visualize any developer's portfolio in one stunning, recruiter-grade page.\n\n[![CI](https://github.com/mizcausevic-dev/gitvisualizer/actions/workflows/ci.yml/badge.svg)](https://github.com/mizcausevic-dev/gitvisualizer/actions/workflows/ci.yml)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-66FCF1.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![React](https://img.shields.io/badge/React-19-66FCF1.svg)](https://react.dev/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.8-66FCF1.svg)](https://www.typescriptlang.org/)\n\nType any GitHub username — see their entire engineering story laid out as a single visual brief: language radar, activity pulse, domain expertise, project maturity, structured-data SEO snapshot, and a sortable repo grid.\n\nBuilt for **recruiters**, **hiring managers**, **engineers presenting their work**, and **anyone who wants to read a profile in 30 seconds instead of 30 minutes**.\n\n---\n\n## Features\n\n- **Profile intelligence at a glance** — KPI summary derived from public repo data\n- **Capability matrix** — radar chart of language proficiency\n- **Activity pulse** — 12-month commit/update timeline\n- **Domain expertise cloud** — top topics across the portfolio\n- **Innovation index** — modern-stack and AI-related repo signals\n- **Lifecycle maturity** — production / beta / R\u0026D classification\n- **Health heatmap** — 24-week update density\n- **Featured projects** — top 3 by stars, presented as case studies\n- **JSON-LD schema** — embedded `\u003cscript type=\"application/ld+json\"\u003e` for AI crawlers and search engines\n- **URL-shareable** — every profile page is a permalink (`/?user=username`)\n- **BERT-themed dark mode** — IBM Plex typography, cyan + amber accents\n- **Mobile-responsive** — works on phones and tablets\n- **Print-friendly** — Cmd/Ctrl+P produces a clean PDF\n\n---\n\n## Live demo\n\n[**gitvisualizer.kineticgain.com**](https://gitvisualizer.kineticgain.com) *(deployment in progress)*\n\n---\n\n## Quick start\n\n```bash\ngit clone https://github.com/mizcausevic-dev/gitvisualizer.git\ncd gitvisualizer\nnpm install\nnpm run dev\n```\n\nOpen http://localhost:3000 — the app loads with the default profile. Type any GitHub username in the search bar to load a different one.\n\n### Build for production\n\n```bash\nnpm run build      # tsc + vite build → dist/\nnpm run preview    # serve the dist/ folder locally to test\n```\n\n### Lint\n\n```bash\nnpm run lint       # tsc --noEmit (type-check without emitting)\n```\n\n---\n\n## How it works\n\nGitVisualizer is a **client-only React + TypeScript SPA** that:\n\n1. Reads the GitHub username from the URL `?user=` parameter (defaults to `mizcausevic-dev`)\n2. Fetches `GET /users/:username` and `GET /users/:username/repos?sort=updated\u0026per_page=100` from the public GitHub API\n3. Computes derived metrics in-browser (innovation index, lifecycle maturity, domain expertise, etc.)\n4. Renders the visualization with Recharts + Motion + custom SVG\n\n**No backend. No database. No auth.** Phase 1 is intentionally simple.\n\n### Rate limit caveat\n\nThe public GitHub API allows **60 requests per hour for unauthenticated callers** (per IP). Each profile load uses 2 requests. Phase 2 introduces a backend proxy with KV caching to lift this to 5,000+ req/hr — see roadmap below.\n\n---\n\n## Stack\n\n| Layer | Tech |\n|---|---|\n| Framework | React 19 + Vite 6 |\n| Language | TypeScript 5.8 |\n| Styling | Tailwind 4 (CSS variable theme) |\n| Animations | Motion (framer-motion successor) |\n| Charts | Recharts |\n| Icons | Lucide React |\n| Fonts | IBM Plex Sans / Mono / Serif |\n\n---\n\n## Theme\n\nGitVisualizer uses the **BERT theme** — a dark editorial palette designed for technical content:\n\n| Token | Hex | Use |\n|---|---|---|\n| `--color-bg` | `#0B0C10` | Page background |\n| `--color-surface` | `#14161C` | Card backgrounds |\n| `--color-accent` | `#66FCF1` | Primary accent (cyan) |\n| `--color-accent-2` | `#45A29E` | Secondary accent (teal) |\n| `--color-warm` | `#FBBF24` | Highlight / warning (amber) |\n| `--color-text` | `#C5C6C7` | Primary text |\n\nTheme tokens live in `src/index.css` under the `@theme` block. Override there to customize the palette.\n\n---\n\n## Roadmap\n\n### Phase 1 — *Shipped*\n- [x] BERT theme + IBM Plex typography\n- [x] Username search + URL parameter sync\n- [x] Rate-limit-aware error handling\n- [x] Loading skeletons\n- [x] Dynamic JSON-LD schema for any user\n- [x] Generic contact panel (works for any profile)\n- [x] AGPL-3.0 license\n\n### Phase 2 — *Next*\n- [ ] Backend proxy (Cloudflare Workers / Vercel Functions) with authenticated GitHub calls\n- [ ] KV caching layer (Upstash Redis or Cloudflare KV)\n- [ ] AI-powered profile insights (Gemini integration)\n- [ ] Profile comparison mode (two users side-by-side)\n- [ ] Embeddable widget mode (`\u003ciframe\u003e` for personal sites)\n\n### Phase 3 — *Product*\n- [ ] Pricing tiers (Free / Pro / Team)\n- [ ] Stripe integration\n- [ ] Account system + saved searches\n- [ ] Recruiter portal (multi-profile comparison + notes)\n\n---\n\n## License\n\n**AGPL-3.0-only**. See [LICENSE](LICENSE) for the full text.\n\nThe AGPL means: you can fork, modify, and self-host this — but if you run a modified version as a service, you must publish your source. This protects the project's monetization runway while keeping it genuinely open-source for individuals.\n\nFor commercial licensing inquiries (closed-source forks, white-label deployments), contact: **miz@kineticgain.com**\n\n---\n\n## Author\n\n**Miz Causevic** — Boston Enterprise Technologist · Platform Architecture\n[mizcausevic-dev.github.io](https://mizcausevic-dev.github.io/) · [github.com/mizcausevic-dev](https://github.com/mizcausevic-dev)\n\n---\n\n\u003csub\u003eBuilt with React, Recharts, Motion, and entirely too much black coffee. ☕\u003c/sub\u003e\n\n---\n\n**Connect:** [LinkedIn](https://www.linkedin.com/in/mirzacausevic/) · [Kinetic Gain](https://kineticgain.com) · [Medium](https://medium.com/@mizcausevic/) · [Skills](https://mizcausevic.com/skills/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizcausevic-dev%2Fgitvisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmizcausevic-dev%2Fgitvisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizcausevic-dev%2Fgitvisualizer/lists"}