Developer
Developer
A large part of my work is on the web, and this involves working with React and Node primarily. With the rise of serverless architecture and my new favourite stack (Jamstack), I work on building fast, efficient and easy to maintain websites for clients using modern tools like Gatsby and NextJS. Have you heard of Redwood? If you have development requirements - get in touch, my team and I specialise in Jamstack solutions utilising serverless architecture.
Here is some of my previous work
Wiserfunding Platform
Wiserfunding, a long-standing client of mine, recently raised their Series A round of funding and wanted to invest in a complete rebuild of their primary product offering - their fintech SAAS which generates proprietary SME risk assessment reports. The founder and CTO approached my team and me to create the UI / UX and build out the front end of the system whilst they handled the back end internally.
We have designed built a completely new and powerful experience for their customers and look forward to working with them on an ongoing basis to support new features and maintenance.
Leave Your Mark
Every Olympic games athlete's that partake are invited to leave their signature on a physical wall somewhere within the Olympic Park. Due to COVID and the Tokyo games this year the World Olympians Association wanted to replicate this experience for all Olympians and create a permenant digital record of all who partook across all games.
This project involved multiple language options (English, Spanish, French), signature capturing technology, data validation, Olympian verfication and typical Jamstack optimisiations. I built the site using React, NextJs and Tailwind with some assistance from Leaflet JS for the maps.
DeZaan
Working for DeZaan I have been helping them add additions to their modern and fast website. They use Jamstack to deploy a global site quickly and effectively and I have spent several months working with them on new pages, functionality and designs.
From drafting CMS data models to managing the implementation of new CSS frameworks and refining legacycode from the previous development team, there are constant requirements to find innovative solutions.
Knorr
I've worked on multiple projects with Knorr creating several internal sites to help them achieve branding and design consistency across their extensive product range. As the websites themselves were advising on the design and branding of Knorr products it was paramount that the sites themselves met and in most cases exceeded the guidelines they were advocating.
Utilising Jamstack technology I created blazingly fast and performative websites for Knorr. Using headless CMS's (Contentful) they could edit and structure the content in anyway they wished quickly and efficiently. It was a modern solution to a traditional problem. The nature of Jamstack sites left them incredibly secure which was important to the Knorr team.
Glass Box
Drafted in as the Jamstack senior on the team I was in charge of making a legacy system talk to a new state of the art front end. We worked to produce a beautiful and performative website for the team at Glass Box. The website uses Gatsby and Wordpress (not a combination I would have recommended but the client insisted).
With many issues in getting WordPress to play nice with its faster usurper cousin, Gatsby we managed to eventually get them to talk to each other and achieve the client's vision. An extensive CMS component construction was required and the team did a tremendous job getting the WordPress side over the line.
Sign Me In Here
Sign Me In Here is a small SAAS project to help venues partake in the NHS Track and Trace program. It provides them with a form builder, unique urls, QR codes, automatically generated posters and a dashboard to check if people have succesfully signed in when they arrive.
Designed and built by me, Sign Me In Here is a serverless application built using React, Firebase, Next JS, Vercel and Stripe.
Prose
Prose is a personal project that I picked up during lockdown. Having always been a little disappointed with the writing experience on most note-taking platforms, I wanted to build something that embodied my prefered writing experience. It is an incredibly clean writing experience designed to get out of the users' way and let them write distraction-free. As well as being able to share documents publically and privately, users can easily connect to their own CMS or use it as an API to deploy their own static sites from the content they write. Publishing your writing has never been a more pleasant and smooth experience.
It is an electron application, with a NextJS web interface and uses serverless MongoDB and Digital Ocean to manage user data and assets. It is currently under development.
A London List
After working with a client on their freelance portfolio, they asked if I could assist with another project they were getting up and running. A London List is a collection of wondrous places in the UK capital helping people pick incredible spots for drinks, dinner, coffee or anything else in between.
Designing and building this more significant Jamstack site involved transitioning data from Notion tables (when will they release their API!) into Airtable and then using GraphQL to connect to GatsbyJS. Instead of launching as an app, I suggested we opt for PWA allowing 99% of the functionality and massively reducing the cost. Modern PWAs are fully installable on a users phone (Andriod and IOS) from the browser. This is an ongoing project future development and improvements are being planned.
Good Good Giving
Good Good Giving is a charity website that lets you enter to win experience by buying tickets. Users can register, sign in, add items to cart, create orders, checkout with Stripe. Along with a large number of admin functions (view orders, users, winners, picking winners, etc.). Further, it used Prismic CMS to add different experiences to the site and control the information displayed on the pages.
This was entirely a Jamstack website creating some exciting challenges interfacing with APIs and managing user authentication. Further, the website was built for a client as part of a team allowing it to be completed quicker.
Kontor
I was subcontracted by an agency to build a modern Jamstack website for their client, Kontor. They had put together designs and had a clear vision of how the end-user would interact with it. My job was to bring their vision to reality, and I worked closely with their designer to do just that.
It involved timing animations and experiences in fitting with the grand vision beyond simple PSD files. They wanted the user to have a specific feeling when scrolling down the page.
Wiserfunding
Wiserfunding is a fintech startup specialising in SME credit risk analysis. I was bought in to redevelop their old Wordpress site into a state of the art stack (Jamstack) and redesign it from the ground up. They had a meagre lighthouse score on their website would take 3-4secs to load on fast internet giving large room for improvement.
While they only required a static site in principle, they wanted a few features that led to me opting to use GatsbyJS and the Netlify CMS to make it editable and maintainable. This resulted in creating a blog like component (for research papers), these link to an email provider allowing a form to automatically trigger an email with the appropriate document. The more advanced functions were achieved using lambda functions to call external APIs along with custom form validation for their multiple signup funnels.
Currikula
Currikula was a react based frontend project that used a graphlql Apollo server in the backend to bring together a series of APIs, some 3rd party but most in-house. It was an essay writing platform with features such as projects, text-editing, grammar suggestions, bespoke feedback on your writing (Inner Text), grade calculation, plagiarism checker, plus many more.
The writing part had a unique design that allowed users to get access to the information they needed when they needed it. For example, accessing notes that they had written (on the platform) without leaving their draft. If they wanted everything to get out the way, they could easily collapse the panel and just focus solely on the writing, an experience that was inspired by Medium. It also had a unique referencing structure and method of implementation. I wrote an internal library that made the process of creating citations far more natural and provided a live view of the final reference to the student.
I was architect and lead developer of the project, producing a vast majority of the code and features myself, but working selectively with freelancers (when funding allowed).
Inner Text
Inner Text is an NLP API I developed to provide analysis of text-based content. Its primary focus was on the student essay market and used mathematically definable rules to assess content and make suggestions on improvements in 26 distinct areas. It also correlated essay statistics and could determine the content subject utilising an algorithm and a series of internally curated word lists.
It used a series of different regexes I designed to pull bibliographical and reference data from the text to provide an understanding of the resources students had used to write their drafts. This data was intended to provide information for a later research phase API that could then give accurate feedback on the most useful resources across a breadth of topic areas.
Speed Reader
While many Speed Reader extensions exist, Currikula's version has a content reducer based on the page rank algorithm initially developed by Google. So not only does it allow you to reduce the time taken to read things by up to 60% on average, it reduces the content you were reading to only the most critical aspects.
Easy Reader
This Chrome extension was designed to help people engage with the text on their browser. Often reading on a screen can cause strain on the eyes, and most of the time, this is not perceptible. This problem is particularly prevalent for those suffering from Dyslexia (which affects around 10% of the United Kingdom and me).
It has features such as reading out loud, content chunking (determining what content to process) and contrast altering.