Chris Ross, Developer in Hove, United Kingdom
Chris is available for hire
Hire Chris

Chris Ross

Verified Expert  in Engineering

Software Developer

Hove, United Kingdom

Toptal member since May 9, 2020

Bio

Chris excels working on many different shapes of projects from rapidly building R&D prototypes to long term software design, delivery, and maintenance. His past projects have included everything from interactive 3D graphics, B2B management platforms, media processing, and delivery to custom software for an America's Cup racing team seeking success. Chris adores the diversity of ideas coming from different projects so clients get the most out of the time spent working together.

Portfolio

Freelance Consulting
JavaScript, Unity, Azure, Windows, .NET, C#, Rust, Objective-C, MacOS, iOS...
Cention AB
PostgreSQL, JavaScript, C

Experience

  • C - 20 years
  • MacOS - 20 years
  • Objective-C - 18 years
  • iOS - 12 years
  • Java - 10 years
  • Android - 8 years
  • Swift - 5 years
  • Rust - 2 years

Availability

Part-time

Preferred Environment

Slack, Windows, MacOS, IntelliJ IDEA, Java, Rust, AppCode, Xcode, Objective-C, Swift

The most amazing...

...project I've recently worked on was a custom platform to provide live telemetry for the crew of an America's Cup sailing team.

Work Experience

Software Development and Design

2010 - 2020
Freelance Consulting
  • Designed, developed, and delivered a B2B order management and CRM application for the iPad, allowing agents to manage customers, orders, and interactions.
  • Worked with an America's Cup team, helping them with R&D for their virtual reality experiments and building onboard real-time data delivery systems for the live races.
  • Designed and built an end-to-end customer and kitchen software stack for a new style restaurant, where customers order and pay on Apple iPads and the order was delivered to their table by boat.
  • Built a real-time data-driven software for the iPhone and Apple Watch.
  • Worked with a high-profile digital agency to help them deliver interactive prototypes of their 3D designs for critical client meetings.
  • Rebuilt a high-profile cancer society's iOS application for presentation to their members.
  • Rebuilt a sophisticated audio and video capture application for a client, leveraging the latest technologies on macOS.
  • Delivered many crucial applications and tools for a high-profile agency working with the pharmaceutical industry, helping them and their clients, deliver life-saving information to health care professionals.
  • Led a team for a successful Blackjack iOS gaming company to deliver a highly polished slot machine game to expand their customer offering.
Technologies: JavaScript, Unity, Azure, Windows, .NET, C#, Rust, Objective-C, MacOS, iOS, Swift

Head of Development

2005 - 2010
Cention AB
  • Was brought on because the existing software stack was written in the open-source programming language I had designed and built.
  • Led a team to rebuild the entire software stack to take advantage of modern technologies and increase performance, allowing the company to grow to significantly bigger clients.
  • Transformed their support pipeline into a smooth operation, significantly increasing customer satisfaction.
  • Successfully guided the team across borders with development occurring in the UK, Sweden, and Bangladesh.
Technologies: PostgreSQL, JavaScript, C

Experience

