[ Case Study · Open-Source Catalogue ]

Git Arsenal

Every repository on a GitHub account, turned into a searchable, themed catalogue with a page per project — a Next.js 16 site that refreshes itself from the GitHub API, with no database and no CMS.

Client
In-house product
Engagement
In-house product: design, data pipeline and front-end build
Disciplines
Product · Web Design · Next.js · GitHub API
Year
2026
Live
git.mrzakaria.com
Git Arsenal home page with the headline The Open-Source Arsenal, counts of 606 repos and 37 languages, a search bar and tag filters — light modeGit Arsenal home page with the headline The Open-Source Arsenal, counts of 606 repos and 37 languages, a search bar and tag filters — dark mode
01 · Overview

Six hundred repositories, one front door.

Git Arsenal is a branded catalogue of everything on MrZaKaRiA's GitHub account, built by RAIN as an in-house product. Over the years that account had grown into a personal library of hundreds of open-source tools: self-hosted platforms, AI projects, frameworks, admin templates and utilities, most of them forked to keep a copy close at hand, plus the owner's own projects. GitHub's repository list is a poor way to browse a library that size. It shows names and one-line descriptions, with no screenshots, no sense of what each tool replaces, and a README buried below the file tree. The brief was a front door to that toolbox that looks like the studio, finds anything in a few keystrokes and keeps itself up to date, with no database, no CMS and nobody re-entering data. It runs at git.mrzakaria.com under the name "MrZaKaRiA Git — The Open-Source Arsenal".

Under the hood, Git Arsenal is a Next.js 16 and React 19 site whose only data source is the GitHub REST API. A server-side pipeline pages through every public repository on the account, up to a thousand, and turns each raw record into a catalogue entry: a readable display name, tags drawn from GitHub topics, the primary language and a keyword map, a language colour, and optional hand-curated notes for the tools that matter most, such as which commercial products they are an alternative to. The home page is a searchable, filterable grid; every repository also gets its own page with stats, alternatives, an image gallery taken from its README, and a tabbed reader for the README, licence, contributing guide, code of conduct and security policy. Pages are generated statically and refreshed with incremental static regeneration, plus a weekly Vercel Cron call to a secret-protected revalidation endpoint. Most of the engineering went into API economy, so a catalogue of six hundred repositories stays inside GitHub's rate limits. The interface follows the studio's own visual language: near-black or near-white, an electric-lime accent and frosted-glass panels, in light, dark and system themes.

By the numbers
606

Public repositories catalogued

37

Programming languages

89

Filter tags, generated automatically

35

Commits, June to July 2026

02 · Architecture & Design

Six systems that turn raw GitHub data into a catalogue, and six that keep it fast, cheap and on-brand.

01

GitHub as the only source of truth

There is no database and no CMS. The server pages through the account's public repositories, 100 at a time and up to 1,000, sorted by last update. Pushing to GitHub is the only way content gets in.

02

An enrichment layer

Raw repository JSON becomes a catalogue entry with a display name, tags, a language colour, a category, a short description, licence, stats, dates and flags for forks, archived repos and featured picks.

03

Names people can read

A formatter splits slugs on dashes, dots and camelCase and keeps 43 known acronyms in capitals, so "crawl4ai" reads Crawl4AI, "open-webui" reads Open WebUI and "twentyCRM" reads Twenty CRM.

04

Tags that write themselves

Each repository's GitHub topics, its primary language and a 36-entry keyword map (self-hosted, LLM, scraping, CRM, PDF…) produce its tags. Hand-written tags from the config file merge in on top.

05

Curation where it counts

A typed overrides file lets the owner rename a repository, set its tags, flag it as featured, and list the products it is an alternative to, such as Vercel, Heroku and Netlify for Coolify. Manual values always win.

06

README mining

A lightweight parser reads GitHub's rendered README to pull the first real paragraph as the summary (skipping badge rows) and to collect screenshots for the gallery, filtering out shields and status badges.

07

Static pages that refresh themselves

The home page and repository pages are generated ahead of time and served from cache. Incremental static regeneration rebuilds them in the background: weekly for the home page, hourly for repository pages.

08

A weekly refresh, on a schedule

A Vercel Cron job calls a revalidation endpoint every Sunday at midnight. The endpoint clears the GitHub cache tag in one go and refuses to run in production without its secret.

09

API economy

The home list makes no per-repository calls, and READMEs load only on project pages. The licence, contributing guide, code of conduct and security policy are found with one Git Trees request instead of one per file. Only the top 15 project pages are built in advance.

10

Never an empty page

If GitHub is unreachable or the rate limit runs out, the site falls back to a small built-in sample set and shows a clear "Sample data" banner instead of a blank grid or an error.

11

READMEs that look like GitHub

The site shows GitHub's own rendering of each README, restyled with github-markdown-css and re-mapped to the site's colour tokens. Relative and blob image paths, including themed picture tags, are rewritten to raw URLs so screenshots load.

12

The studio's look, in three themes

The near-black or near-white base, electric-lime accent, glass panels, film grain, drifting colour blobs and a slowly rotating globe come from RAIN's own design language. Light, dark and system themes are one tap apart.

03 · Everything inside

A catalogue, a reader and a refresh loop, with no back office.

Everything needed to turn a GitHub account into a site people can browse, and to keep it current without anyone touching it. Hover any capability for what it does.

Catalogue home06
  • Live counts
  • Instant search
  • Tag chips
  • Language filter
  • Four sort orders
  • Empty state
