I've been making iPhone apps since the introduction of the App Store in July 2008. I have built a number of my own apps (which have been featured by Apple amongst others) and I have built apps for a hugely varied client base; everyone from worldwide brands to one-man businesses. I have consulted on iPad magazines, built top 10 ranking apps (including some that have reached #1 in the App Store), and been featured on national television. In addition to building my own apps, some of them have become businesses in their own right and have been successfully acquired. If you need an iOS developer, then I'm probably what you're looking for.
I've recently been working on the following apps for my clients:
- tvOS and iOS apps for a well known language learning company (launching Summer 2019).
- A hospital application for dealing with the dispatch of porters (currently in UAT phase).
- A giftlist app with a focus on purchasing and discovery.
- Rebuilding a reminders app with improved UX and full iCloud syncing between devices.
- A consulting role with a global brand on how they can best leverage the new APIs in iOS 13 (specifically around Siri Shortcuts and Augmented Reality).
- An enterprise-level app which connects to a bluetooth medical device for a number of major sporting events (currently in testing phase around the world).
- An iPad app which connects to a BLE heart rate monitor for use by the Channel 4 TV show Alan Carr's Happy Hour.
- Multiple iPad games for some of the biggest names in Formula 1 (used privately at F1 events around the world).
- Working with previous clients on adding new iOS 12 and 13 features such as Siri commands, iMessage apps, Machine Learning, and Siri Shortcuts.
Whilst I started out with Objective-C back in 2008, I quickly migrated to Swift when it was introduced in 2014 and used it exlusively from 2015. All of my work currently is written in Swift 5. I never write apps using HTML wrappers; it's a poor user experience. I also only write native apps for Apple's platforms: iOS, iPadOS, macOS, tvOS, and watchOS. I do not work on Android apps.
Many of the iOS projects I've worked on for clients over the past few years are on internal systems whilst others are subject to Non-Disclosure Agreements. However, I have compiled a small selection of some of the bigger projects I've been involved with below. You may also want to see the apps I have self published.
Want to hire me? Take a look at my apps, my CV (PDF 269kb, checksum), and then get in touch. I am currently available from August 2019.
Bringing Dave, Yesterday, Really, and more to the Apple TV
In January 2019 I started working with UKTV to bring their platform to the Apple TV. Whilst several apps of this nature have been built with TVML templates, I built the app natively in Swift 5 in order that I could match the provided designs as close as possible and have full control over the trackpad on the Siri Remote.
Features included complex video integrations with FairPlay DRM and preroll / midroll advertising, a custom built caching layer for the rich recommendation engine, Apple TV functionality such as Top Shelf integration, bespoke UI creation alongside the Focus Engine for a dynamic interface, and much more.
The most exciting aspect for me though was the ability to work with invite-only Apple technology to integrate with the TV app. One of the best moments in the project was when our contact at Apple said "please share my congrats to your tvOS developer; I don’t remember the last time a dev completed TV App integration in just 2 passes".
Please note: I did not work on the iOS version of UKTV Play. Whilst iTunes links both apps together, they are entirely separate codebases built by different teams. I was the sole developer on the tvOS version for Apple TV.
Brapp is a free and easy way to create and discover exciting musical collaborations all over the world. Producers can share their beats allowing anyone to make mini music videos right on their phone complete with video filters and custom audio balancing.
I worked with Brapp throughout 2015 as the sole iOS developer working closely with the app creator and his API developer. I was able to write the app in Swift and use AutoLayout to make sure everything scales beautifully on all 4 sizes of iPhone. In addition, I made use of GPUImage for the custom video filters and a whole load of low-level audio APIs to get the audio balance just right as well as real time waveforms and switching between external microphones. The design went through a number of iterations, each better than the last, and I was able to use my extensive UX knowledge to help shape the end result.
I worked with Brapp again in 2016 to develop their v2.0 update. This migrated the app from Swift 1.2 to Swift 2.1, added new features for iOS 9, studio grade Audio FX, and a new beat trimmer that allows producers to import a beat from any iOS app and then trim it to under a minute in length with optional fades in and out. I also worked with them throughout the summer on several updates which included the ability to export beats as videos, major UI updates, and new location-based features.
Throughout 2017 I worked with Brapp again to add major new features such as a completely redesigned recording process, a new sign up flow, and multiple UI adjustments and functionality enhancements. I also ported the app to Swift 3.2 and Swift 4.0 as well as making improvements for iOS 11.
You can read more about the initial development, the v1.1 update, the v2.0 update, and the three major releases over the summer of 2016 on my blog.
Back in 2014, I was approached by a team representing Nigella Lawson to work on an app centered around food photography. As a big fan of Nigella, I jumped at the chance and spent several months working on the Foodim app.
When I first joined the team, there was a basic app that had been built but it wasn't anywhere near polished enough for launch. The custom made blur filter was working but the app would crash from memory constraints after you took a few photos. I started by rebuilding the photo memory subsystem and working on the fundamental basics of the networking. Over time I helped work out UX issues, redesigned various aspects, and helped move some of the camera code over to a newer image processing system including working on the draw-to-blur functionality and improving the gyroscopic tilt mechanic to adapt depth of field. I also used my contacts with Apple Developer Relations to setup a meeting between Apple and Foodim to showcase the app and get their opinion on improvements that could be made.
Whilst I haven't worked on the app recently (save from answering the occasional question via email), I'm really excited to see it launch and hope that food fans will take to it. The gyroscopic depth of focus is really impressive as is the photo filter; your food shots will look incredible!
I worked with Orbis Media during 2017 as a solo freelance iOS developer to help rebuild the DrinkCoach+ app. The app was designed for the Haringey Advisory Group on Alcohol (HAGA) and is designed to help people keep a track of their alcohol intake with measurable goals and monitor any events caused by drinking such as moodswings, cravings, or accidents.
This is actually version 3.0 of the app with the previous versions having been created by a different developer. The old code was neither available or desirable and so I rebuilt the app from scratch using Swift 4.0 and the latest iOS SDKs to ensure it was future proofed for any future developer to work on. I added a number of interesting features including infographic generation / sharing, local notifications based on time and location, and full customisation of the drinks within the app.
In 2018, I performed a number of updates including a developmentally complex calendar overview along with a shareable PDF containing data between two dates. There was also an update to Swift 4.2, some UX changes, and some other functional tweaks.
You can find out more about DrinkCoach+ at drinkcoach.org.uk.
I worked with Two Thirds Water during Spring 2015 to build a new version of the Great British Bee Count app for their client Friends of the Earth. I built the app from scratch to make use of the Swift language and quickly use features such as AutoLayout to scale their pixel-perfect designs to the various sizes of iPhone. The app allows you to count bees in your local area - these counts are stored locally so that they can be performed offline with synchornisation happening automatically when a network connection appears.
I was hired again in early 2016 to update the app for the 2016 Bee Count. I added a number of new features such as bee and plant information, an enhanced bee picker, and some design updates along with universal support for both the iPhone and iPad.
In 2017, I was asked back again to add a number of updates for the 2017 Bee Count. This included a whole new design, more species of bee, new "fact files", and a whole host of new functionality. I rebuilt the entire app from scratch using Swift 3.1 and improved the automatic app resizing to take advantage of some of the new features of iOS 9 and iOS 10 such as stack views and improved storyboards.
I was hired by Elliott Brock in early-2017 to build Reaction Cam, an easy-to-use app that allows you to quickly record and share your reaction to anything from video to content in a browser. Due to the limitations of iOS sandboxing, this was an immense technical challenge but the end result is incredibly slick with the power to record a reaction and the content on screen at the same time. Once recording is complete, you can edit your reaction and the content with trimming, full picture in picture support, and rotations. A single file is exported at the end of the process for easy sharing with friends on social media.
I was given a very loose spec and so I designed the app and worked out all of the UX myself. I even designed the app icon! Reaction Cam is built in Swift 3.1 and makes use of the latest features in iOS 10 to allow it to run quickly on all of the various iOS devices with full scaling support for every screen size.
In 2019 I worked on the biggest update yet including an in-app purchase for a premium subscription, the ability to pause and resume videos whilst reacting to them, headphone audio balancing, outro recording, and a load of other UX improvements.
You can find out more on the Reaction Cam website.
The reverse weather app
I worked with Reidefine LLC during 2018 as a solo remote freelance iOS developer to build the Solcaster app, a unique app which helps you find the weather you want rather than telling you the weather where you are right now. The app is written entirely in Swift 4.1 and is optimised for all iPhone sizes including the relatively new iPhone X. There are a number of interesting Apple technologies being used including iCloud sync which helps keep the settings the same across all of your devices as well as syncing your favourited trips and recent searches. It also incorporates In-App Purchases and my own sophisticated weather prediction algorithm with intelligent location lookup based on my vast experience in the area of geo-coordination.
You can find out more about Solcaster at solcaster.com and read about the development on my blog.
I worked with Calm Radio at the end of 2015 to bring their ubiquitous service to the 4th Generation Apple TV. Calm Radio allows you to stream over 150 different channels catering to specific genres of music and relaxation such as meditation, piano, jazz, latin, etc. With the Apple TV, I wanted to make the app fit in like a first class citizen of the platform and so I did all of the design and UX work myself with a focus on real time blurs and gradients. As you navigate around the huge array of channels, the background will subtley shift to softer version of the key colours used in the artwork. When you select a channel, you can choose up to 3 atmospheres to blend with it such as rain, wind, waterfalls, crickets, etc. For this, I designed a simple to understand UX that allows the listener to lower or increase the volume of the atmospheres relative to the main playing channel. There are 12 high definition videos that can be chosen as backgrounds on the Now Playing screen and these too are tinted to match the channel you are listening to. Finally, I wanted to use as many tvOS features as possible and so I built in support for the "Top Shelf" allowing you to see and play various channels direct from the TV home screen.
Once the Apple TV app was finished, the client was so pleased that they asked me to rebuild their universal iPhone and iPad app. In early 2016, I rebuilt their app from scratch (with Swift 2.1) with a number of new features such as an alarm clock, sleep timer, video backgrounds, skip track, favourites, and the ability to stream to a Chromecast. I did all of the design work myself and mimicked the Apple TV app I designed putting emphasis on blurred backgrounds based on the channel artwork. There is full support for AutoLayout with the app working in an incredible 20 different sizes and orientations including landscape iPhone and split-screen modes on the iPad. I also added support for 3D Touch on the iPhone 6s with quick access to your most recently listened channels.
I'm incredibly pleased with both of these apps and have been using them regularly; Calm Radio for iPhone, iPad, and Apple TV is free but some features are limited to paid accounts available from calmradio.com.
You can read more about the Apple TV development and iOS development of the apps on my blog.
(Please note the link above will take you to the iOS version of the app - you'll need to search "Calm Radio" on the Apple TV App Store in order to download that version)
I worked with Trim Ventures during 2016 as their sole iOS developer in order to build the Booktrim app that allows customers to quickly browse barbershops, book a haircut, and pay right from their iPhone. I built the app in Swift and made use of AutoLayout to ensure that everything scales beautifully across all 4 sizes of iPhone. I worked closely with their API developer in order to ensure best practices and to keep network requests to a minimum. I was also instrumental in the design of the application and making sure that the user experience was optimised for making quick appointments on the go.
Once the app was completed, I was asked to work on a follow up TRIMbook app for barbers which allowed them to manage their appointments and availability. Once again, the app was built with Swift and I was key in both designing the UI and ensuring the API was being used efficiently. I worked closely with the Trim Ventures team to publish both apps on the App Store and also to run wider beta tests via TestFlight prior to launch.
You can find out more about Booktrim at booktrim.com.
I worked with Orbis Media during 2017 as a solo freelance iOS developer to help build the AlcoPath app. Designed in consultation with the the Nottinghamshire Healthcare NHS Foundation Trust, AlcoPath features a WEKP Cognitive Assessment (incorporating 6CIT, Ataxia test, Opthalmoplegia test, and other associated risk factors) to diagnose Wernicke's encephalopathy and a Withdrawal Assessment for Alcohol using a revised CIWA-Ar scale.
The app is available for free and can be used by clinical staff on both iPhone and iPad thanks to a scaling interface suitable for all device sizes. An A4-sized PDF can be generated with the results of each assessment and this can be printed directly from the app. Push notifications were also integrated to inform users quickly of any updates.
You can find out more about AlcoPath at alcopath.co.uk.
Sporta is an app to keep football fans up to date with the latest matches via local notifications in advance of a game. You simply select which teams you are interested in from the Premier League, Sky Bet Championship, The FA Cup, the Scottish Premiership, or international matches featuring England, Scotland, Wales, or Ireland. You can then choose a reminder time prior to the match (from 5 minutes up to 1 week) and the app will automatically send you a local notification to remind you about the match with details of kick off time, the teams involved, and the venue.
I was originally contacted by the creator to update the existing version of Sporta but I found that the code wasn't suitable for me to work with due to a combination of out-dated code and offshore developers with poor documentation. Instead, I proposed that re-building the app from scratch with Swift 3 and modern iOS updates (such as AutoLayout to work on all sizes of iPhone and the new permissions systems for notifications introduced in iOS 10) would actually be faster than trying to untangle what was there. I was quickly able to recreate the app and scale it for different iPhone sizes whilst adding an intelligent system for keeping the app constantly up to date.
You can read more about the development of Sporta on my blog.
I worked with The Browser at the beginning of 2016 to develop and design their minimalist reading app for iPhone and iPad. The concept is very simple; they wanted an app with curated articles that you read through at random with a simple swipe. I had a quick mockup made and then I added some extra features such as the ability to share articles, alter the font size, and change screen brightness. I also built a simple CMS so that they could update the articles embedded in the app remotely.
As well as designing the app, I also designed the icon and logo based on the brief "I admire the art of Mondrian". I used the same colours and textures but applied them within lines spelling out "SMTN".
The app runs on all devices with iOS 9 or above and is optimised for all the various shapes and sizes including iPad split screens.
You can read more about the development of this app on my blog.
I worked with Munchkin Report at the end of 2015 to develop their first app for their new online service. Munchkin Report helps you track your child's moments, big and small. From her first steps to yesterday's nap schedule, Munchkin Report captures memories, keeps parents and caregivers in-sync, and helps you make informed decisions.
As the sole iOS developer on the project, I worked closely with the client and API developer of the project in order to bring their vision to life. From API documentation and a basic outline, I had freedom to create the minimalist design and UX that makes Munchkin Report a fast and simple app to use. I made tweaks and changes to the original UX and added additional features such as 3D touch quick actions and "Peek and Pop" throughout the app.
I'm really pleased with the way this app turned out and I think it'll be a great resource for childcarers and parents. Munchkin Report is free but does require an account from munchkinreport.com (free trials are available).
You can read more about the development of the app and see some photos of it in action on my blog.
I worked with Natural Cycles at the end of 2015 to help add an Apple Watch app to the new version of their popular iPhone app. The watchOS app syncs with the iOS app in order to show critical information relating to the fertility tracking and pregnancy planning features as well as reading through received messages. In addition to displaying information, you can also log your current body temperature and menstrual flow from the Apple Watch. To complement the app, I also built in support for Glances, Notifications, and Complications so you can view your information in a multitude of different ways.
You can read more about the development of the app and see some photos of it in action on my blog.
I worked on Chipp'd towards the end of 2015 in order to build them a version 2.0 of their app within a very agressive timescale. Chipp'd is an app that works with real world products (available at John Lewis) to let you share secrets or private messages with your friends. You simply scan the QR code on the gift, create your secret (with video, audio, photos, and text), and send the gift; your friend will then be able to see that secret when they scan it with the app or any other QR scanner. It is also possible to share secrets for free using the app via auto-generated URLs that can be sent via email or SMS.
I was the sole iOS developer on the project and worked closely with the CTO of Chipp'd to integrate their existing API into the product. Everything was written in Swift 2.0 and used AutoLayout for flexible layouts on all iPhone screen sizes. I'm particularly proud of the QR scanner which I custom built when it transpired that the products that had been printed and shipped to distributors were too light for a conventional QR scanner to detect; I used GPUImage to manipulate the live video feed with multiple filters per second in order to quickly scan at different brightnesses and solve the problem.
I worked with Clinix throughout 2015 as the exclusive iOS developer on their medical app. Clinix is a doctor-patient video consultation platform targeted primarily at the NHS. It provides patients with an Electronic Medical Records system that syncs automatically with their GP records. You can view and update allergies, medical history, and medications as well as make video appointments with your GP.
The app was built using Swift and interfaces with the OpenTok video APIs. I helped with the initial design of the PHP-based API and was integral in making UX decisions throughout the app.
I worked with Loly at the end of 2014 to update their iPhone app to fix performance issues, improve usability, and add an iOS 8 keyboard. The app was written from the ground up with Swift, uses AutoLayout to render beautifully on all 4 sizes of iPhone, has iCloud syncing of favourites, and includes an incredibly technically complex iOS 8 keyboard extension. In addition, I built an online admin system so that the packs could be updated, added, and re-ordered remotely without going through the App Store review process. This is all powered by an innovative patch system I developed which allows for small delta updates to minimise bandwidth costs.
You can learn more about the app build on my blog.
I worked with Verb Digital in spring 2015 as the sole iOS developer to develop a unique app for Glenfiddich. The app is part of a large installation to showcase a limited edition of Glenfiddich which is available exclusively at Changhi Airport. The single cask that has been selected by Glenfiddich is on display within a specially constructed glass chamber that showcases the weather and atmospheric conditions of the distillery in Dufftown, Scotland. The iPad app allows for customers to see the current conditions in Dufftown including temperature, weather conditions, wind speed, and the time. This is paired with multiple sound effects which match with the weather conditions. The app also talks with a control PC via a direct socket connection over WiFi in order to control the weather effects within the chamber simulating morning fog, wind, and even rain!
The app is written entirely in Swift 1.2 and the iPad is locked down with Guided Access to prevent customers accessing anything else. You can see the app at the Glenfiddich Residence store in Changhi Airport for the duration of 2015.
Find out more on my weblog.
I worked with Monterosa Productions in spring 2013 as the sole iOS developer to produce the Horse Tracker app for Channel 4. The app uses some innovative technology in order to provide a groundbreaking second screen experience on iPhone and iPad. Each horse within the 3 days of racing at Aintree is fitted with a tracker in order to provide their exact position within their race along with speed and distance data. This is displayed in the app to help you find your horse but the really clever piece is that the app listens to the TV broadcast in order to timesync you perfectly - this is important as the terrestrial broadcast can have up to a 20 second difference depending on where in the country you are and what service you use.
The app was highly successful with 165,000 unique users during the Grand National whilst reaching #1 on the App Store.
I worked with the founder of IslandBreak during Spring 2014 as their only developer. The app was interesting to work on due to the need for a completely offline experience. This wasn’t limited to just the points of interest and itineraries (which feature a huge amount of beautiful high-resolution photos) but also the map; this was a requirement so that tourists don’t have to use their data plans, particularly in an area which has very poor mobile reception. Getting a full map of the islands complete with multiple zoom levels and the experience you expect on iOS was difficult, but works really well. In addition, I built an online CMS in PHP so that the app content can be updated remotely without going through the App Store approval process.
Find out more at islandbreakapp.com
I worked with The Late Night Salon in autumn 2013 as the only iOS and PHP developer to produce the Meat Map London app. The app allows customers to find interesting 'meateries' in London and displays lots of metadata such as contact numbers, opening hours, and rich imagery. In addition to the application (which makes use to iCloud for syncing favorites), I built the online CMS and API which powers the app and allows for fast delta updates when new content is added by the production team.
The app was designed for iOS 7 but has been retro-fitted so that it can also run on iOS 6 with a similar design. There is iCloud syncing functionality, use of UIDynamics, and integration with the built-in Facebook and Twitter services.
I worked with kontent during Spring 2014 to produce their native iPhone app. I worked closely with their API developer and designer to produce an incredibly slick iOS 7 app featuring offline synchronisation, social network authentication, push notifications, and some beautiful animations. With the release of iOS 8 in Autumn 2014, I added functionality for a share extension allowing you to post links to content from other apps including Safari.
Find out more at kontentapp.com
I worked with Portal Entertainment throughout the first half of 2013 to build the original prototypes and game elements for their unique horror experience. This included using the camera and timezone detection in order to determine the darkness of a room, interactive glyph recognition from touch gestures, AI for a self writing journal, and advanced video rendering techniques to overlay dynamic content and display the players home within the experience. In addition, I wrote several APIs to provide more advanced functionality (such as determing sunrise and sundown at player location) and worked with Twilio in order to add real phone numbers that could be called and enabled the game to phone the player. Finally, I built several companion websites that went with the experience.
I worked with Monterosa Productions to update their existing Million Pound Drop app with some bug fixes and new features. I added new swipe gestures to make moving money far more intuitive, added the ability for additional question packs to be loaded externally, and upgraded the iPad assets to work with retina displays.
I took over development of the ExpenseMagic app in March 2011. The original brief was to finish development of a web-app wrapped in a Titanium framework but it was later decided to move to a completely native app for a better user experience.
I helped push forward a radical redesign of the application whilst also overhauling the PHP backend which powered their website and API. The app makes use of many SDK features including the In-App Purchasing APIs.
ExpenseMagic has been featured on numerous websites and national newspapers as well as appearing as the #1 Financial app in the UK App Store - It has also been in the top 40 of all free iPhone apps in the UK App Store and is regularly featured in "What's Hot".
I worked with NBC during the summer of 2013 to implement a complex audio synchronisation technology provided by Gracenote into this app whilst it was being built. The audio sync allowed players across the US to simply let the app listen to their television in order to sync them in real time with the action of the quiz. The app reached #1 in the US App Store.
I worked on the Nectar Card app extensively during 2010. The app has a number of features for the Nectar Card user including viewing their exclusive iPhone offers, opting into those offers, a store locator, and an About section (powered by a JSON feed).
I was the main developer on the project and worked on everything from tweaking the UX with the interface designer to advising the API team on the best way to deliver the necessary data to the phone. I also worked up a number of concepts and UI changes (many of which are present in the completed app) and developed the first version of the Sainsbury's app which shared much of the same codebase. In addition, I had regular contact with the Apple WWDR team and presented the app to them thoughout development.
I helped developer an internal iPad app for the Blavatnik School of Government at Oxford University. The app was designed to allow easy access to class materials by students. I built the forum component which allowed students to read and comment on discussions via a RESTful API.
The L'Oreal Vichy app was an app created for internal use within L'Oreal in order to better manage their roadshow campaigns. L'Oreal frequently set up stalls within malls and shopping centres across the country and traditionally they used a pen & paper questionnaire to get customers to fill in their skin conditions, age, etc, in order to recommend a product.
The app I created allowed customers to quickly enter their details and get immediate recommendations of products. In addition, I created a full backend system that would save all captured information and send a text message and email to the customer directly at the point of completion.
I set up Ad Hoc provisioning for the app and distributed it onto several iPod Touches that were distributed to the various members of staff that manned the roadshow stalls.
Social Beacon is a unique and innovative social networking tool which enables you to create super quick status updates for the leading social networks.
Using the innovative 3-wheel interface, you can update both Twitter and Facebook with just five touches of the screen on your iPhone or iPod Touch. Better still, Social Beacon integrates “Fingerless Functionality” allowing you to tilt your device left or right to select each segment of the wheel – tilt up and down to go forwards and backwards through the menus, and finally blow into the microphone to send your message to the world!
This application was built exclusively for Channel Five’s “The Gadget Show” and reached #4 on the App Store – find out more about the development on my weblog or watch the episode online.