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, I specialise in architecting solutions for smaller businesses that save you time and money.
Here is some of my previous work
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.
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 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 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 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.
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.
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.