From f69af378f74a7ab2cd7e6dd9845ad4c65dc297e0 Mon Sep 17 00:00:00 2001
From: Claude
Date: Mon, 6 Jul 2026 14:15:28 +0000
Subject: [PATCH] Remove Projects (Things I've Built) section from homepage
Drop the Projects section, its nav link, and the now-dead live GitHub
activity script. Repoint the hero "View My Work" CTA to the Experience
section.
Co-Authored-By: Claude Opus 4.8
Claude-Session: https://claude.ai/code/session_01TYfgSeuGkfGjT7335WTQgW
---
index.html | 35 +----------------------------------
js/main.js | 50 --------------------------------------------------
2 files changed, 1 insertion(+), 84 deletions(-)
diff --git a/index.html b/index.html
index bdcb52f..19c72fe 100644
--- a/index.html
+++ b/index.html
@@ -50,7 +50,6 @@
Home
About
Skills
- Projects
Blog
Experience
Personal
@@ -89,7 +88,7 @@
4+ years in security — from internship to enterprise. I build systems that detect, respond, and automate, write the scripts, tune the alerts, and ship the tools.
@@ -283,38 +282,6 @@
What I Work With
-
-
-
-
Things I've Built
-
Projects
-
Side projects that solve real problems.
-
-
-
-
-
DATA EXPUNGED
-
Png,DATA EXPUNGED
-
- PythonGmail APIAirtableAutomationmacOS launchd
-
-
-
-
-
-
-
-
-
diff --git a/js/main.js b/js/main.js
index fabe3da..435de60 100644
--- a/js/main.js
+++ b/js/main.js
@@ -500,56 +500,6 @@ window.addEventListener('DOMContentLoaded', () => {
return Math.floor(days / 365) + 'y ago';
}
- /* ---------- Live GitHub Activity ---------- */
- const ghLive = document.getElementById('gh-live');
- const ghRepos = document.getElementById('gh-repos');
- if (ghLive && ghRepos) {
- cachedJSON('pm-gh-repos', 'https://api.github.com/users/pranayesse/repos?sort=pushed&per_page=12')
- .then(repos => {
- const top = repos.filter(r => !r.fork).slice(0, 4);
- if (!top.length) return;
- top.forEach(r => {
- const a = document.createElement('a');
- a.className = 'gh-repo';
- a.href = r.html_url;
- a.target = '_blank';
- a.rel = 'noopener';
-
- const name = document.createElement('div');
- name.className = 'gh-repo-name';
- name.textContent = r.name;
-
- const desc = document.createElement('div');
- desc.className = 'gh-repo-desc';
- desc.textContent = r.description || 'No description — code speaks for itself.';
-
- const meta = document.createElement('div');
- meta.className = 'gh-repo-meta';
- if (r.language) {
- const lang = document.createElement('span');
- const dot = document.createElement('span');
- dot.className = 'lang-dot';
- lang.appendChild(dot);
- lang.appendChild(document.createTextNode(r.language));
- meta.appendChild(lang);
- }
- if (r.stargazers_count > 0) {
- const stars = document.createElement('span');
- stars.textContent = '★ ' + r.stargazers_count;
- meta.appendChild(stars);
- }
- const pushed = document.createElement('span');
- pushed.textContent = 'pushed ' + relTime(r.pushed_at);
- meta.appendChild(pushed);
-
- a.append(name, desc, meta);
- ghRepos.appendChild(a);
- });
- ghLive.hidden = false;
- })
- .catch(() => { /* API unreachable or rate-limited — keep section hidden */ });
- }
-
/* ---------- Last Updated Badge ---------- */
const lastUpdated = document.getElementById('last-updated');
if (lastUpdated) {