Skip to main content
blog.chobble.com

Play-Test - An open-source app for storing BS 14960 inspections of inflatable play equipment

I worked in the bouncy castle world as a software dev for 10 years before I joined Bandcamp so a lot of the work I've done as a freelancer has been with the companies that I had already had relationships with from that industry.

Back in May I translated a C# desktop app for storing 'Portable Appliance Tests' that fellow industry nerd Spencer Elliott had built into a Rails webapp, named patlog (/blog/25-05-02-patlog/). Our combined skills worked well - Spencer did the hard work of figuring out all of the database columns and validations for each field, and I built on that base to make a simple webapp with a few quality-of-life additions like user accounts and QR codes.

Shortly after I released patlog, Spencer released another C# app under the MIT license - this time for storing bouncy castle inspections and creating PDF reports from them - as Spencer had recently trained as an inspector and found that there was no open source way to create pretty inspection reports and to store past test details to make re-tests faster.

There IS a system for logging these inspections and displaying them online - it's a scheme called PIPA (pipa.org.uk), and I actually built an earlier version of their website / database for them about nine years ago - which was a translation of an Access database in classic ASP to a more modern C# ASP.Net webapp. But the PIPA database is not open source - inspectors / other inspection bodies cannot host their own version of it, and cannot modify the way it works.

So, over the last six weeks-ish, I have been working on a new Ruby on Rails app, Play-Test (play-test.co.uk), which again translates Spencer's inspection storage code. It includes a whole bunch of nice features:

I tried to use a very simple tech stack that will be easy for contributors to get up to speed with. I used Claude Code a lot - with plenty of oversight, which sped up a lot of the boilerplate type code - although I've tried to minimise that too by using helper methods and keeping things reasonably DRY.

I've built it to be very flexible, because once it's stable for BS EN 14960 records I can well imagine users wanting to log inspections for other types of equipment not covered by 14960, like inflatable pillows, or even for other types of regular tests entirely.

A few alpha testers have been using the app and given me some great feedback and bug reports, so I already have a bit of a TODO list building up.

The code is on Github here and mirrored to my Forgejo forge here. I was hoping to host everything on my Forgejo first, but I've had a hard time getting actions to behave reliably, but they're always 100% on Github. I might try again in the future.

In terms of hosting - you can host it yourself using Docker or however else you fancy, or you can contact me to pay for hosting on my official instance at play-test.co.uk. Pricing is subject to change, but at the moment I'm asking for £5 a month to store unlimited tests - with one image per test. You can also contact me to arrange hosting an entire instance for you with admin access, if you're from a testing body perhaps?

So if you happen to be a involved in the bouncy castle inspection world, and you're looking for an open source way to store your records, check out Play-Test at play-test.co.uk!