A live, auto-updating "System Monitor" dashboard visualizing my open-source engineering work across the Linux Kernel, Apache Kafka, LadybugDB, and more.
The UI is designed to look like a low-level system monitor tool, featuring:
- Real-time Ops Frequency: Line chart tracking daily contribution throughput.
- Language Distro: Doughnut chart showing programming language distribution.
- System Logs: A unified, grep-able feed of all activities (Commits, PRs, JIRA tickets, Blogs).
- Installed Modules: A grouped view of active repositories and projects.
Data is aggregated weekly (or on push) via Python scripts from multiple remote endpoints:
- GitHub: Pull Requests & repository metadata (GraphQL & REST).
- Linux Kernel:
- Commits upstreamed to
torvalds/linux(fetched via GitHub API). - Patches submitted to LKML (fetched via
lore.kernel.org).
- Commits upstreamed to
- Apache JIRA: Tracks tickets and issues for Apache Kafka.
- Dev.to: Technical blog posts.
- Frontend: Vanilla HTML5, CSS3 (Grid/Flexbox), and JavaScript (ES6+).
- No frameworks, just raw DOM manipulation.
- Chart.js for data visualization.
- Backend / ETL: Python 3.11 scripts (
fetch_contributions.py,analyze.py). - CI/CD: GitHub Actions workflow.
- Python 3.11+
- GitHub Token (PAT) with
read:userandreposcopes.
-
Clone the repo:
git clone https://github.com/aheev/my-portfolio.git cd my-portfolio -
Install dependencies:
pip install -r requirements.txt # Or manually: pip install requests PyGithub beautifulsoup4 lxml -
Fetch Data:
export GITHUB_TOKEN="your_token_here" export KERNEL_EMAIL="your_email@example.com" python3 scripts/fetch_contributions.py python3 scripts/analyze.py
-
Run Dev Server:
python3 -m http.server
Open
http://localhost:8000to view the dashboard.
The project uses GitHub Actions to keep the dashboard alive:
- Trigger: Runs on every
pushtomainand weekly viacron. - Process: Fetches fresh data, generates
analytics.json, and deploys the static site. - Deployment: Content is pushed directly to the
gh-pagesbranch. Themainbranch remains clean of data artifacts.
MIT