Skip to content

poferraz/github-stars-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitStars Map - Retro OS Edition

πŸ•ΈοΈ GitStars Map - Retro OS Edition v1.0

A nostalgic 90s-2000s desktop operating system environment (styled like Windows 95/98) running inside the browser to explore and map your GitHub Stars, resembling Obsidian's force-directed graph view.

Live Demo

⚑ Try it online! Link your read-only token and explore your stars instantly: git-starmap.vercel.app ⚑

React 19 Vite 8 Vitest 4 Client-Side Only MIT License

Features β€’ Security Architecture β€’ How It Works β€’ Getting Started β€’ Tech Stack


πŸš€ Features

  • πŸ“Ί Nostalgic CRT Monitor Shader: CSS-driven scanlines, vignetting, phosphor glowing, and subtle flicker filters that can be toggled on/off via the taskbar tray.
  • πŸͺŸ Draggable Retro Windows: Multiple windows for Settings, Help, Mind Map Graph, and Properties. Windows support dragging, Z-index focusing, and minimizing.
  • πŸ”Š Real-time 8-Bit Audio Synthesis: Dynamic micro-beeps synthesized on the fly using the Web Audio API (success chirps, error buzzes, click responses, and floppy drive seek clicks during loading).
  • πŸ€– Universal Client-Side AI Router: Connects directly from your browser to:
    • Google Gemini API (Free Tier supported natively via AI Studio)
    • OpenRouter (Aggregated access to free and cheap models)
    • OpenAI (GPT-4o-mini, custom URLs)
    • Groq (Llama 3)
    • Custom Endpoints (e.g., Ollama or custom API proxies)
  • πŸ›‘οΈ 100% Billing Protection: Built-in Local Rate Limiter Security Guard checks counts in localStorage and client-side blocks requests exceeding 15/min or 1500/day. Standard free-tier Google AI Studio accounts will return HTTP 429 (Too Many Requests) rather than rolling over to billing.
  • πŸ•ΈοΈ Obsidian-Style Mind Map: Interactive Canvas 2D force-directed graph rendering repo and category nodes. Stars are sized logarithmically by star counts and color-coded by programming language, connected with animated data stream particles.

πŸ“Έ Screenshots & Artwork

GitStars Map Promotional Poster

Mind Map Setup Obsidian style force graph

Settings and API Configuration Retro CRT scanline filters


πŸ”’ Security-First Architecture

We take privacy and API billing security seriously:

  1. Zero Server Backend: No databases, no proxy servers. All API key variables are entered by visitors, saved in their browser's private localStorage, and executed directly to GitHub/Google endpoints.
  2. No Hardcoded Keys: Your source code is 100% clean of API keys. No secrets are committed or stored on servers.
  3. Local Rate Limiting Guard: Even if your API keys are loaded, the browser strictly rate-limits requests to protect you from unexpected bill spikes or API bans.

πŸ•ΉοΈ How It Works

graph TD
    User([User's Browser]) --> OS[Retro OS Environment]
    OS --> Graph[Canvas Force Graph Node Mapping]
    OS --> Sounds[Web Audio API sound synthesis]
    OS --> Shader[CRT Post-processing Shader]
    OS --> Guard[Security Guard Rate Limiter]
    
    Guard --> Router[Universal Client AI Router]
    Router --> |Direct Client Call| Gemini[Google Gemini API]
    Router --> |Direct Client Call| OpenRouter[OpenRouter API]
    Router --> |Direct Client Call| OpenAI[OpenAI API]
    Router --> |Direct Client Call| Groq[Groq API]
    
    OS --> |Direct Client Call| GitHub[GitHub API]
    
    subgraph Browser Storage
        Keys[localStorage: API Keys]
        Cache[localStorage: Star Data & Limits]
    end
    
    OS -.-> Keys
    Guard -.-> Cache
Loading

πŸ“¦ Getting Started

Prerequisites

You will need:

  1. Node.js (v18+)
  2. Google Gemini API Key (optional, but needed for AI mapping): Get one for free at Google AI Studio.
  3. GitHub PAT (optional, recommended): Generate a read-only token for public scopes on GitHub Settings.

Running Locally

  1. Clone or navigate to the directory:
    git clone https://github.com/yourusername/github-stars-visualizer.git
    cd github-stars-visualizer
  2. Install dependencies:
    npm install
  3. Launch the development server:
    npm run dev
  4. Run unit tests (TDD suite):
    npm test

πŸ—οΈ Technical Stack

  • UI Framework: React 19 + Vite 8
  • Graph Renderer: Canvas-based force-graph
  • Styling: Vanilla CSS (retro custom bevels & layouts)
  • Test Suite: Vitest (15 unit tests verifying rates, routers, and graph builders)
  • Sound Synth: Native HTML5 Web Audio API

🀝 Contributing

We welcome contributions! Please read our Contributing Guidelines to get started on setting up the local dev environment, styling specifications, and TDD workflow instructions.


πŸ’Ž Credits & Open Source Acknowledgements

This project was built possible by these fantastic open-source libraries, assets, and inspirations:


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Map your GitHub Stars in a nostalgic 90s OS desktop environment, complete with animated force-graphs, mechanical floppy click sounds, and a CRT monitor glow!

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors