2025 Dev

GitHub Activity Dashboard

Contribution Streak
0days
Record: 61 days
Total Commits
2,514
Lines Changed
+42,316,207-14,052,034
Active Repos
163

Activity Patterns

12a
1a
2a
3a
4a
5a
6a
7a
8a
9a
10a
11a
12p
1p
2p
3p
4p
5p
6p
7p
8p
9p
10p
11p
Sun
Sun 0:00
14 commits
Sun 1:00
31 commits
Sun 2:00
28 commits
Sun 3:00
18 commits
Sun 4:00
14 commits
Sun 5:00
16 commits
Sun 6:00
16 commits
Sun 7:00
21 commits
Sun 8:00
7 commits
Sun 9:00
3 commits
Sun 11:00
1 commits
Sun 12:00
9 commits
Sun 13:00
28 commits
Sun 14:00
35 commits
Sun 15:00
24 commits
Sun 16:00
38 commits
Sun 17:00
63 commits
Sun 18:00
62 commits
Sun 19:00
58 commits
Sun 20:00
55 commits
Sun 21:00
36 commits
Sun 22:00
30 commits
Sun 23:00
18 commits
Mon
Mon 0:00
13 commits
Mon 1:00
17 commits
Mon 2:00
13 commits
Mon 3:00
21 commits
Mon 4:00
8 commits
Mon 5:00
14 commits
Mon 6:00
15 commits
Mon 7:00
8 commits
Mon 8:00
3 commits
Mon 9:00
1 commits
Mon 12:00
7 commits
Mon 13:00
6 commits
Mon 14:00
17 commits
Mon 15:00
5 commits
Mon 16:00
12 commits
Mon 17:00
11 commits
Mon 18:00
13 commits
Mon 19:00
27 commits
Mon 20:00
16 commits
Mon 21:00
24 commits
Mon 22:00
34 commits
Mon 23:00
37 commits
Tue
Tue 0:00
11 commits
Tue 1:00
11 commits
Tue 2:00
18 commits
Tue 3:00
9 commits
Tue 4:00
13 commits
Tue 5:00
6 commits
Tue 6:00
7 commits
Tue 7:00
12 commits
Tue 8:00
2 commits
Tue 12:00
2 commits
Tue 13:00
8 commits
Tue 14:00
7 commits
Tue 15:00
7 commits
Tue 16:00
12 commits
Tue 17:00
12 commits
Tue 18:00
18 commits
Tue 19:00
21 commits
Tue 20:00
10 commits
Tue 21:00
14 commits
Tue 22:00
32 commits
Tue 23:00
30 commits
Wed
Wed 0:00
5 commits
Wed 1:00
5 commits
Wed 2:00
3 commits
Wed 3:00
12 commits
Wed 4:00
16 commits
Wed 5:00
11 commits
Wed 6:00
8 commits
Wed 7:00
12 commits
Wed 8:00
1 commits
Wed 12:00
5 commits
Wed 13:00
25 commits
Wed 14:00
8 commits
Wed 15:00
16 commits
Wed 16:00
19 commits
Wed 17:00
12 commits
Wed 18:00
13 commits
Wed 19:00
28 commits
Wed 20:00
25 commits
Wed 21:00
17 commits
Wed 22:00
29 commits
Wed 23:00
18 commits
Thu
Thu 0:00
5 commits
Thu 1:00
4 commits
Thu 2:00
7 commits
Thu 3:00
10 commits
Thu 4:00
13 commits
Thu 5:00
2 commits
Thu 6:00
24 commits
Thu 7:00
10 commits
Thu 8:00
1 commits
Thu 13:00
7 commits
Thu 14:00
9 commits
Thu 15:00
7 commits
Thu 16:00
10 commits
Thu 17:00
14 commits
Thu 18:00
11 commits
Thu 19:00
4 commits
Thu 20:00
1 commits
Thu 21:00
7 commits
Thu 22:00
30 commits
Thu 23:00
21 commits
Fri
Fri 0:00
12 commits
Fri 1:00
6 commits
Fri 2:00
4 commits
Fri 3:00
5 commits
Fri 4:00
1 commits
Fri 5:00
3 commits
Fri 6:00
6 commits
Fri 7:00
4 commits
Fri 8:00
2 commits
Fri 13:00
7 commits
Fri 14:00
4 commits
Fri 15:00
4 commits
Fri 16:00
10 commits
Fri 17:00
8 commits
Fri 18:00
14 commits
Fri 19:00
20 commits
Fri 20:00
11 commits
Fri 21:00
18 commits
Fri 22:00
17 commits
Fri 23:00
12 commits
Sat
Sat 0:00
1 commits
Sat 1:00
2 commits
Sat 2:00
5 commits
Sat 3:00
11 commits
Sat 4:00
4 commits
Sat 5:00
4 commits
Sat 6:00
13 commits
Sat 7:00
15 commits
Sat 8:00
17 commits
Sat 9:00
8 commits
Sat 12:00
6 commits
Sat 13:00
13 commits
Sat 14:00
15 commits
Sat 15:00
38 commits
Sat 16:00
43 commits
Sat 17:00
59 commits
Sat 18:00
63 commits
Sat 19:00
84 commits
Sat 20:00
71 commits
Sat 21:00
60 commits
Sat 22:00
82 commits
Sat 23:00
38 commits
Less
More

