explaingit

abduznik/portfolio-dumper

20HTMLAudience · developerComplexity · 2/5ActiveLicenseSetup · easy

TLDR

A static browser app that converts a GitHub profile or single repo into clean Markdown for documentation, portfolios, or LLM prompts.

Mindmap

mindmap
  root((portfolio-dumper))
    Inputs
      GitHub username
      Profile URL
      Repo URL
      Optional PAT
    Outputs
      Markdown file
      Clipboard text
      Repo statistics
    Use Cases
      Build a prompt context
      Generate a portfolio
      Document a repo
    Tech Stack
      HTML
      Vanilla JS
      Tailwind CSS
      Docker

Things people build with this

USE CASE 1

Dump a GitHub profile to Markdown for an AI prompt

USE CASE 2

Self-host the static site on Nginx or Docker for your team

USE CASE 3

Ingest one repo README plus metadata for documentation

USE CASE 4

Export a developer's repo list with star and language stats

Tech stack

HTMLJavaScriptTailwindDockerGitHub API

Getting it running

Difficulty · easy Time to first run · 5min

Without a GitHub PAT you will hit the unauthenticated API rate limit quickly when ingesting large profiles.

MIT licensed: free to use, modify, and distribute commercially as long as the copyright notice stays in the source.

In plain English

Portfolio Dumper is a small web page that turns a GitHub profile, or a single GitHub repository, into a plain Markdown document. The idea is that Markdown is easy for a person to read and easy for a language model to ingest as part of a prompt, so this tool gives you a quick way to grab the public information about a developer or a project in that format. Typical uses the author suggests are dropping the output into documentation, into a personal portfolio, or into an AI prompt. The input can be a raw username, a profile URL, or a deep link to a specific repository. There are three modes: pull only the profile README, pull only the list of repositories, or pull both. When you point it at a specific repository instead of a profile, it pulls that repository's README and metadata directly. While running, it also shows simple statistics: how many repositories there are, total stars, forks, and the spread of programming languages used. There is an option to paste in a GitHub Personal Access Token. This is not required, but the unauthenticated GitHub API has tight rate limits, and a token raises them. A token also gives access to your private repositories if you want to include them. The output can be copied to the clipboard or downloaded as a Markdown file. The application is entirely static, which means there is no backend server. The README emphasizes that all API calls go directly from your browser to GitHub, so any token you paste in stays in your own browser tab and is not sent anywhere else. The page itself is built with vanilla JavaScript and uses Tailwind CSS loaded from a CDN. For self-hosting the README gives two paths. Because everything is a static file, any web server like Nginx, Apache, or even Python's built-in http server can host the index page and the assets folder. A prebuilt Docker image is also published, with a one-line docker run command and a short docker-compose example that exposes the app on port 8080.

Copy-paste prompts

Prompt 1
Add a new ingestion mode to portfolio-dumper that pulls only pinned repos
Prompt 2
Replace the Tailwind CDN with a built Tailwind bundle and update index.html
Prompt 3
Add a button that exports the Markdown output as a downloadable JSON file too
Prompt 4
Wire up a small Node proxy so the GitHub PAT is stored server-side instead of in the browser
Prompt 5
Write a Dockerfile that builds from source instead of pulling the prebuilt GHCR image
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.