04 — Projects

Things I've built.

Solo projects

  • Method Cards App

    Inspired by our method cards concept, I built a workshop planner — provide the topic and objectives, then select the methods you'll use during the workshop. The planner generates a PDF with the agenda and timings for you.

    • React
    Visit Method Cards App (opens in a new tab)
  • Podcast Note Taker

    I listen to a lot of podcasts - I was inspired by the Snipd app to create my own version. This app transcribes a podcast, summarises it, extracts key actions with an LLM, and then stores the notes in an S3 vector store to support Q&A using Lex

    • React
    • Lex
    • S3 Vectors
    • Lex
    • Whisper
    • Step functions
    Visit Podcast Note Taker (opens in a new tab)
  • AWS Certification Mentor

    I really should pass the AWS Certified Practitioner Exam! To help me study, I made an app that gets the terms from the AWS docs and creates study flashcards and quizzes. It uses spaced repetition to help me study and remember all the services AWS has! It also updates every week with new terms.

    • AWS
    • React
    • Study Guide
    Visit AWS Certification Mentor (opens in a new tab)
  • Music Genie 2

    We always have music playing in the studio. But its difficult to find a station we all like! So I build a player using Volumio and the Spotify API and Last.FMs similarity engine to play music based on the tastes of whoever is in the office.

    • React
    • Spotify
    • Volumio
    • LastFM
  • Scopewise

    Estimation is a necessary part of project planning but its notoriously hard. Using the principles described in Software Estimation Without Guessing I created a tool to help create a task breakdown, and deliver a quote using risks, unknowns and assuptions to add contingency.

    • Planning
    • Project Management
    • Estimation
    Visit Scopewise (opens in a new tab)
  • Aer Tech Radar

    Everyone loves the Thoughtworks tech radar! We wanted one of our own but the tools they provide to make your own are a bit tricky. So I made one with React that uses JIRA as its backend - that way we can use that to manage its position on the radar, assign it to people, and track any work done

    • Express
    • Lambda
    • CloudFront
    • API Gateway
    • React
    • JIRA
  • Hacker News Digest

    Hacker News Digest

    The Hacker News site is a bit ugly. I wanted a magazine type layout of the top 20 or so stories that I could display on a TV in the office. So I made this.

    • React
    • Static Site
    Visit Hacker News Digest (opens in a new tab)

With a team

  • HeyFlow

    The solution we built for HeyFlow is really three apps in one - one the admins setting up the organisation, one for those taking the survey, and one for the organisation to review the results. The customer was not very technical, so my role was to help define requirements and the solution. I then created the data model on the back end, defined the versioning process, and set up the questionnaires and dashboards. I also wrote the code that calculated the survey results and generated the dashboard

    • Directus
    • Remix / React Router
    • AWS Lambda
    Visit HeyFlow (opens in a new tab)
  • Seren

    Seren by Lumino is an app to support women going through the menopause. It is a designated 'Software As a Medical Device' - we needed to provide full traceability from requirements through to test. I set up Jira to automate the process - including risk management - and wrote the documentation. I also set up the data model in Directus, used to set up clinical trials - while ensuring user anonymity and GDPR compliance.

    • Directus
    • GQL
    • Product Management
    • Systems Analysis and Design
    • AWS
    • SaMD
    • React Native
    Visit Seren (opens in a new tab)
  • Data escape room

    Early versions of the data escape room needed a facilitator to manage the progress of the team. I was brought in to make the experience fully automatic - meaning it needed to be bulletproof. We re-architected the middleware to use Middy, and replaced the pub/sub stack with API Gateway and Web Sockets. We also implemented a fully automated test suite that could simulate multiple players to check that the state machine and game logic was correct. I took the lead on design and delivery of the back end, while helping the front end team integrate with the new architecture

    • Middy
    • AWS Lamba
    • API Gateway
    • Web Sockets
    • DynamoDB
    • CloudWatch
    Visit Data escape room (opens in a new tab)
  • Radioplayer

    When we took on the Radioplayer project, their platform was based on the 'same' software stack written in Java, Tomcat, MongoDB, MySQL and Solr, deployed in multiple AWS accounts, across Europe and North America. I was the only Java developer at Aer so I took responsibility for maintaining the stack as well as being the technical PM and single point of contact with the customer. Our brief was to bed in, then migrate the monolithic platform over to a single federated platform that could be uused by the whole organisation, so that adding new territories was a simple as 'clicking a button'. I led the migration, rewriting the stack in Typescript, moving the data, designing the search service and managing platform reliability. At one point the service supported more then 100 million daily API requests, 3/4 million programmes and podcasts, and 7500 radio stations across the world.

    • Typescript
    • Lambda
    • API Gateway
    • Solr
    • SNS
    • SQS
    • MongoDB
    • Aurora
    • CloudWatch
    • CloudFlare
    • Tomcat
    Visit Radioplayer (opens in a new tab)