Activity Timeline

Recent Activity

Dec 04, 2025ana

Merge pull request #7 from johnafarmer/add-interactive-location-analytics-map Interactive Location Analytics with World Map Visualization

Dec 04, 2025ana

feat: Add interactive location analytics with world map visualization - Implement interactive world map component with heat map visualization - Add drill-down capability from country to region/city level - Create location data panels with visitor counts and percentages - Add backend endpoints for hierarchical location data aggregation - Integrate enhanced geo data (cities, regions) from MaxMind database - Maintain cyberpunk aesthetic with gold heat map and glassmorphism effects Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

Dec 04, 2025john-vm-config

Preserve theme customizations and backup history for hardware migration Added enhancements to hellpuccin theme: - Dashboard colors for JOHN-VM welcome screen (crimson/blood red palette) - Neo-tree file explorer integration with hellish theme - Git status indicators with dark red accent colors - Cursor and selection highlighting Committed all theme backup directories (20 backups from Sept-Nov 2025): - Complete history of theme evolution and configurations - Safety rollback points for theme system - Preserves all color customizations and tweaks This commit captures the complete state of VM personalizations for potential hardware migration/upgrade. All customizations, themes, and configuration history now safely version-controlled. 🤖 Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

Dec 04, 2025john-vm-config

Add comprehensive VM setup documentation Added VM_SETUP_GUIDE.md - a complete 2,000+ line deep-dive guide covering: - LXC architecture and Hetzner VPS specifications - SSH tunneling + VNC access configuration - Multi-Claude orchestration across 6 concurrent projects - Tmux dashboard system with asymmetric layouts - Unified theme engine for cross-application theming - Production tools (Sauron, Rep, JuanClaude, DEMON, XK, OS) - VNC keyboard limitation solutions - Security architecture and 78-day uptime analysis - Complete step-by-step replication guide Updated CLAUDE.md to reference the comprehensive guide with context on when to use it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

Dec 04, 2025ana

Merge pull request #6 from johnafarmer/feat/appearance-settings-scanline-toggle feat: Add appearance settings with scan line toggle

Dec 04, 2025ana

feat: Add appearance settings with scan line toggle Add an Appearance section to the Settings page with a toggle to enable/disable the gold scan line animation effect on the Dashboard. The preference persists via localStorage and defaults to off. - Create useAppearance hook with React Context and localStorage persistence - Add luxury-styled toggle switch with gold gradient and glow effects - Conditionally render Dashboard scan line based on user preference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

Merge pull request #5 from johnafarmer/fix/export-import-endpoints fix: Implement missing export/import API endpoints

Dec 04, 2025ana

