Consulting
I provide consulting services on a wide range of software engineering solutions. I specialise in functional programming languages, backend infrastructure and database engineering.
Please feel free to contact me for a quote, or a discussion about how I can assist your team with your software solutions.
Current clients
-
Route2 Sustainability is an ESG accounting company that has developed a sustainability metric called Value2Society. This system enables businesses to quantify their use and investment in different capital stock throughout their value chain. By integrating client data with a large corpus of academic research and data, Route2 guides businesses toward sustainable models.
Route2 is currently in the process of transitioning from a consultancy to a more software-oriented business model. This involves encoding domain-specific knowledge using an internal DSL and rules engine. The backend engine is responsible for parsing, validating, evaluating, and reporting on the accounting indicators written in this DSL.
As head of development at Route2 I lead the software side of the company. This has included:
- Developing the DSL used internally, as well as the Haskell rules engine which processes scripts written in the DSL.
- Revamping the entire backend, including the introduction of a PostgreSQL database which increased performance by a factor of more than 100.
- Manging the DevOps pipeline, using GH actions, AWS, and Nix, which I introduced to the codebase.
- Designing the backend of the client-facing website.
- Development of CLI tools used internally, working with coworkers on other teams and responding to feature requests.
- Introducing automated test suites for the entire codebase.
- Working with external contractors to develop the frontend of the website.
Former clients
-
CentralApp is a Belgian company that develops SaaS solutions for SMEs. They offer a smart website builder, local SEO, and other useful solutions for restaurants, hotels and other small businesses to expand their customer base.
By taking advantage of the excellent safety guarantees offered by the Haskell type system, and a bespoke asynchronous API gateway for distributed architectures, the CentralApp engineers have easily scaled their infrastructure to support over 4,000 companies and serve over 1,000,000 API requests per hour.
They also build and deploy their entire infrastructure using Nix, which provides excellent reliability, reproducible build environments, and atomicity.
During my time working with CentralApp, some major projects that I led or directly contributed to included:
- Automating the purchase and transfer of client domains, saving Customer Service a lot of time in the onboarding process.
- Hunting down and fixing a memory leak in the asynchronous API gateway which was causing random outages.
- Upgrading the entire codebase from GHC 8.6.5 to 9.6.5.
- Adding support for WebP images to the CRM, reducing S3 storage requirements by up to 70%.
- Several major improvements to the CICD pipepline, including automatic deployment to the staging environment; automatic validation of AWS ECS task definitions; deploying Lambdas on AWS using Nix and Docker; and much more efficient caching of Nix build artifacts.
- Automatic derivation of Opaleye (PostgreSQL) instances using Template Haskell, saving a lot of error-prone boilerplate.
- Implementing type-safe DNS records, which gave stronger guarantees for client domains.
- Integrating a new analytics provider into the user interface.
- Numerous enhancements to the CRM and API.
- Several integrations with 3rd-party APIs, such as AWS, Google, Meta, Instagram, Pirsch and Partoo.