Ian Sharpe Software development ★ Bath / UK

Bespoke software development

Located in Bath, South West England, I build software to your specification.

I have worked on very diverse projects for clients of all sizes – individuals, SMEs through to large organisations such as Unilever, Heathrow Airport, Met Office and the NHS.

An unusual career path has shown me businesses from many angles and taught me to be highly adaptable, organised, technically and commercially aware. I have a strong sense of production values and the user experience.

Please read about my experience to find out how I can help you.

You can get in touch via my contact form. I normally reply within one working day.

My experience


Some interesting projects I have worked on…

Specialist web browser

Windows desktop C# (WPF)

Web browser with integrated database and related functionality developed for a client working with financial web sites.

Sports match management & statistics capture

2019 – 2021
Windows desktop C# (WPF)

Software for match officials to log progress and key events. It streamlines realtime management of a live game and generates post-match statistics for official records. This has been commissioned, through our client, by an international governing body.

Apple / Android phone apps

iOS, Swift, Xcode, App Store, Android Studio, Java

I temporarily took over iOS and Android projects developed elsewhere to make emergency upgrades. End users are customers in a sector of the leisure industry across the UK and Europe. The apps add value to their visits and create revenue opportunities for the hosts.

Camera rig management

2018 – 2019
C# (WPF), C++, SignalR, gPhoto2

Working with a team under contract to a film studio, I developed the user interface and parts of the back end for a system that controls a large array of still cameras used for special effects.

Driving simulator system integration

2017 – 2018
C (on a PIC), C++, rFPro, Beckhoff TwinCAT & TcCOM

I joined a multi-disciplinary team of mechanical, electrical and software engineers in the automotive industry to integrate core parts of the realtime control system. This mainly involved development of a rFpro hardware plugin, TwinCAT C++ (TCCOM) modules, and communication between those and the driving controls.

Mobile display unit management

C#, IoT, Azure, UWP, HTML, CSS, Javascript

I developed embedded client software and parts of a web-based content management system for a highly secure wireless network of public display units commissioned by a UK transport authority.

Real-time video processing

2016 – 2018
C++, CUDA, OpenGL, x86 assembly, C#

For version 2 of a third umpire / video referee system receiving multiple video feeds I developed high-speed realtime processing to decode live inputs and crop, scale and composit output for match officials. I had previously written version 1 in its entirety, from back end to user interface.

Building management controls

2014 – 2019
C# (Winforms), OPC

I worked with the Estates Department of an NHS hospital trust to create touch-screen HMI (human-machine interface) monitor and control panels for use by engineering staff.

Weather station data processing

2014 – 2019

I built and maintained parts of an automated system that transforms a constant flow of weather station data into formats suitable for onward transmission to the Met Office processing facility.

Site entry control point management

2015 – 2016
C# (Universal Windows Platform), Azure, SQL, Mobile

For a major UK transport hub I wrote key parts of a secure system that enables checkpoint staff to speedily validate delivery vehicles / drivers. My part was mainly the user interface running on hand-held devices and comms with the back end. The system has been in heavy daily use ever since.

Corporate risk management

2013 – 2016
Flex, Java, PostgreSQL, Hibernate, Apache Tomcat

I was a member of a team contracted by a FTSE 100 company to build a series of management information projects that included a global risk management system.

Industrial print control

2007 – 2012
VB.NET, Visual Basic 6, PrintSoft PReS

I programmed industrial printing machinery, driving high-volume personalised print runs (every page individually tailored to the recipient), data pre-processing and workflow systems.


Languages and platforms I have used are many and varied, including:

  • C# (WPF, WinForms)
  • C/C++
  • Android
  • iOS
  • CUDA
  • Azure
  • IoT
  • Realtime C++ TcCOM objects (Beckhoff TwinCAT)
  • Microchip microcontrollers (PICs)
  • Java
  • rFpro plugins
  • VB.Net
  • Visual Basic 6
  • Visual Basic for Applications (Office macros)
  • ASP.Net
  • PHP
  • SQL
  • Assembly languages
  • Javascript
  • HTML / CSS

Projects often require other elements that I handle as a matter of course, for example:

  • Windows, Linux (server setup) and general IT functions as needed.
  • Databases.
  • In magazine publishing (see the 'Career' section) we obsessed over drawing readers into pages and steering them round the information being presented. That experience feeds into user interfaces I create.
  • Electronics. I have programmed microcontrollers (mostly Microchip PICs) and built simple peripheral electronics. I am not an electronics expert but have enough understanding to work well with electrical engineers. I can call on an associate with design expertise if required.


An expedient and brief episode in sales after leaving education lasted until my technical inclinations lead me into railway civil engineering. I spent seven years surveying and designing track until, in 1985, I got hooked on programming.

That accidentally lead to a second career as an editor and writer on UK computer magazines of the eighties and nineties

Publishing had not been my goal but opportunity knocked and it turned out to be a great thing to do. Over the next 16 years I held senior positions at Europress (Amstrad CPC Computing, PC Today) and Future plc (PC Answers, PC Plus) as well as working freelance.

My driving interest in coding and the insides of computers stayed with me. I wrote shareware and had software published on cover disks, I edited the work of our coding contributors and I researched and wrote countless technical articles. In all, I wrote around one million published words.

I might still be doing that if the new millennium had not brought winter to the industry. Accountants stalked the corridors and quality was eroded by cost cutting. I was never one to take easy ways out of filling pages. Readers deserved better than recycled material or trivial, under-researched space fillers. Eventually I tired of fighting the tide and decided to step back, reassess and move on.

While mulling my next move I kept the finances afloat by selling my own brand of premium art products. A few thousand sales later, I understood that being an online shop proprietor had its merits but was not enough. I remained a techie who fetched up in publishing, never fully becoming a media person who covered tech. I still loved the challenge and creativity of writing software.

That persuaded me to revive 1985's Plan A to become a full-time developer. I sold my Luxartis art brand (it's still out there in 2020) and set about my next career.

A fortuitous opening in 2007 saw me become the production programmer at a busy digital printing company. I talked my way into the deep end, somehow stayed afloat, grew into and eventually outgrew the job.

In 2012, I moved to a semi-freelance role in which I split my time between local engineering software company Dot Software and other clients. We are still together and our association has greatly broadened my experience into diverse industries, project types and development technologies.

How I can work with you

I mainly work remotely, undertaking projects directly with clients when a solo developer is a good fit.

A lot of my time is spent with Dom Jenkins at Dot Software here in Bath. I may suggest that a large or complex system is handled by Dot Software to gain the benefits of a highly experienced team with broad software and hardware skills.

Sometimes I work on site at locations commutable from Bath.

Contact me

Please use this form and I will take it from there.


All fields must be filled in