PROJECT // 2026-05

Zero-Maintenance Portfolio

Turning my GitHub repositories into a decentralized, self-updating CMS for my personal site.

01 - Overview

I used to hate updating my portfolio. Every time I finished a project, I had to manually copy over descriptions, update the site, and push new code just to add a single entry. Because it was tedious, my portfolio was usually out of date.

I wanted to fix that, so I decided to build a portfolio that updates itself.

02 - The Core Idea

I believe the best place for project documentation is right next to the code itself. Instead of setting up a traditional database or CMS, I designed this engine to treat my existing GitHub repositories as the database.

The website you're looking at right now is completely stateless. It doesn't store project or research data. It just grabs markdown from GitHub repositories, validates it, and renders it.

03 - How It Actually Works

The goal was to never have to touch the main portfolio code just to add a new project.

Now, when I want a project to show up here, I just add the portfolio topic to its GitHub repository. During the build process, the site uses the GitHub API to find any repo with that tag, pulls down its portfolio.md, validates it, and generates the page.

Research follows a different contract. Instead of living in scattered writeups/ folders, it lives in a dedicated research repository where each topic directory has its own README.md. Only topics marked portfolio: true are surfaced publicly.

04 - Some Cool Details

  • Strict Validation: To make sure the site doesn't break and everything looks consistent, I wrote up a set of Content Laws. Projects and research entries both have to pass their own contract, or they won't be included in the build.
  • Fast by Default: I made sure all the heavy lifting (like parsing markdown and highlighting code snippets) happens during the build step. The live site is just static HTML, so it loads instantly.
  • Handling Failures: Since this whole thing relies on the GitHub API, I built the pipeline to gracefully handle rate limits and network errors so the site never goes down.

If you want to see how it all fits together, the main repository is here: Source Archive →

SHEDRACKGODSTIME
[ALIAS: kristency]

A security practitioner learning through research and hands-on building.

© 2026 Nigeria / Global