Repository cards06
  • Social-card artwork
  • Language and fork badges
  • Tag preview
  • Rivals line
  • Stars, forks, last push
  • Hover call to action
Project pages06
  • A page per repository
  • Breadcrumbs and dates
  • Overview with alternatives
  • Source and website buttons
  • Repository stats
  • Fork and archive flags
README reader05
  • GitHub-styled README
  • Community-file tabs
  • Load on demand
  • Image path repair
  • Smart links
Gallery03
  • Screenshots from the README
  • Badge filtering
  • Lightbox
Enrichment06
  • Display-name formatter
  • Automatic tags
  • Language colours
  • README summaries
  • Curated overrides
  • Licence detection
Data & caching06
  • Paginated GitHub fetch
  • Incremental static regeneration
  • Top 15 pre-built
  • Tagged cache
  • Weekly cron refresh
  • Secret-protected revalidation
Resilience04
  • One-call file check
  • READMEs per page only
  • Optional access token
  • Sample-data fallback
Theme & motion06
  • Light, dark and system
  • Electric-lime accent
  • Glass navigation
  • Grain and colour blobs
  • Rotating globe
  • Reduced-motion support
SEO & analytics05
  • Title template and canonicals
  • Open Graph and Twitter cards
  • Per-project metadata
  • Vercel Analytics and Speed Insights
  • Google Analytics
Mobile03
  • One to four columns
  • Slide-over menu
  • Swipeable tag strip

56 capabilities. No database, no CMS, and GitHub as the single source of truth.

04 · How it competes

GitHub's data, presented like a product.

A GitHub profile is complete but hard to browse. Curated lists and directories are easy to browse but have to be maintained by hand. Git Arsenal sits between the two: it updates itself from GitHub and presents the result as a branded, searchable catalogue. Marks for other options reflect their standard offerings in general terms.

vs. a GitHub profile
Same data, but browsable: tag chips, artwork on every card, the products each tool replaces, and the README first on every project page instead of below the file tree.
vs. "awesome" lists
No pull requests to keep it current. Fork or create a repository and it appears in the catalogue after the next refresh, with stats, tags and a page of its own.
vs. AlternativeTo & OpenAlternative
A personal, curated toolbox on your own domain: only the tools you actually keep, with the source one click away.
vs. portfolio generators
Designed rather than templated. The studio's own visual system, three themes, README reading with community-file tabs, and caching built for hundreds of repositories, not a dozen.
Feature-by-feature
Git ArsenalGitHub profileAwesome listsAlternativeToPortfolio generators
Updates itself from GitHub✓✓——○
Search across every repository✓✓○✓○
Tag chips across the whole set✓—○✓—
Artwork on every card✓——✓○
"Alternative to" notes✓—○✓—
README on the project page✓✓——○
Licence and contributing tabs✓✓———
Your own brand and domain✓———✓
Light, dark and system themes✓✓○○○
No database or CMS to maintain✓✓✓—✓
✓ included  ·  ○ partial / paid add-on  ·  — not available
05 · Outcome

A toolbox of six hundred repositories that updates itself every week.

Git Arsenal turns a GitHub account that had become too big to browse into a catalogue that is quick to search and good to look at. Nobody maintains it: forking or publishing a repository is the whole workflow, and the weekly refresh does the rest. Curation is a short config file, used only for the tools worth highlighting. Visitors get one consistent page per tool, with what it does, what it replaces, how active it is, its licence and its README, in the same visual language as the studio's own site.

The site was built in about five weeks of commits, from 20 June to 23 July 2026, and deployed on Vercel at git.mrzakaria.com. The July work was mostly about scale: as the account grew past five hundred repositories, README calls moved off the home page, community-file checks collapsed into a single request per repository, and pre-rendering was capped at the top 15 projects so builds stay inside GitHub's rate limits. On 2 October 2026, a run of the production build refreshed from the public GitHub API catalogued 606 public repositories in 37 languages under 89 tags. 590 of them are forks of open-source projects by other teams, kept as a working library, and 16 are the owner's own. No traffic or performance figures are published, so none are claimed here.

Git Arsenal — FAQ

Git Arsenal is a branded catalogue of every public repository on MrZaKaRiA's GitHub account, built in-house by RAIN Design Studio in Casablanca. It turns hundreds of repositories into a searchable grid with a page per project, and it runs at git.mrzakaria.com.

Only from the GitHub REST API. There is no database and no CMS: the site fetches every public repository, enriches it with a readable name, tags and a language colour, and reads each README for a summary and screenshots. A short config file adds hand-written notes, such as which products a tool is an alternative to.

Pages are generated statically and refreshed with Next.js incremental static regeneration. A Vercel Cron job also calls a secret-protected endpoint every Sunday to refresh the whole catalogue, so a newly forked or published repository appears within a week without anyone editing the site.

No. Most entries are forks of open-source projects by other teams, kept as a working library, and the cards and pages label them as forks. RAIN designed and built the catalogue itself: the data pipeline, the interface and the caching.

The home page makes no per-repository calls, READMEs load only on project pages, community files are detected with one Git Trees request per repository, and only the top 15 project pages are built in advance. If GitHub is unavailable, a small sample set and a clear banner keep the site presentable.

Yes. The same approach suits a company's open-source portfolio, a developer-relations hub or an internal tool directory. Book a free 15-minute call to scope it; custom projects start at $10,000.

Want a product like this?

Websites from $7,500, website + SEO $15,000, custom builds from $10,000 — all on the RDS Engine. Kickoff within 3–5 business days.