{"id":48484885,"url":"https://github.com/jrbrowning/jrbrowning.github.io","last_synced_at":"2026-04-07T09:32:48.544Z","repository":{"id":239775506,"uuid":"456029401","full_name":"jrbrowning/jrbrowning.github.io","owner":"jrbrowning","description":"Interactive Insights Dashboard of my coding journey on GitHub.   ","archived":false,"fork":false,"pushed_at":"2025-07-09T01:57:00.000Z","size":289,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T02:45:40.283Z","etag":null,"topics":["data-visualization","developer-dashboard","github-contributions","github-pages-website","open-source","reactjs","tailwindcss","typescript","vitejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrbrowning.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}},"created_at":"2022-02-06T01:33:13.000Z","updated_at":"2025-07-09T02:05:03.000Z","dependencies_parsed_at":"2024-05-14T15:42:50.144Z","dependency_job_id":"c2072179-4796-4681-9233-a226b070cfb5","html_url":"https://github.com/jrbrowning/jrbrowning.github.io","commit_stats":null,"previous_names":["jrbrowning/jrbrowning.github.io"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jrbrowning/jrbrowning.github.io","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrbrowning%2Fjrbrowning.github.io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrbrowning%2Fjrbrowning.github.io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrbrowning%2Fjrbrowning.github.io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrbrowning%2Fjrbrowning.github.io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrbrowning","download_url":"https://codeload.github.com/jrbrowning/jrbrowning.github.io/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrbrowning%2Fjrbrowning.github.io/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31508127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-visualization","developer-dashboard","github-contributions","github-pages-website","open-source","reactjs","tailwindcss","typescript","vitejs"],"created_at":"2026-04-07T09:32:48.452Z","updated_at":"2026-04-07T09:32:48.536Z","avatar_url":"https://github.com/jrbrowning.png","language":"TypeScript","readme":"# GitHub Developer Insights Dashboard\n\nA modern, interactive dashboard built with **React**, **Vite**, **TailwindCSS**, and **shadcn/ui**, for visualizing GitHub contribution over time.\n\n**Live Site**: [jrbrowning.github.io](https://jrbrowning.github.io)\n\n## Motivation\n\nDesigned to primarily be a fast local development site for prototyping and iterating, This tool is for developers who want to introspect (and maybe publish) on their GitHub history journey.\n\nIf you'd like to create your own version of your journey, head over to [`GitHubHero`](https://github.com/jrbrowning/GitHubHero) to generate a `github-static-transformed.json` data set using GitHub CLI and the GraphQL endpoint.\n\nThen fork this repo, drop that file into the `\\public` folder, edit any details to personalize for your liking, and follow the [Build and Preview your site](#build-and-preview-your-site) steps below.\n\n## ✨ Features\n\n- 🔀 **Sankey visualization**: Year-over-year language flow\n- 📊 **Contribution summary**: Commits, PRs, issues, and reviews by year\n- 🏷️ **Repo language breakdown**: Language composition per repo/year\n- 🎛️ **Interactive filtering**: Select top N languages\n- ⚛️ **Framework**: React 19 + Vite 7\n- 🎨 **Styling**: TailwindCSS, shadcn/ui, Framer Motion, Lucide Icons\n- 📈 **Charts**: Plotly.js, Recharts\n- 🌓 Responsive, dark mode compatible design using `shadcn/ui`\n\n## Scripts\n\nDevelopment mode:\n\n```bash\n# Start dev server\nnpm run start\n\n# Clean and reinstall deps\nnpm run rebuild\n```\n\n## Git Commit Workflow\n\nThis project uses **Commitizen** for conventional commit messages. To launch the commit interface:\n\n```bash\nnpm run commit\n```\n\n## Build and Preview your site.\n\nBuild a static version of the repo into the `/docs`\n\n```bash\nnpm run gh-page-build\n```\n\nPreview the site using a light weight local server (reads content from the `/docs`, where vite reads from `/`)\n\n```bash\nnpm run gh-page-preview\n```\n\n## Turn your data into your own github page\n\n1. Go to your repo on GitHub.\n2. Navigate to: Settings → Pages\n3. Under Source, choose:\n   • Branch: main\n   • Folder: /docs\n4. Click Save.\n\n## Main Project Structure\n\n```\n├── docs/                   # Static site output for GitHub Pages\n├── app/                    # Application source code (App.tsx, Charts)\n├── components/             # Reusable React components from shadcn\n├── lib/                    # Utility functions and libraries\n├── .github/                # GitHub workflows and configuration\n├── commitlint.config.js    # Commitlint configuration\n├── package.json            # Project metadata and dependencies\n├── tsconfig.json\n└── vite.config.ts\n```\n\n## Tech Stack\n\n- [React 19](https://react.dev/)\n- [Vite 7](https://vitejs.dev/)\n- [TailwindCSS](https://tailwindcss.com/)\n- [shadcn/ui](https://ui.shadcn.com/)\n- [Framer Motion](https://www.framer.com/motion/)\n- [Lucide Icons](https://lucide.dev/)\n- [Plotly.js](https://plotly.com/javascript/)\n- [Recharts](https://recharts.org/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [ESLint](https://eslint.org/)\n- [Prettier](https://prettier.io/)\n- [Commitizen](https://commitizen-tools.github.io/commitizen/)\n- [Husky](https://typicode.github.io/husky/)\n- [gh-pages](https://www.npmjs.com/package/gh-pages)\n- [ThemeProvider (custom)](https://ui.shadcn.com/docs/dark-mode)\n\n## 🤖🧠 Credits\n\nBuilt mostly by AI (Claude 3.7/4.0 Sonnet, OpenAI GPT-4o/4.1, MS VSCode CoPilot) with human direction and decision making.\n\nHuman director [Jeff Browning](https://github.com/jrbrowning) — who is powered by curiosity and coffee ☕.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrbrowning%2Fjrbrowning.github.io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrbrowning%2Fjrbrowning.github.io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrbrowning%2Fjrbrowning.github.io/lists"}