I'm a developer and love to build innovative software solutions, that meet your business needs. My favourite work is creating simple solutions for complex problems, working in an agile environment; refining, improving code, and learning new technologies.
My favourite language is JavaScript/TypeScript, I have the most experience with it and love the flexibility that a multi-paradigm language provides. As per the JS ecosystem, I'm a big fan of React, Next.js, and Express.
Currently I am a software engineer at Groundsure, working on our NextJs and React applications, which integrate with our NodeJs Express backend with a Mongo database deployed on AWS.
In my spare time you'll find me travelling with my wife, road cycling, mountain biking or playing my guitar.
Experience
Groundsure - from July 2022 to current
Full stack software engineer
New admin system:
- -Replacing legacy admin system with new React application, allowing for better UI/UX for groundsure staff, more functionality, with an easier to maintain and update codebase.
- -Order management for customer services much quicker and easier, faster response times leading to better service generating more sales through retention of customers.
- -We incorporated developer tools to monitor errors in our report generation allowing for better observability of our systems, using NewRelic and AWS queues as part of this.
- -Updated our orders API and pricing model, whilst still supporting some legacy XML orders for customers who have not yet migrated to the new system.
React
StyledComponents
NodeJs
Express
MongoDB
AWS
Serverless
NewRelic
TypeScript
Replacing x2 legacy ordering systems:
- -The business had a need to replace the outdated ordering systems which were written in Java, C# and used SQL Server. The legacy codebase had become unmaintainable having been written by a 3rd party and become outdated. We had to reverse engineer aspects to understand some business logic needed.
- -Re-built the ordering platforms using React, Next.js, Express, MongoDB deployed to AWS. Which created a much more modern, user friendly UX/UI and improved the overall performance of the system.
- -Our reports require drawing on maps, so we built our own mapping library using MapLibre GL and built out our own custom drawing tools for this (such as an auto-fill drawing tool).
- -We also incorporated hundreds of layers for our customers to apply to the map and analyse, such has Flood risks, Radon levels, and many more.
React
Next.js
Tailwind Css
Express
MongoDB
AWS
MapLibreGl
Zustand
TypeScript
New interactive online product - Groundsure Explorer:
- -Building new interactive map, displaying over 50 historic map layers from our in-house records and tile servers. Previously we only provided actual pdfs of the historic maps.
- -Customers can now view their historic maps online to interrogate their sites for potential historic risks.
- -Added the ability to add annotations (Points, Polygons and Labels) to the map which have their own notes and tags.
- -Hundreds of data layers can be applied to the map to allow for location analysis, provided again by our own tile servers.
- -Built back end routes to support this functionality, using Express and MongoDB, so users can save their changes.
React
Next.js
Express
Mongo
AWS
MapLibreGl
Tailwind Css
SST
TypeScript
Turf.js
New report for Australian market:
- -Building a new report which we launched in Australia, highlighting risks regarding property and land purchases.
- -Puppeteer was used on the server for the report generation on the server, hosted on AWS backend, SQS for queueing and processing, and S3 for storage.
React
Next.js
Puppeteer
PostgresSql
Express
Mongo
AWS
MapLibreGl
TypeScript
Maintaining our BAU report generation system:
- -Updating our Ruby based report generation system which is hosted on AWS using docker containers.
- -Ruby PrawnPdf used for PDF generation, with SQS used heavily for queueing and processing.
- -I have taken the opportunity to work on this a number of times to broaden my coding knowledge and experience as well as supporting the business.
Ruby
PrawnPdf
Docker
PostgresSql
AWS
IT Career Switch - from Aug 2021 to Jun 2022
Coding Traineeship – Full Stack Software Developer
Course:
- -During the Traineeship I had to demonstrate a very competent level of the following: HTML5, CSS3, JavaScript, PHP, SQL, Python, Java, C#, GitHub, and more.
- -Passed the Microsoft MTA: Introduction to Programming Using HTML and CSS exam.
- -We incorporated developer tools to monitor errors in our report generation allowing for better observability of our systems, using NewRelic and AWS queues as part of this.
- -Updated our orders API and pricing model, whilst still supporting some legacy XML orders for customers who have not yet migrated to the new system.
HTML
CSS
JavaScript
PHP
SQL
Python
Java
C#
Final project 1 - Gazetteer map application:
- -Creating a “Gazetteer” web app using LAMP stack, using LeafletJs which allowed users to click on countries to find information such as population, currency etc. using API calls to provide this data from a range of sources.
- -Provided multiple other sources of information such as country capital weather, top 5 news articles, and more.
- -I'm a big fan of Formula 1 so I also used the a Formula 1 API (Ergast) to highlight all the races on for the current year and provide other information about these.
LeafletJs
JavaScript
Bootstrap
FTP
PHP
CSS
jQuery
Final project 2 - Company Directory:
- -A user requirements document was needed to be prepared which was checked for sign off, before developing a “mobile first” full stack REST application.
- -Frontend built to add, edit, delete, search and filter company personnel.
- -Backend built to support the above CRUD operations using PHP, MySQL, and a REST API.
- -Rules implemented to ensure delete operations were safe (eg. Employee cannot be deleted if belong to department).
- -Validations implemented on the frontend and backend to ensure data is entered correctly and stored securely.
JavaScript
HTML
CSS
SQL
PHP
LAMP
Bootstrap Css
jQuery