- C#, ASP.NET, MVC, including Entity Framework and NHibernate
- MS SQL, MySQL, ElasticSearch
- HTML, CSS (including SASS + Less)
Folding SpaceSoftware Developer
- Developing a process to identify relationships between documents with respect to the entities (people) they concern.
- Creating a versioning system for documents and data stored within the system.
- Implementing external document stores, e.g. SharePoint and OneDrive, via REST interfaces
- Back end development on .NET MVC, Web API and Windows services based background tasks.
Blueberry ConsultantsSoftware Developer
Being the sole permanent developer at Blueberry Consultants, I took a lead role on many of the projects I was involved with.
Lead developer on a cross platform mobile app (using Ionic Framework and AngularJS), API and web-based order management system for ordering prescriptions, integrated with various NHS APIs. Launched in 2016 with no existing users and grew to ~100 orders per day within two years. Alongside development, I handled web deployments to various development, test and live environments using continuous integration (Jenkins) and planned and executed necessary migrations.
Lead developer on a browser based multi-user PDF annotator. Developed a rich touch interface for placing and editing annotations (text, shapes, lines and images), and bi-directional live sync via web-sockets, with tolerance for short network outages. Supported by a Node.js based HTTP server with a Java based process to manipulate PDFs.
Rescued several failing projects that had been given to off-shore development teams; one was a native iOS app and the other a cross platform app developed using NativeScript and Angular. Both involved diagnosing and fixing severe stability and performance issues, which allowed the successful delivery of these projects.
Several web-based CRUD applications using C#, SQL Server, ASP.NET, WebAPI, TypeScript, AngularJS and Angular and KendoUI.
As well as development, I also spent part of my time guiding and teaching junior developers
Jones and PalmerSoftware Developer
Developed Umbraco (a .NET CMS) based sites displaying investor relations materials (annual reports, etc).
- Created a graphing library allowing CMS users to input data and dynamically create graphs
- SolverCS, a crossword solver for Android with ~150 daily users.
Several contributions to open source software:
- Implemented album artwork functionality in Clementine (a music player written in C++/Qt4)
- Developed my own project, Luminous (a syntax highlighting engine written in PHP)
In my spare time, I enjoy running, playing guitar, and growing carnivorous plants.
For my thesis, I developed a C++ real-time ragdoll-physics character animation library capable of blending key-frame animation sources with physics simulation, and an OpenGL based demo application.