Sprue

A community site for scale modellers, written in Go, where members post builds, run competitions, and win trophies they print themselves.

2026Ongoingsprue.uk

Overview

I build scale models, mostly Second World War aircraft. Online, the hobby is spread across old forums and Facebook groups, so I built a site for it. Members post their builds, vote for the ones they like, and start competitions. There is a Discord server alongside it. Hosting is paid for by donations and there are no adverts.

The community page with the featured builds of the last thirty days

Why Go

I wanted to learn a new language and Go interested me. Go's standard library includes an HTTP server, HTML templating, and cryptography, so the whole site could be written without a framework and it compiles to a single binary. Sprue is one Go program with a SQLite database and HTML rendered on the server.

The form for adding a build

Competitions

Any member can start one with a brief, a closing date for entries, and a closing date for voting. It runs itself from there. One entry per builder, one vote per account, and no voting for yourself. The site also runs four of its own each month, all Second World War themed.

First, second, and third place get a badge and a trophy STL to 3D print. I designed the trophies in Fusion 360. Each prints as a small sprue, like a model kit, to cut out, assemble, and paint gold, silver, or bronze.

The competitions page

Stash

Modellers tend to accumulate unbuilt kits faster than they finish them, and the resulting backlog is known in the hobby as the pile of shame. The stash is a private page for keeping track of yours, listing each kit alongside what it cost and how long the oldest has been waiting. From there you can mark one kit as next, set a goal for how many to finish by a chosen date, and when one is done, turn it into a posted build in a single click.

The stash page with model debt and goal

Design

I designed the interface as pixel art to reflect the game-like nature of the hobby. The page sits as a cream panel with dark borders against a sky gradient, and the only accent colours are the blue and red of the RAF roundel. NES.css provides the borders, buttons, and form controls, while the icons, the airplane flair beside members' names, and the trophy badges are SVGs I drew myself on a pixel grid.

Settings with display name and pixel art flair

A Final Thought

I think it is a shame that certain hobbies are dying out. Scale models require a lot of patience, time, and effort to produce something of good quality, and in the accelerated, almost pseudo-cyberspace we are seeing now, I do not know whether those qualities of careful, protracted effort are being cultivated. Sprue alone will not in any way attract more people to the hobby, but I hope it acts as a step towards bringing more people to a great and satisfying pastime.

Built with

  • Go
  • SQLite
  • Docker
  • Railway
  • Brevo
  • Ko-fi
  • Discord
  • Fusion 360

More projects