About this project
GitHub Languages Card is a Node.js/Express web service that generates SVG cards showing a GitHub user's most-used programming languages, designed to be embedded in profile READMEs, portfolios, and documentation. A hosted demo is available at github-languages-card.vercel.app, and the project can also be self-hosted.
Core functionality: the endpoint GET /api/top-languages accepts a required username parameter and an optional theme parameter (default pink), returning an SVG image that can be embedded directly in Markdown. The card displays top languages with percentages, plus GitHub stats such as repositories, followers, stars, and forks, and optionally the user's avatar. The README states that no data is stored and that requests go directly to the GitHub API.
Themes: the README lists 18+ named themes, including pink, dark, mint, purple, ocean, sunset, graphite, coffee, lavender, peach, neon, strawberry, darkNeon, fire, snow, hacker, white, and golden. The README presents a ranked "top picks" list of themes, which is the author's own presentation rather than an independent evaluation.
Self-hosting: requires Node.js 18+ and npm/yarn. Steps are cloning the repository, running npm install, copying .env.example to .env, and starting with node server.js, after which the app is available at localhost:3000. A sample Dockerfile based on node:18-alpine is provided. Environment variables include PORT (default 3000), GITHUB_TOKEN (optional, for higher API rate limits), NODE_ENV, and RENDER_EXTERNAL_URL.
Project structure: server.js is the main Express server; public/ holds the landing page and documentation images; utils/ contains github.js (GitHub API integration), svgBuilder.js (SVG card builder), and helpers.js; themes/ contains per-theme definitions. The stated tech stack is Node.js, Express, Axios, and SVG generation.
Known limitations noted by the authors: the GitHub API is rate-limited (60 requests/hour without a token, 5000/hour with GITHUB_TOKEN), and the first request may be slow due to GitHub API response time. The project is MIT licensed and welcomes contributions via fork/branch/pull-request workflow. The README also notes that users in restricted regions may need a VPN to reach the Vercel-hosted demo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.