Portfolio

HORSE

The web UI for HORSE, a staff rostering application

HORSE is my latest personal project, written to assist an NHS department with staff rostering. Since it was not possible to install software on-site, I created a web-based application to manipulate the Excel spreadsheet that the department use for rota planning.

The actual planning is performed by Optaplanner, an open-source, constraints-based optimising program. This forms the heart of a Spring Boot-based server, written in Kotlin and running in Ubuntu on an AWS Lightsail instance. The front end is written in TypeScript using the React framework. It provides the UI illustrated above and does the donkey work of reading and writing the Excel files selected by the user for planning.

The source code for the HORSE server and client programs are available at my GitHub account.


CSGObot

The web UI for CGSObot, showing the settings panel and messages window

I wrote CSGObot as a favour for my teenage son during the first lockdown last year. It has a Vue front end that receives WebSocket messages from a local server. The server is written in JavaScript and runs on the Node.js Express framework. It uses the Puppeteer library to run a headless Chrome instance which interacts with the various websites to determine which CSGO skins to buy.

The source code for the CSGObot server and client programs are available at my GitHub account.


TBooks

The TBooks UI showing the dialog for entering a new translation job

TBooks is a stand-alone data storage and invoicing application that I wrote, in Python, to assist me with the administration of my technical translation business. It uses wxWidgets for the UI and stores its data in an SQLite database. The SQLAlchemy ORM is used to simplify communication with the database.

The source code for TBooks can be viewed and downloaded from my GitHub account.


FineTime

The UI for the FineTime timetabling application

FineTime is a stand-alone school timetabling application that I wrote and marketed during my time as a self-employed software developer between 2004 and 2006. It was written in Python and used the wxWidgets toolkit for the UI. FineTime was available for Windows and Linux.

The original website that I created to market FineTime is preserved here for posterity, unchanged apart from the conversion of Server Side Includes (not supported by my current host) to PHP commands. You can still download FineTime from the site, and it even runs on Windows 10, rather to my surprise!