fix: Implement missing export/import API endpoints The export and import buttons in Settings were calling API endpoints that didn't exist, causing "invalid file format" errors on import attempts. - Add getAllEvents() and getAllEventsForDomain() methods to database class - Add GET /api/analytics/export endpoint with JSON file download - Add POST /api/analytics/import endpoint with validation and detailed results - Add isValidEvent() helper for import validation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

Merge pull request #4 from johnafarmer/feat/luxury-gold-glassmorphism-redesign feat: Luxury black & gold glassmorphism redesign

Dec 04, 2025ana

feat: Redesign dashboard with luxury black & gold glassmorphism theme Transform the entire frontend from blue/pink cyberpunk to a sophisticated black and gold luxury aesthetic with glassmorphism effects throughout. Key changes: - New color palette: deep blacks (#0a0a0a-#1a1a1a) with gold spectrum (#FFD700, #D4AF37, #C9A227, #B8860B) - Glassmorphism containers with backdrop-filter blur effects - Playfair Display serif font for headers, Fira Code for data - Rose-gold (#CD7F6E) for error states to maintain visibility while staying in palette - Gold-tinted status colors for web vitals (golden-green, amber, bronze) - Updated all chart components with gold color arrays and glass tooltips - Refined button variants with gold gradients and hover sweep effects - Elegant modal animations with scale and fade transitions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

Merge pull request #3 from johnafarmer/fix-settings-delete-confirmation Fix domain delete confirmation logic and add missing endpoint

Dec 04, 2025ana

Fix domain delete confirmation logic and add missing endpoint - Fix confirmation check to properly validate "RESET" for full database reset vs domain name for single domain deletion - Add /api/analytics/clear-domain-data endpoint that was missing from the server - Add user feedback via status messages on success/failure - Auto-clear status message after 5 seconds 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

feat: Add rich pages analytics table with terminal-style design - Wire up /api/analytics/pages-detail endpoint (was never called) - Create cyberpunk data table with views, visitors, time, bounce rate - Color-coded bounce rate indicator (green/amber/orange/red by severity) - Staggered row animations, hover effects with gradient border glow - Relative views bar visualization per row - Responsive design hiding less essential columns on mobile 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

feat: Redesign DomainDetails with cyberpunk aesthetic + fix remaining tabs - Fix UTM/Tech/Performance data extraction (API wraps in property) - Complete visual overhaul matching Dashboard styling - Add scanline background, gradient overlays, glow effects - Color-coded stat cards with animated entrance - Styled tabs with hover transforms and glow states - Terminal-style section titles with pulsing prefix - Proper loading spinner and empty states 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

fix: Transform API response formats for DomainDetails page Countries endpoint now returns array format [{ country, count }] instead of object, and traffic endpoint uses time_period property to match frontend expectations. Fixes chart not rendering and Locations tab crash. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

fix: Remove index.html from git (Vite build output) The HTML file contains script references with hashed filenames. When committed to git, Nixpacks' final COPY overwrites the fresh Vite build with the old committed version, causing the browser to request old JS bundles that don't exist. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

fix: Remove built client assets from git tracking The Nixpacks build has a final COPY step that overwrites freshly built files with old files from git. This was causing the OLD JavaScript bundle to be served instead of the new one, meaning code fixes never made it to production. By removing public/assets/ from git, the fresh Vite build will be used. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

debug: Add console logging to DomainDetails fetch Adding debug logs to trace why stats aren't updating despite successful API responses. Will show: - When fetch is called - What data is returned from APIs - What stats are being set - Any errors in the catch block 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

fix: DomainDetails page showing 0's for metrics The pageviews API returns a number, not an array. DomainDetails was incorrectly trying to call .reduce() on it, which failed and fell back to 0. Fixed to handle the response as a simple number like the Dashboard page does. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Dec 04, 2025ana

fix: Strip ES module exports from browser tracker build Bun's format: 'iife' option doesn't reliably work in all build environments (particularly Nixpacks). Added post-processing to strip any export statements from the browser tracker output, ensuring browser compatibility regardless of build environment. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>

Top Languages

TypeScript46.4%
JavaScript17.6%
HTML11.4%
PHP8.5%
Python7.0%

Most Active Repositories

Monthly Contributions