Echopoint is a telemetry aggregation service and dynamic SVG generation engine. It runs on the edge using Cloudflare Workers and provides a docs/dashboard for managing and previewing the generated assets.
Echopoint generates dynamic SVGs on the fly via URL parameters. This is perfect for embedding real-time statistics and custom badges into GitHub READMEs, personal websites, or Notion pages.
You can use the live SVG builder at echopoint.ujjwalvivek.com to visually configure, preview, and copy the markdown for any endpoint.
Simply use markdown image syntax to embed a badge:
Just drop these URLs into any <img> tag or markdown file!
- Worker (
/src): A Cloudflare Worker that aggregates data from various sources (GitHub, npm, Crates.io, Docker Hub), caches it in a Cloudflare KV store via cron triggers, and exposes REST endpoints. It also contains the SVG generation engine (/svg/*) to render dynamic, customizable badges, GitHub contribution calendars, commit streaks, and language bars on the fly. - Dashboard (
/dashboard): A zero-dep SPA. It serves as interactive documentation, a live viewer for the aggregated KV store data, and a real-time playground to visually configure and preview the SVG endpoints. - Edge-Cached Telemetry: Automatically fetches and caches stats from GitHub (contributions, repos, commits), npm (downloads, versions), Crates.io, and Docker Hub, ensuring zero-latency loads and eliminating rate limits.
- Dynamic SVGs: Generates fully customizable SVG badges and cards directly on the edge. Supports extensive parameterization for colors, text, layouts, and icons.
- Unified Dashboard: Contains an mdbook-style API reference, a live SVG builder with real-time preview, and a visual dump of all stored telemetry data.
- Theming System: The dashboard features multiple built-in color palettes (based on Catppuccin and Monochrome) alongside a procedural HSL dark-mode theme generator.
If you want to run the backend engine or dashboard yourself:
- Node.js (v22+)
- Local Cloudflare Worker setup (Wrangler context)The worker manages the data aggregation and API endpoints.
npm install
npm run dev
npm run deployThe dashboard is a separate frontend project located in the dashboard/ directory.
cd dashboard
npm install
npm run dev
npm run buildThe worker requires specific environment variables and secrets (like GitHub access tokens) to fetch data from external APIs. These are configured via wrangler secret put for sensitive keys. The dashboard uses VITE_ECHOPOINT_URL to point to the active worker URL.