I’ve benefited from open source for years without ever being able to contribute back to the community. Not because I didn’t want to, but because I never felt productive enough to build something worth sharing. I felt like a freeloader. Could AI tools finally change that?
After creating a GitHub styled activity tracker for my Hugo website I was wondering if I could also make this component in a more generic way so it could be an open source component for other Hugo users to implement.
My first steps were to turn this personal usage component into something more generic that anyone could use. So I had Codex strip out all of the things specific to my website and experiments, making things like colors, labels and data sources configurable.
What I didn’t expect was the repository structure. Codex didn’t just refactor the code, it included a full example site showcasing every option. Cleaner than I’d ever manage on my own.
I asked whether this was good enough to get listed in Hugo’s public themes directory. This was not the case. So Codex went through all of the documentation for submissions of custom components and it made a plan to tick off all of the requirements mentioned. Then it started doing its thing.
The current submission guide says a listed package needs, at minimum:
- a root hugo.toml with [module.hugoVersion]
- a root theme.toml with metadata
- a README.md
- images/screenshot.{png,jpg} and images/tn.{png,jpg}
- an open-source license
- then a PR adding the repo URL to themes.txt
We didn’t have all of these things yet, but of course Codex, being ever the eager overachiever, started creating everything right away.
It just decided the submission needed a screenshot, spun up the example site, and used Playwright to take one. I was mostly just watching in awe at this point.

I tweaked a few things to make the component screenshot look like a real use case with multiple entries for the activity, but then it all worked fine and I got my last question:
One assumption I made: I used the MIT license. If you want a different license, that should be changed before the PR is merged.
The MIT license was fine for this project, so I kept it.
Then a pull request was made to gohugo.io GitHub to request inclusion of the component in Hugo’s public themes directory.

Now we are in the hands of the open source gods I have always looked up to, to wait and see whether my pull request will get accepted. I will update this post when I receive a response from the repository owner.
Key Insight:
Gratitude alone is not enough to give back to the community. I wasn’t capable of building something I felt met the quality bar. AI bridged that gap.