
Chris Ross
Verified Expert in Engineering
Software Developer
Hove, United Kingdom
Toptal member since May 9, 2020
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
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
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
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.
Head of Development
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.
Experience
NDA Client (America's Cup Team)
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)
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
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)
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)
NDA Client (Restaurant)
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)
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)
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)
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)
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/BOLD Book for iPad
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)
NDA Client (Marketing/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)
ResourceHelper
Ferite Programming Language
https://github.com/darkrock/feriteFrustrated 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
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring