Let's grow something great together

Sakura tree

Services

Frontend development services

Frontend development

Web site and single-page application development using React and TypeScript, with experience in various libraries and frameworks.

Full stack development services

Full stack web development

Traditional server-based development of web sites, applications and web services, integrating with anything from a back office system to social networking APIs.

Software engineering services

Software engineering

Test-Driven Development, with dependency injected code, SOLID principles. Automated unit and integration testing. Experience of working with NoSQL databases and faceted search systems. Software architecture skills including performance optimisation.

We can also help out with...

Automated build services

Automated build and deployment with TeamCity and Octopus

APM services

APM and site performance improvement

Website analysis services

Web site usability and competitor analysis

Skills

React.js
Typescript
Next.js
Tailwind
Testing library
Cypress
StorybookLogo
ASP.NET

The full list

Frontend

  • React.js
  • TypeScript
  • Next.js
  • Tailwind
  • Styled Components
  • Storybook
  • Tanstack Query
  • Redux and Mobx
  • Material UI
  • AngularJS 1.x

Backend

  • Next.js
  • Express.js
  • Node.js
  • ASP.NET MVC
  • ASP.NET WebAPI
  • Castle Windsor, Autofac
  • RabbitMQ and MassTransit

Databases

  • MongoDb
  • Redis
  • SQL Server
  • MySQL
  • Endeca
  • Fredhopper

Testing

  • Jest
  • React Testing Library
  • Cypress
  • Moq
  • Karma
  • Enzyme
  • Nunit

Recent projects

Client Portal development

Jan 2022 - Jun 2023

Built a new application and component library from scratch. Heavily involved in the design of the security for the application, including moving the application from a regular SPA to next.js to provide a backend and solve security issues around authentication token storage. Was a key factor in ensuring UI consistency as the project progressed. Assisted with .NET Core API work where necessary to remove blockers due to resource issues. Component library used TailwindCSS, Headless UI and Heroicons.

  • Took a brand new application from concept to production
  • Built a new component library for current and future projects
  • New e2e testing suite built with cypress
  • Extensive use of Tanstack Query with mutations to cache as much data as possible to offset response times
React, Next.js, TypeScript, React Testing Library, TailwindCSS, Cypress, Tanstack Query
Azure

Equities trading application

Jan 2021 - Nov 2022

Senior developer on a small frontend team, building new features and platform improvements to a complex application used by securities and options traders.

  • Improved usability of core components
  • Took ownership of a new forms framework, and made it production-ready
React, TypeScript, React Testing Library, SCSS

Micro-frontend dashboard

Jun 2020 - Jan 2021

Built a new dashboard for a SAAS delivery platform. Created a new micro-frontend shell - initially using a beta version of Webpack 5 Module Federation. Defined an interface for apps operating within the shell, and delivered hosted apps that presented a set of graphs and forms for managing data.

  • New micro-frontend framework build with Webpack 5 Module Federation
  • New component library using Storybook
  • OAuth authentication system using secure PKCE code flow
React, React Testing Library, Micro-frontends, styled-components, Storybook
Azure

React.js HR Application

Jun 2018 - Apr 2020

Front end work on a SAAS HR application over a period of nearly two years. Initial work was focused on migrating Angular 1.x code over to React. Later work involved major new features, and contributions to the UI of the application.

  • New feature development in React using context and hooks
  • Tests written in RTL
  • Porting over old parts of app written in Angular 1.x
  • In-house component library development
React, React Testing Library, Cypress, styled-components, MobX

React.js Customer Engagement application

Jan 2017 - Jun 2018

Full stack work on building a complex application to manage multi-channel social media interactions in real-time. Components tested with Enzyme. Use of Redux to store application-wide state and respond to events

  • Integration with Twitter, Facebook and other common platforms
  • Built a telephony integration feature with Twilio
  • Added phone tree support using Twilio integration
React, Redux, Enzyme, Material UI
C#, RabbitMQ, WebAPI
MongoDb

Asynchronous Angular Single-Page Application

Sep 2016 - Jan 2017

Full stack work on a heavily asynchronous application that makes extensive use of message queues, microservices and WebSockets (SignalR). Work includes new feature development and significant enhancements to an in-house WebChat application.

AngularJS, TypeScript
C#, RabbitMQ, WebAPI
MongoDb

Distributed REST API architecture

Apr 2016 - Aug 2016

Full stack work on enhancements to a distributed system comprised of multiple .NET Nancy applications providing a REST API.

  • Front end components were built with Bootstrap and Knockout.js, with jQuery to call JSON services.
  • Backend development involved replacing nHibernate with Dapper, performance optimisation and cache invalidation.
Knockout.js, Bootstrap
C#
SQL Server

Angular single page intranet application

Oct 2015 - Apr 2016

Created a modern, attractive intranet application for managing an ecommerce web site, using a combination of AngularJS 1.4, TypeScript and Bootstrap.

  • Single-page application using routing, templates, custom directives and filters
  • Architected as an API-first application - any action performed in the GUI can be achieved using a HTTP call to a REST API
  • Backend built with ASP.NET WebAPI and C#
AngularJS, TypeScript
C#, WebAPI

Continuous Integration and deployment automation

Aug 2015 - Oct 2015

Delivered an automated build and deployment system that spanned development, test and production environments

  • Installed new TeamCity and OctopusDeploy instances and Tentacle agents
  • Created build configurations for a mix of automatic and manualdeployments
  • Configured NUnit runner steps with code coverage statistics collection
  • Restructured legacy code into Nuget packages as a more modern approach to code sharing
  • Wrote and integrated PowerShell scripts to control load-balancer services during deployments to production environment
  • Added TypeScript transpiling support to TeamCity
TeamCity, OctopusDeploy

Order queuing system

Mar 2015 - Jun 2015

Created a web services platform to enqueue orders from multiple sources, with a channel concept to allow per-source configuration. Queued orders are processed onto a backend ERP system.

  • All business logic written in C# web services rather than batch jobs, including order placement
  • A simple maintenance-free batch runner picks up queued orders and calls a web services for order fulfilment
  • Fully Test-driven Development with 100% unit test code coverage across services projects. Used NCrunch to analyse and improve unit test code coverage
  • Integration test library for end-to-end testing
  • Test-driven approach paid off - perfect deployment record with no rollbacks or post-deployment fixes required
  • Load-tested using SOAP UI
C#, WCF web services, DynamicsAX, TeamCity, OctopusDeploy

Web site stabilisation and performance optimisation

Jan 2015 - Mar 2015

Used Application Performance Monitoring tools supplied by NewRelic to analyse the performance of a busy ecommerce web site in a production environment

  • Identified previously unknown performance problems with in-house and third-party code
  • Modified Endeca Guided Search pipelines to load more data, allowing SQL calls to be dramatically reduced
  • Worked with infrastructure team to build and configure Application Request Routing servers, to cache web responses. Almost 50% performance improvement.
APM, Endeca

About

Dorian Farrimond

My name is Dorian Farrimond, and I'm an experienced senior freelance developer, covering the Manchester and Lancashire (Preston, Blackburn, Bolton) areas, plus remote work across the UK.

I'm a positive and enthusiastic individual with a client-focused approach. In my career I've done team leadership, business analysis, web design, usability and worked onsite at client locations in the US and Europe.

When building applications I always consider the human side of a system as well as the code. Robust code and excellent response times are only half the story - it all needs to make sense from the perspective of the end user.

GitHub ProfileLinkedIn Profile

Contact