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.
β‘ Try it online! Link your read-only token and explore your stars instantly: git-starmap.vercel.app β‘
Features β’ Security Architecture β’ How It Works β’ Getting Started β’ Tech Stack
- πΊ 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
localStorageand client-side blocks requests exceeding 15/min or 1500/day. Standard free-tier Google AI Studio accounts will returnHTTP 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.
We take privacy and API billing security seriously:
- 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. - No Hardcoded Keys: Your source code is 100% clean of API keys. No secrets are committed or stored on servers.
- 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.
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
You will need:
- Node.js (v18+)
- Google Gemini API Key (optional, but needed for AI mapping): Get one for free at Google AI Studio.
- GitHub PAT (optional, recommended): Generate a read-only token for public scopes on GitHub Settings.
- Clone or navigate to the directory:
git clone https://github.com/yourusername/github-stars-visualizer.git cd github-stars-visualizer - Install dependencies:
npm install
- Launch the development server:
npm run dev
- Run unit tests (TDD suite):
npm test
- 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
We welcome contributions! Please read our Contributing Guidelines to get started on setting up the local dev environment, styling specifications, and TDD workflow instructions.
This project was built possible by these fantastic open-source libraries, assets, and inspirations:
- Frontend & Tooling: React 19, Vite 8, ESLint
- Data Visualization: force-graph (HTML5 Canvas) by Vasco Asturiano
- Visualization & Physics Inspirations:
- AI Integration: @google/generative-ai SDK
- Icons: Lucide React
- Testing Suite: Vitest 4
- Typography: Google Fonts: VT323 (nostalgic pixel font) and Google Fonts: Courier Prime (monospace console font)
- Visual Style & Retro Design: Classic Windows 95/98 styling and beveled theme designs.
This project is licensed under the MIT License - see the LICENSE file for details.





