Projects I'd be interested in working on

  • ⚽ Football Applications

    I am a huge fan of football and I would love to work on anything football related.
    Player scouting, training, and progress tracking are some of the areas that I would enjoy working on.

  • 🥃 Whisky and/or Beer

    Living in an area surrounded by distilleries, I have developed a taste for whisky and craft beers.
    Distillery operations and distribution management are areas of particular interest to me.

  • 🚀 Space tech

    Scotland now has 5 spaceports which undoubtedly means there are companies and industries near by.
    Who wouldn't want to work on space tech? This industry certainly has the wow factor.

  • 🏨 Hospitality

    My career background is in hospitality and I have a lot of experience in the industry.
    There are so many areas that could be improved with technology. Hotel operations and guest experience are just a couple of examples of projects that would interest me.

Previous Projects

  • Apply for Initial Teacher Training

    A GOV.UK service handling thousands of teacher training applications annually. Built with Rails, following government digital service standards. Focus on accessibility, performance, and maintaining uptime during peak application periods. Currently leading technical direction across the service and related recruitment tools.

  • Core EdTech Platform

    Core application platform for the education technology market. Architected from scratch with Rails, establishing patterns and practices that would scale. Built the technical foundation including testing frameworks, code quality standards, and deployment pipelines.

  • Government COVID Business Loan Processing

    Loan processing system for administering government-backed COVID business loans. The interesting challenge was adapting the system rapidly as pandemic policies changed - requirements were shifting weekly. Built with Rails, focusing on getting critical funding to businesses quickly while maintaining data integrity and audit trails.

  • Fast Food Drive Thru

    Multi-application Rails system for a major restaurant chain's drive-thru operations. Multiple interconnected Rails apps handling ordering, payment processing, kitchen displays, and order tracking. Used HOTwire for real-time updates across all interfaces. The challenge was coordinating state across multiple screens and systems while maintaining responsiveness.

  • Remote Device Control

    Real-time classroom collaboration system. Rails backend with WebSocket-based frontend for multi-screen sharing. Integrated with IoT services to handle classroom hardware. The interesting bit was keeping everything in sync across multiple screens with minimal latency. ## Technology - Ruby on Rails - Action Cable - StimulusJS - Azure IoT Hub - WebRTC ## Problem School teachers were struggling to manage students' devices in a classroom environment. Schools were using a variety of devices, including Windows, Apple, Chrome and Android devices. ## Solution Researched and developed a solution to allow teachers to control student devices remotely. The web interface would allow teachers to see the student's screen, lock the device, send messages and control the device. ## Result ### Business An elegant, real-time solution was delivered, allowing teachers to manage student devices in a classroom environment. Supporting a variety of devices, the solution was well received by teachers for its ease of use. ### Tooling The web UI was built using Rails, with Action Cable providing the real-time communication between the teacher and student devices. HTML partials were used in the main UI as well as updates received over Action Cable. StimulusJS was used to coordinate the UI updates and the Action Cable messages. Minimal UI updates were required, allowing for a fast and responsive UI. WebRTC was used to stream the student's screen to the teacher's device. This allowed the teacher to see the student's screen in real-time, allowing for better support and control of the student's device. The communication between the Rails server and the student devices was managed by Azure IoT Hub (Device Twin). This allowed for a secure and scalable solution, supporting a large number of devices.

  • Child Safeguarding Software

    Full stack Rails application for educational institutions handling sensitive child protection data. Led a complete frontend redesign while keeping the system running in production. Launched a free version during COVID-19 to support schools. The trickier work was refactoring the domain model as the product evolved from MVP to enterprise software.

  • Customisation of Dynamics365

    Contributed to the building of development tools to aid the development and deployment of Angular based frontends to the Microsoft Dynamics 365 platform. ## Technology - Typescript - Angular - MS Dynamics 365 ## Problem A multi-national contractor was responsible for council properties across the country. They had heavily invested in MS Dynamics 365 to run their business, including maintenance tracking, engineer time tracking and invoice generation & tracking. Employees had raised concerns over the number of custom fields being added to the system, resulting in large forms with many irrelevant fields. ## Solution Design and build custom screens, that would integrate seamlessly with the existing infrastructure. The screens would be created to only show the required fields and add additional functionality, i.e. automatically updating invoice pricing. ## Result ### Business The cleaner invoice creation screens allowed the organisation to reduce the number of errors while creating invoices. On-boarding and training for roles using these screens would also be reduced due to the intuitive nature of the designs. ### Tooling A Typescript based parser was created to map entities from Dynamics 365 to Typescript interfaces. The creation of a tool to automatically upload all files created from the Angular project to Dynamics 365 was also delivered. At the time Dynamics 365 would only allow single files to be uploaded at a time. Both of these tools were subsequently used on other Dynamics 365 integration projects, allowing the agency to take on other Dynamics 365 customisation projects