NDA Client (America's Cup Team)

Provided two important roles for the client:
First, I helped over time research and develop bespoke data displays that were used on the boat whilst racing. I started development with basic numerical display and went all the way to real-time SVG graphics rendering. The devices spanned iPhone, iPad, to customer Android (Java) based eReaders for sunlight readability. The focus was on real-time delivery of data and readability in demanding real-world scenarios.

Second, I helped provide R&D when the client was investigating virtual reality as a means for testing and training. Worked with the client to help answer a significant set of unknowns through building various prototypes for them, giving them the information they needed to source a supplier for simulation software and hardware. This was prominently done with Unity.

NDA Client (Wholesale Business to Business Management)

Delivered to significant parts to the client:
First, I designed, developed, and delivered a Swift-based iPad and iPhone B2B app that allows the user (usually a sales agent or sales manager) to manage customers, manage orders, raise orders, and track their completion.

The application synchronizes with a back-end system for all its data, can provide near-real-time stock information, is location-aware, can support multiple users and multiple companies (if a user was a sales agent for multiple companies using the software), and is built to deal with large data sets even on older iPads or iPhones.

Second, I built a novel data synchronization and exchange layer, reducing the burden on API management, improving the ergonomics when the data model is evolved, and allowing peer-to-peer exchange of information when the back-end systems are not accessible (for instance, in congested WiFi at a trade show).

Tap to Chat

An Objective-C based Facebook chat client for iPhone and iPad that existed prior to Facebook Messenger.

Started as an offshoot from another third-party Facebook client for the iPad. I worked in tandem with another developer to build the standalone chat client with which we netted millions of downloads. We turned it into its own company, with it ad-supported with the ability to purchase an ad-free experience. We added MSN and Google Talk network support in later updates.

NDA Client (Digital Agency + Pharmaceutical)

Worked on numerous projects for the client, helping them, and their pharmaceutical clients, communicate with the customers with domain-specific applications.

The majority of the work was for the development of iPad apps in Objective-C, where I built custom tooling that allowed the agency to easily build significant portions of the end results, including hot-reloading of their content, analytic capture, 3D animation, interactive games.

This allowed the agency to produce excellent work, in short time frames, as they had the freedom to experiment rather than be locked to a particular process.

NDA Client (Digital Agency)

Research and development of real-time interactive 3D mobile graphics. I worked closely with the client to translate their 10 minutes-per-frame renders on high-performance desktop machines, into fast real-time interactive demos that they could use for presentation to their client, and later evolve as required in Unity.

NDA Client (Restaurant)

The client wanted to build an experimental restaurant. The idea was for customers to come in, sit down, order, and pay for their food at the table without waiting for staff, and the food would be delivered to them via a boat floating on the river that flowed through the establishment.

I was brought on board to handle the technology side of the project. I built a back-end server for communication and management and two iPad applications—one that was used in the kitchen to track and manage incoming orders and one that was on the customer-facing iPads that provided the menu, ordering, and payment.

The server was built using Node.js and Typescript and provided real-time information, stock management, menu management, and takings information.

Both the iPad applications were built in Objective-C. The kitchen app provided external display support so that the staff could update the state of orders on the device's display, whilst incoming orders displayed on a connected TV. The menu app provided a clean interface for the customer to order food and pay for it with the iZettle payment device connected (all within a customer tamper-proof housing).

It was amazing to witness the excitement customers had while using the system.

NDA Client (Online For-Fun Casino)

A Swift based Slot machine game. I worked with the machine model developer, and the design team, to develop a flexible slot machine engine, on top of SpriteKit for presentation.

For the project, I developed a custom layout engine to support all the different variations of slot machines that were being dreamt up, which ended up driving a lot of the app. It allowed the specification of templates that were layered up, which meant that each machine needs to only define what was unique to it, with the engine pulling in the common parts where required.

I also guided and contributed to the back-end services that were required to manage payment and unlocking of content.

NDA Client (Cancer Society)

Worked closely with a design team with limited mobile experience to redesign, and in turn, as the sole developer, rebuild from the ground up the society's flagship cancer app for iPhone and iPad.

The application is used by a large number of people to seek advice and information, as well as record their health status in preparation for clinical visits.

The project had two significant requirements: although a complete rebuild was required due to technical limitations of the previous build, no prior recorded data could be lost, and that the application had to be completely accessible to all that used it.

The end delivery was an app that could be grown with greater ease than the previous version both technically and from the perspective of the user interface and user experience.

NDA Client (Usability Testing)

An Objective-C based application for macOS that captures the user's audio, webcam, and desktop while guiding the user through a set of instructions on what to do.

I worked with the client's designers and built the next generation of the software to overcome the technical limitations their existing version was suffering from.
The app was used to allow designers to check how the implementation of their designs worked with users.

The app, once completed with recording, would allow the tester to review the recorded footage, select various highlights based upon the instructions provided to the user, and export a compressed timeline to share with the team (much like you'd find in Apple's iMovie), allowing them to iterate and improve their work.

The project required everything from high-level user interface development, to low-level media manipulation.

NDA Client (Real-time Data for Apple Watch)

Worked with the client (a custom yacht outfitter) to build a set of applications for the Apple Watch and iOS (iPhone and iPad) in Swift, that communicate with NAVICOs boat-based network stack, to provide real-time data to the wrists of yacht racers.

Required using the iOS device as a bridge, handle the various network instabilities, all while providing the correct data to the user in a timely fashion.

Progression Kitesurfing for iOS and Android

https://www.progression.me/player/
Worked with the client to help migrate their highly revered instructional DVD business to a digital pipeline. Supported the client as they built the back-end service, and I built their Objective-C iOS app and their Java-based Android application. This was done at a critical time as DVD sales were declining as the rise of YouTube and mobile devices took off.

BOLD Book for iPad

Working closely with the client and the publisher, I built an Objective-C based app for iPad that provided an enriched reading experience for those reading the book "BOLD: how to be brave in business and win."

The app allowed users to purchase the book or individual chapters and provided interactive elements throughout the book (such as quizzes and personality tests).

Technically interesting as it required building an ePub reader with a set of injected patches so that we could use the original publisher ePub while taking advantage of the format the book was being presented in.

NDA Client (ISP)

An implementation of Apache's mod_rewrite for the Zeus Web Server. The client had acquired another smaller ISP that came with a large number of hosted websites running on Apache. They wanted to migrate the incoming websites over to their existing Zeus backed system, but faced the challenge that there was no parallel for mod_rewrite that existing. I built an implementation from scratch (in C) for Zeus that hooked into their request pipeline, allowing the client to migrate a significant number of websites without issue.

NDA Client (Marketing/Conference)

An Objective-C application, delivered to 300 iPod touches, as part of welcome gifts for a conference.

The project required the application to be customized for each user, detailing their conference schedule, any custom requirements or information they might need, provide instructional videos, be silently updatable should schedules change, and allowing them to feedback to the conference organizers at any time.

After I had finished development of the app, I put a small team together to systematically install it on 300 iPod touches, along with customizing the iPod touch with conference branding, all while returning iPod touches to their original packaging so that users would have the "I've opened this first" experience.

NDA Cient (Health Enquiry and Reporting)

I built the Objective-C app for the client who worked closely with health providers in the UK. The app helped users search for nearby care—doctors, dentists, pharmacies, care homes—and give them the information to help choose one that suits them best. The app was populated with reviews and data from the back end service provided by the client, who captured review information at the point of delivery (such as doctors asking their patients to fill out questionnaires).

ResourceHelper

An Objective-C based application to help designers and developers, in the early days of retina displays, get along a little better. I built this application out of the frustration of poorly exported assets. ResoureHelper allowed designers and developers to quickly lint exported assets to ensure that the different scales were adhered to, and where possible, provide a toolbox that allowed either party to do various image manipulations.

Ferite Programming Language

https://github.com/darkrock/ferite
A C-based programming language I invented and first released in 2000.
Frustrated with other languages pain in embedding in existing C based software, I ended up crafting Ferite mostly out of curiosity. I released it as open-source software and gained a number of users (which I eventually went on to be head of development for one of them).

It was well used for over 10 years, had multiple OS support, could be used for embedding, had its own Apache module, and could do anything from printing hello world to image manipulation and multi-threaded data servers.

Education

1999 - 2002

Bachelor's Degree with First Class Honors in Computer Science and Software Engineering

University of Birmingham - Birmingham, UK

Skills

Libraries/APIs

OpenGL ES, CocoaPods, SpriteKit

Tools

AppCode, Xcode, IntelliJ IDEA, JetBrains Rider, Slack

Languages

Swift, Objective-C, Rust, C#, C#.NET, Java, SQL, C, C++, JavaScript

Platforms

iOS, MacOS, Linux, Android, Windows, Azure

Storage

SQLite, PostgreSQL

Frameworks

MapKit, Core Data, .NET, Unity

Other

ferite, AVFoundation

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring