Index · Open Source
Ten months inside
one production codebase.
OpenPrinting maintains the printing stack used by every Linux desktop. Its website was being rebuilt from Jekyll into a statically exported Next.js site on GitHub Pages. I joined the rebuild as a contributor in November 2025 and stayed through Google Summer of Code 2026.
“Author system, content migration, site search, and the homepage.”
— OpenPrinting Hall of Fame


OpenPrinting · The Linux Foundation
openprinting.github.io
01 — Hall of Fame
Credited on the
site itself.
This is the real OpenPrinting Hall of Fame page, embedded live. Scroll inside it to find the entry, or open it in a new tab.
02 — Live in production
The search, the homepage,
the posts.
All of it is live on the OpenPrinting website. The search in its header runs a build-time index in the browser with no search server. The homepage layout and the author cards on every post are also mine.
03 — Pull requests
Reviewed, merged,
and still open.
14 pull requests merged through maintainer review. The site was rebuilt in a staging repository and promoted to production, so 13 of them were reviewed and merged there and now appear in the production repository’s history under my name; the trailing-slash fix and the GSoC work went straight to production.
Author system
A reusable AuthorCard component and its integration into every post.
Content migration
200+ Jekyll posts moved into Next.js with frontmatter, media and legacy URLs preserved.
Site search
A build-time AST index queried in-browser by MiniSearch. Live in production, no search server.
Homepage and theme
The rebuilt homepage, author avatars on the front page, light-theme fixes, and the GSoD page.
- merged#13Make homepage fully functional and align with current OpenPrinting sitestaging → production
- merged#51Update author avatars in blog post author boxesstaging → production
- merged#52Add author avatars to front page news boxesstaging → production
- merged#53Improve hero banner appearance in light themestaging → production
- merged#58Complete and finalize GSoD page with content, routes, and componentsstaging → production
Trailing-slash root cause
Production 404s, including RSS links consumed by LWN, traced to a deploy-time action generating a config that overrode the repository’s. Fixed, with a CI check that blocks broken internal URLs.
Google Summer of Code 2026
The recommendation pipeline, the natural-language assistant, and their documentation. Open for upstream review.
- open#224Printer compatibility recommendations for the Foomatic directoryOpenPrinting/openprinting.github.io
- open#230Add a site-wide natural-language printer assistantOpenPrinting/openprinting.github.io
- open#236Document printer compatibility recommendations for the Foomatic directoryOpenPrinting/openprinting.github.io
04 — Timeline
- Nov 2025
Author system merged
A reusable AuthorCard component and its integration into the post layout.
- Dec 2025
Migration of 200+ posts from Jekyll merged
A Node script handling frontmatter, media assets and redirects that preserve legacy URLs.
- Mar 2026
Build-time indexed search, live in production merged
A unified/remark AST pipeline compiles every post into a static JSON index, queried in-browser by MiniSearch. No search server.
- May – Aug 2026
Google Summer of Code 2026 · OpenPrinting, The Linux Foundation under review


Printer recommendations and a natural-language assistant: explainable similarity over 6,657 printers; a deterministic assistant that reports data gaps instead of guessing. PRs #224, #230 and #236 (documentation) are listed below. Case study →
- Aug 2026
Trailing-slash root cause and a CI URL check merged
Production 404s, including RSS links consumed by LWN, traced to a deploy-time action generating a config that overrode the repository’s.
05 — Certificates
On paper,
too.
Click either certificate to view it at full size.


