Projects
Here are some of the projects I've worked on over the years.
kiln
Static site generator
Kiln is a simple static site generator for sites with multiple output formats. It sports an extensible content-agnostic design which can be used to generate content of any format.
go-gemini
Gemini client and server library
go-gemini is a Go client and server library akin to net/http for the Gemini protocol.
go-gemini powers srht.site, flounder.online, and midnight.pub, among others.
astronaut
Gemini terminal web browser
Astronaut is a terminal web browser for browsing Gemini websites. It supports tabs, bookmarks, full-text page search, custom keybindings, custom stylesheets, and quick navigation with link labels.
GoDocs.io
Go package documentation website
GoDocs.io is a maintained fork of the discontinued GoDoc.org website. I refactored the website to support Go modules, Go's new dependency management system.
SourceHut GraphQL support
NLnet grant
As part of a year-long effort, I worked on improving GraphQL support for the SourceHut open source suite of software development tools.
This work was made possible thanks to a NGI Zero Discovery grant from the NLnet Foundation. Progress was documented in monthly status updates on the SourceHut blog.
thistle
GraphQL federation gateway
Thistle is a GraphQL federation gateway which aggregates multiple GraphQL endpoints into a single GraphQL API. It supports a subset of the Apollo GraphQL federation specification.
The goal of this project was to research the viability of implementing GraphQL federation across the SourceHut suite of services without using Apollo's closed source federation gateway.
Source code