Web Service & API Developer

Web developer with over 5 years experience designing and developing web services and API’s for mobile and web applications in PHP and Java.

As the demand for mobile applications has increased, there has been a need for both mobile and web applications to access and display the same information. Users expect web applications to show the same information as the mobile application, and why shouldn’t they.

A few years ago I began working with a mobile application development startup, based in Bedford, one of the directors was someone who I had worked with during their time working for one of my other clients, he had been impressed by my work, knowledge and skill. I was invited to participate on a number of projects they had ongoing for their clients.

Initially I developed a number of small web services to work alongside small iOS and Android applications. One particular mobile application allowed the user to search for their nearest car boot fair based on their current location. The users location would be passed to the web service, which would search a database for the nearest fairs, and return a JSON response to the mobile application for it to present to the user. The API was simple in the functionality it provided, but required the client to be authenticated to gain access, and had to handle a large number of requests.

As time went on, projects became more complex and I spent more time designing and writing web services than I did anything else. I spent a lot of time researching and reading books on API design, REST, writing API documentation, frameworks, and the structure of endpoint responses.

I’ve had the pleasure of working on some really great projects, including a Recipe application which integrates with Spoonacular’s API to allow the user to search and view recipes in a mobile application, rate the recipes, create ingredient shopping lists, and comment on recipes. Another API I developed imports league, team, player, fixture, and result data from Opta data streams, providing mobile users with an application that allows them to view their team fixtures, scores, line-ups and be able to rate players and managers in their most recent fixtures and render these in a leaderboard. I’ve developed APIs for dating apps, with video upload and live chat as well as another which allows you to write a letter on a mobile device, and have it send via the postal service.

The crown jewel of API’s I’ve developed and that I continue to be heavily involved in is a social media aggregation app. The application collates feeds and posts from celebrities from various social networks including Facebook, Twitter, Youtube, Instagram, Google+ and Tumblr and allows users of the application to follow their favourite celebrities and stay up to date with all of their latest social media posts. Points are assigned to users for the actions they perform in app and used to produce a leaderboard of top users.

Almost all of the APIs developed allow user login and account creation using Email, Facebook, Twitter and Google, and all so far have required me to develop bespoke admin interfaces that allow clients to manage the data available in app.

The experience I have gained designing and developing APIs and web services allows me to create web services that are robust, secure, well documented, have super quick response times and small response payloads. My web services and APIs follow the principles of REST and as a  result are well structured. Application developers find them easy to understand and communicate with in their applications.

I usually develop simple web services using PHP and the Lumen or Laravel frameworks, but I have found that more complex web services are best developed using Java where I utilise the Spring Boot framework. Java provides a better environment for resource intensive web services along with better multi-threading and asynchronous programming support. My experience helps to determine the best approach for your web service.

SIGNUP TO THE NEWSLETTER

Get useful tips on web application development and software engineering.