How this README builds itself
Every image above is an SVG generated by a Python script and refreshed by a scheduled GitHub Action — nothing here is hand-drawn, and nothing is fetched from a third-party service at render time.
| Asset | Script | Source of truth |
|---|---|---|
header.svg |
scripts/generate_header.py |
static — no network |
neofetch-card.svg |
scripts/generate_neofetch.py |
api.github.com/users/:me + assets/source-logo.png |
heatmap.svg |
scripts/generate_heatmap.py |
the public contributions calendar |
langs.svg |
scripts/generate_langs.py |
bytes of source per language, across public repos |
All four share one palette and one set of animation primitives
(scripts/theme.py), so the cards read as a single system rather than four
unrelated widgets.
Why plain SVG. GitHub renders README images inside an <img> tag, which
runs CSS animations and SMIL but blocks scripts, external stylesheets and
webfonts. So the animation is all declarative — typewriter reveals are
clipPath wipes, the glow is an feGaussianBlur, the borders are gradients
on an animateTransform loop — and every font stack ends in monospace.
Failure is a no-op. If the GitHub API rate-limits the runner or the
calendar scrape comes back empty, the scripts log a skip and exit 0 without
writing. A bad network day leaves yesterday's card in place instead of
committing a blank one.
Run them yourself:
pip install -r requirements.txt
python scripts/generate_header.py n3xtpy
python scripts/generate_neofetch.py n3xtpy
python scripts/generate_heatmap.py n3xtpy
python scripts/generate_langs.py n3xtpy


