I'm an experienced full stack, mobile-focused senior developer, and have worked building on highly scalable internet-based solutions for many years
I have a wide range of technical skills, but my main areas of expertise are in mobile development and design (iOS and Android native, plus Flutter), voice assistants, and enterprise-scale websites
Home is just south of the wall in Northumberland in the UK
I'm currently in a contract until at least the end of 2024, so am not available for new work until after then at the very earliest
You can get in contact directly with me using any of the following:
Below is a selection of some of the things I've worked on both commercially and as personal side projects ...
I've worked on the People's Pension app (via Waracle) September 2024 as a contract developer.
This involves mainly developing new features in their Flutter app (iOS and Android)
Technology: Flutter, Firebase, native iOS and Android development
I worked at Paradym from January 2023 to September 2024, first as a contractor and then as the full-time Head of Development
This involved developing the team's Flutter app (iOS and Android) as well as developing the backend services (database, API, scheduled jobs) in Firebase
Technology: Flutter, Firebase Cloud Database, Firebase Functions, BigQuery, GitHub actions, Fastlane automation, CustomerIO, Amplitude, Branch
I worked at Tribal Worldwide during the second half of 2022, an agency who work for VW and Skoda in the UK.
The work was mainly adding features to iPad apps used in car dealerships by the sales staff when taking leads from their customers, generating rich customised brochures sent to the clients to explain their purchasing options.
Technology: Swift, Core Data, JSON Rest APIs, PDFKit and other iOS native technologies
I worked at Virgin Money (via Waracle), on their flagship customer facing iOS app. This was mainly working on the section of the app when new customers could apply for a new account.
This meant mostly working with SwiftUI and Combine, calling the bank’s mobile API, adding accessibility improvements and working closely with the QA team to help automate the testing of the features.
Technology: Swift UI, Combine, UI test automation, API service calls
I worked with Sky Sports in the second half of 2021 to help develop the main Sky Sports iOS app for the UK, Germany and Italy.
The app is written mostly using Swift, with a little legacy Objective-C, and the work involved developing new features, writing unit and UI tests, working closely with the QA team and external teams, as well as helping run and monitor app releases.
Technology: Swift, Objective-C, HLC streaming video, GitLab automation, Fastlane
I worked with Asset Insights in May 2021 to help implement a new app for the rail industry.
Technology: SwiftUI, Combine, REST APIs, SignalR
I worked with Greggs between March 2020 and April 2021 on their new mobile strategy, helping implement both their new iOS and Android apps.
Technology: Flutter, Dart, Square Payments, Native iOS and Android, Azure, Azure Devops
I've been working with Waracle since Spring 2018 to help build a native iOS app called Floodlight for use in clinical trials to assess patient's motor skills.
In Summer 2018, I also helped Waracle ship updates to the official Ryder Cup app ready for the competition in September 2018.
Technology: Swift, Core Data, Web Services, Location and phone sensor data
I've been working with Shuttle since October 2019 to help develop their innovative conversational commerce platform, and build out some early prototypes
Technology: NodeJS, AWS Lambda, Alexa Skill SDK, Azure Chatbot SDK, ...
I worked with Simply Conveyancing in early 2019 to prototype and build some chatbots to help their customers find information about their property transactions, using both voice (an Alexa skill) and inside a web application (using Azure Chatbot).
Technology: NodeJS, AWS Lambda, Alexa Skill SDK, Azure Chatbot SDK, ...
I've been working with Beebench since late 2018 to build a Slack app that lets Slack users post and respond to job postings directly in Slack.
The MVP has been successfully installed in multiple Slack groups, and I hope to continue to work with Beebench going forward.
Technology: Node JS, Slack API
I started working with GSD - a digital design agency based in Cheshire - in Summer 2018 to update their Reggie education app on both iOS and Android.
Technology: Objective-C, Java, JSON services, SOAP web services, security
I've been working with Turing Talent since January 2020, helping them provide training courses for graduates looking to find careers in the software industry. This involves designing and presenting courses on a variety of topics.
Helping TH_NK - a digital marketing agency based in Newcastle and London - update an iOS app for Vue Cinemas
Technology: Xamarin iOS, C#, Objective Sharpie, JSON services, Credit card integration
Built two mobile apps called 'Wean the Weans' (in the app stores shortly), which aim to encourage young mothers to cook healthy meals for their children as they start eating solid food.
Technology: Xamarin, C#, Realm, PHP (Laravel), JSON services, MySQL
A new joint venture beyween Mickledore Travel and Ordnance Survey, these app build on the successful Mickledore apps (see below) to provide useful services for customers who've bought a walking holiday.
Technology: Swift, Java, Location-based services, NodeJS, AWS, C#
Updated some technical apps for the rail industry to the latest standards on both iOS and Android in May/June and Sept/Nov 2017
Technology: Objective-C, Java, Core Data, JSON services, SQLite
Working with Waracle, a mobile development company based in Dundee, to update an app for Scotland Environmental Protection Agency
Technology: Cordova, Ionic, AngularJS, JSON Services, SQLLite
Building iOS and Android apps (plus a web service) for Mickledore Travel - a leading organiser of walking holidays based in the Lake District - from November 2016 onwards
Technology: Swift, Java, Location-based services, NodeJS, AWS, C#
Worked as a contractor at FindMyPast - a leading genealogy website - in London from August 2015 to November 2016 on 3 separate projects
Technology: ASP.Net MVC, SQL Server, SpecFlow, MSpec, Nginx, Agile Practices, GitHub, TeamCity
Designing and building a mobile-first MVP web application for a brand new business to business startup
Technology: NodeJS, MongoDB, MySQL, AWS, MySQL, Express, Design
Working as a contractor at Ebiquity - a data-driven international marketing company - in Newcastle from February to July 2015
Technology: C#, ASP.Net MVC, Knockout.js, Typescript, Entity Framework, SQL Server (including Analysis Services)
Working as a contractor on the first version of Sage Payments at Sage - the accountancy software firm - in Newcastle
Technology: ASP.Net MVC, C#, KnockoutJS, SQL Server, Web API, Web Services.
I was a developer (and lead) on the Bing Related Searches team on and off for several years. The work is mainly running data mining scripts over massive query logs to analyse user behaviour to generate related queries.
Technology: Mostly writing MapReduce scripts and code (using what's now called U-SQL plus C#), plus some machine learning and script automation.
I worked for 6 months on the team who owned the Skype Login screens and Skype Home. This involved a lot of cross-platform Javascript - Skype uses the current client default browser for a lot of rendering - plus NodeJS on the backend.
Technology: NodeJS, cross-platform client-side JavaScript (Backbone)
I also provide ongoing consultancy and support of websites and mobile apps for several of the companies I've been working with (Paradym, OnTrac, Mickledore, NHS Lothian)
This includes services such as:
You can see full details of my career on my LinkedIn profile
Sideboard is an iOS, iPadOS, Mac, watchOS and visionOS app designed to summarise your upcoming meetings and enhance your productivity
Sideboard will quickly show your upcoming or in progress meetings, and show how long until the next meeting (or how long the current meeting has left to run)
This lets you see at a glance how your day is looking
Technology: All written using Swift and SwiftUI
Count The Days Left is a simple, elegant app that does just one thing - counts the days between the start and end date of an event or project, and how far along you've progressed so far. It's been in the App Store since March 2015
Technology: iOS app using Swift, WatchKit and many other core frameworks
I developed this app "in the open", so the source code is available on GitHub and you can read about our development journey on our blog.
Everything you wanted to know about Halesowen Town FC in one simple app:
No original content, but having everything in one place makes it easier for you to find.
I've also developed an Alexa Skill for Amazon Echo and an Google Assistant Action so you can use voice assistants to tell you about information about the fixtures and scores for the mighty Yeltz.
There are also Apple TV and visionOS apps!
Technology:
Pixagogo is a simple tvOS app that lets you browse your photo library while being able to see where and when each photo was taken.
That's kind of it. In an ideal world the main Photos app would support this, or I could have written a custom screensaver, but I wanted this functionality so I had to build it myself!
Working with NHS Lothian, 'Wean the Weans' provides recipes and information to make weaning easy, healthy and enjoyable.
Weaning might seem like a lot to take on when you have a young baby, but making your own foods isn't as hard as you might imagine.
I built apps for both iOS and Android using Xamarin, plus a CMS using PHP/Laravel/MySQL to maintain the information used in the app, and an API service layer for the apps to access.
The apps were finally released to the App Stores in October 2020.
Technology: iOS and Android apps using Xamarin, C#, PHP (Laravel), MySQL, JSON web services
I've been working closely with Mickledore Travel to build mobile apps to get the most out of their holiday.
The initial versions are mainly based around providing electronic versions of their trip documentation, as well as integrating closely with their existing website and social media.
The apps went live into the App Stores in March 2017.
Technology: iOS app using Swift, Location, Web services, and many other core frameworks. Android app obviously uses Java and equivalent services.
A joint venture between Mickledore Travel and Ordnance Survey, the 'A Walk in the Country' apps build on the success Mickledore apps to provide the same services to AWITC customers in a rebranded and redesigned app.
The apps went live into the App Stores in October 2017, but the joint venture was ended in early 2020, so the apps are no longer available.
Daily Optimiser was a universal iOS daily planner app that helps getting things done. It was in the App Store from July 2014 to June 2019 (when we decided to stop future development due to the improvements to the system Reminders app in iOS 13).
Technology: iOS app using UIKit, CoreData, EventKit, CAAnimation, ...
Pixagogo was a fun and easy way to explore Instagram pictures of places and people nearby. It's been in the App Store from September 2014.
Technology: iOS app using UIKit, Location Services, Web Services/JSON integration...
Instagram changed their API access in June 2016, so unfortunately the app has been disabled and pulled from the App Store since then
Bedside Clock turns your Windows Phone into a clock that is always on - perfect for putting next to your bed ...
Technology: Built using C# and XAML, plus ingesting data from various Yahoo web services.
Due to Yahoo! removing free access to services that are heavily used by the app, unfortunately it's now been removed from the Windows Store.
I've been building and maintaining Josie's website for several years now. She's a very successful artist (a graduate of St. Martin's, now based in Valencia) and the site is a great showcase for her work.
Technology: Was built using ASP.Net, C#, XML and Bootstrap. Now static site generated using Jekyll
"John has been doing my website since 1999. He's professional, intelligent, patient and precise. I highly recommend working with him." - Josie McCoy
FindMyPast are a leading genealogy website based in London that have multiple large-scale websites.
Brave Location were hired to design and develop a system that made it easier to extend free access to their British Newspaper Archive website for visitors inside the British Library (who are partners with FindMyPast on this project)
Technology: ASP.Net MVC, SQL Server, Nginx
Brave Location have delivered to the requirements, budget and timelines every time, following the FindMyPast engineering practices and standards to produce high quality solutions.
Sean Rodrigues
FindmyPast.com - Head of Engineering
Scalized are a business-to-business startup focusing on matching companies who are looking to expand into new international markets with appropriate professional contacts in that market.
Brave Location have worked closely with the Scalized team to design how their website works, to make it easily expand to their growing business needs.
I've also completed all the development on their application's website, implementing their matching and messaging system.
Technology: NodeJS, MongoDB, MySQL, AWS, MySQL, Express, Design
I spent nearly 10 years working at Microsoft, both as a full-time employee and providing contract services through Brave Location. Below are a couple of the areas he worked in:
I was a developer (and lead) on the Bing Related Searches team on and off for several years. The work is mainly running data mining scripts over massive query logs to analyse user behaviour to generate related queries.
Technology: Mostly writing MapReduce scripts and code (using what's now called U-SQL plus C#), plus some machine learning and script automation.
I worked for 6 months on the team who owned the Skype Login screens and Skype Home. This involved a lot of cross-platform Javascript - Skype uses the current client default browser for a lot of rendering - plus NodeJS on the backend.
Technology: NodeJS, cross-platform client-side JavaScript (Backbone)
I worked with Simply Conveyancing in early 2019 to prototype and build some chatbots to help their customers find information about their property transactions, using both voice (Alexa) and inside a web application (using Azure Chatbot).
Technology:
I built an Alexa Skill called "Miss Positive" to try to encourage an optimistic outlook on life.
All this simple but effective skill does is answer any question you ask with a randomly selected positive answer.
You can read more about this on this blog post.
Technology:
As well as being on (many!) other platforms, I've developed an Alexa Skill so you can Ask Alexa to tell you about information about the fixtures and scores for the mighty Yeltz, as well as an Apple TV app.
The app is an Open Source project, so if you're interested in the code it's available on GitHub.
I've also implemented the same functionality for Google Assistant, as well as adding Siri support into the iOS app.
Technology: