Portfolio

Below are some of the projects I have worked on, both personal and professional. I have included links to the source code where possible, and a link to the live version of the project if available.

I have worked on a number of projects over the years, some of which are listed below. I have also worked on a number of projects for clients, but due to restrictions I am unable to share these. However, I can provide references if required.

Flutter

Pension Compare
A mobile app to help compare the performance of multiple pension plans. The app uses an encrypted SQLite database to store the data and Riverpod for state management.

Google Play Store

Flutter Riverpod Sqlite
Bin Reminder
A simple mobile app to provide reminders when bins are due to be collected. Stores data on the device in sqlite and uses local notifications to remind the user. Read more in this Blog Post.

GitHub

Flutter Sqlite

React

Best Price Calculator
A webapp to help calculate the best value item for products with different prices and sizing.

GitHub See on the web

React Typescript PWA
Word Helple
A webapp to help solve Wordle and similar online word quizes.

GitHub See on the web

React Typescript

Code Challenges and Tech Tests

DNS Forwarder
This is a simple DNS forwarder that forwards DNS requests to a specified DNS server (in this case Google DNS servers). This is part of the code challenge to Build Your Own DNS Forwarder by John Crickett.

GitHub

Java Code Challenge
Short Url WebApp
A springboot web api that encodes a url into a short representation, and decode it back to the original url. Browsing to the short url redirects to the original url. This was part of a tech test for a software developer interview.

GitHub

Java Springboot Tech Test
Random Joke Website
A node.js web app that displays a random joke and the punchline. The jokes are fetched from a json file and stored in a MySql database. This was part of a tech test for a software developer interview.

GitHub

Node.js Javascript MySql Tech Test