// Personal website of Chris Smith

Projects

These are some of the side-projects I've worked on recently. You can find a lot more on my GitHub profile.

Splendid

// Tags: JavaScript Svelte Cucumber

Webapp for playing board games online. Originally written for playing Splendor, but now aiming to support a variety of games.

Puzzad

// Tags: Go JavaScript Svelte Pocketbase

A web-based, self-paced puzzle hunt. The site is open source: it uses a Go backend and a Svelte frontend. The puzzles are not open source, but there are several 'adventures' available to play for free!

Centauri

// Tags: Go Tailscale ACME Self-Hosting

A simple reverse proxy written in Go, with support for obtaining certificates from an ACME provider. It can also connect directly to a Tailscale network for exposing internal services nicely.

Dotege

// Tags: Go Docker Automation

A tool to generate configuration files based on currently running Docker containers. Originally designed to be used for haproxy, I now use it to generate a configuration file for Centauri.

Contempt

// Tags: Go Docker Automation

Another container templating tool! This one is for generating Dockerfiles (or Containerfiles) that contain up-to-date, pinned dependencies. It can also handle committing those changes to git, and building and pushing the image to a registry.

Goplum

// Tags: Go Docker Self-Hosting

A simple, self-hosted monitoring service. Periodically runs checks and sends notifications when things go wrong.

gitrefs

// Tags: Go Library Git

A small Go library that can be used to list references in a Git repository remotely over HTTP, without the need for a local clone.

envflag

// Tags: Go Library Config

A small Go library that populates flags from environment variables. I use this in most of my Go projects to quickly and easily enable twelve-factor-style configuration.