Tim Sheerman-Chase, Developer in Portsmouth, United Kingdom
Tim is available for hire
Hire Tim

Tim Sheerman-Chase

Verified Expert  in Engineering

Software Developer

Location
Portsmouth, United Kingdom
Toptal Member Since
January 26, 2017

Tim is a software engineer with experience in a wide range of industries, technologies, and academia. His primary programming languages are C++ and Python. He is adept at real-time/multi-threaded systems. Tim also has a degree in physics and a Ph.D. in machine learning/image processing.

Portfolio

Clients (via Toptal)
Full-stack, Web, Image Processing, Deep Learning, Python, C++
Galehead Development, LLC
JavaScript, CSS, jQuery, Python, Flask, HTML, Git, Front-end Development
Symetrica Security Ltd
GTK+, i18n, C#, C, C++, PHP, Python, GTK

Experience

Availability

Part-time

Preferred Environment

Git, Qt Creator, Eclipse, Visual Studio Code (VS Code)

The most amazing...

...project I've worked on is training a system to recognize goose-bump inducing music.

Work Experience

Freelance Developer

2016 - PRESENT
Clients (via Toptal)
  • Developed a RESTful back-end API and a JavaScript/Ajax front end to enable users to browse audio samples based on selected filters.
  • Optimized web apps for use in Google App Engine, Google Cloud SQL, and Docker.
  • Improved the performance of deep learning LSTM models for audio processing of music.
  • Made a C++ library available to Python software using SWIG.
  • Integrated video codec libraries with openh264 to produce MP4/H264 videos with the emphasis on broad playback compatibility.
  • Developed a web app based on Django/JavaScript React to manage and monitor data collection tasks on Amazon Mechanical Turk via their developer API.
  • Evaluated and tested the potential structure from motion and SLAM algorithms for deployment on a handheld embedded device; this was done while working with SnapIT Solutions.
Technologies: Full-stack, Web, Image Processing, Deep Learning, Python, C++

Developer

2021 - 2023
Galehead Development, LLC
  • Added features to the front-end UI and data filtering in an OpenLayers/React-based geospatial web app.
  • Handled additional back-end API features added to a Python Flask back-end server.
  • Made improvements to the Docker configuration for easier deployment in development and production.
Technologies: JavaScript, CSS, jQuery, Python, Flask, HTML, Git, Front-end Development

Software Engineer

2015 - 2016
Symetrica Security Ltd
  • Developed a UI for a hand-held radiation detector based on GTK3, including internationalization and custom widgets.
  • Developed Python web-based monitoring of a remote system including the collection of health parameters via a HTTP RESTful API.
  • Integrated C++ components into pre-existing distributed RPC framework, including adding a RESTful API.
  • Wrote requirements and designed a desktop tool to manage handheld devices and to offload data, written in C# GTK#. Developed the back-end C# code to connect to the device via HTTP.
  • Created a custom GTK widget for viewing graph data—including zooming, panning, and overlaying template data.
  • Reconstructed vehicle images from RTSP video streams using OpenCV.
Technologies: GTK+, i18n, C#, C, C++, PHP, Python, GTK

Applications Developer

2014 - 2015
Hallmarq Veterinary Image Ltd
  • Implemented a major refactoring of code to separate 2 closely coupled, real-time DLL components—to enable remote operation via ethernet.
  • Developed a fee-per-scan calculation web application with Python Pyramid and MySQL.
  • Optimized DSP functions with ARM assembly/intrinsics to run on an embedded processor. The final speed exceeded the then currently existing Project Ne10 library.
  • Created a functionality that did report generation and PDF invoicing from billing system (written in Python) to be used by the accounts department.
  • Ported Windows C++ centric spectrometer components to ARM/embedded Linux.
Technologies: RPC, Embedded Systems, PHP, C++, C

Software Engineer

2013 - 2014
Kinatomic Technology
  • Developed a live video stitching desktop app to take multiple USB/IP web cameras and combine them into a video stream for viewing or saving to disk.
  • Developed an Android mobile turn based game based on Kivy. Wrote the graphics, game logic and AI for other computer players. Oversaw design and production of UI and art by contractors. Released the game on the Google Play store.
Technologies: Software Development

Senior Technologist

2001 - 2007
BAE Systems
  • Developed a real-time, embedded system to bridge between an existing ARINC 429 avionics databus and newer Ethernet-based systems AFDX. This used bare-metal C/C++ on a NetSilicon processor.
  • Built a augmented reality HUD/moving map prototype display system to enable commercial pilots to prevent errors in taxiing. This was integrated into a flight simulator. It used C++/OpenGL.
  • Designed and implemented a C++/C prototype controller pilot data link communication system for airport ground movement messages. Integrated them into a flight simulator.
  • Conducted pilot trials in a simulator to gather feedback on prototype avionic systems. Tested the prototypes at international airports to evaluate their performance.
  • Tracked the progress and controlled resources for engineering projects.
Technologies: Internet Protocols, Avionics, Realtime, Embedded Systems, C, C++

PyFeatureTrack (Python)

https://github.com/TimSC/PyFeatureTrack
A feature point tracking in Python 2 or 3, using the well-known KLT method.

Implementation of a RESTful GIS API in PHP

https://github.com/TimSC/microcosm
An implementation of the OpenStreetMap API 0.6. The back-end database can be either SQLite or PostGIS/PostgreSQL. It has unit tests for many functions.

PhD Thesis: On the Automatic Recognition of Facial Non-verbal Communication Meaning in Informal, Spontaneous Conversation

Non-Verbal Communication (NVC) comprises all forms of interpersonal communication, apart from those that are based on words. NVC is essential to understand communicated meaning in common social situations, such as informal conversation. The expression and perception of NVC depend on many factors, including social and cultural context.

License Key Management in C++

https://github.com/TimSC/rsa-license-key
These are key management tools for software licensing and activation.

Languages

Embedded C++, C, C++, Embedded C, Python, XML, HTML, SQL, PHP, C#, MUMPS, CSS3, HTML5, JavaScript, UML, ARM Assembler, CSS, Bash, SAML, TypeScript

Libraries/APIs

OpenCV, Scikit-learn, OpenStreetMap API, SpatiaLite, GEOS, Shapely, Protobuf, Kivy, SciPy, NumPy, Keras, React, Matplotlib, SQLAlchemy, FFmpeg, PySide, Leaflet, OpenAL, OpenLayers, Sockets, Flickr API, SDL, OpenGL, jQuery, OpenH264, Flask-RESTful, Google Apps, REST APIs, Spotify API, TensorFlow

Paradigms

Real-time Systems, REST, Object-oriented Design (OOD), Design Patterns, Object-oriented Programming (OOP), Load Testing, RESTful Development, Continuous Integration (CI), Scrum, Agile, Test-driven Development (TDD), Unit Testing

Platforms

Linux, Windows, Embedded Linux, Google App Engine, Visual Studio Code (VS Code), Eclipse, Web, Android, Docker, WordPress, Google Cloud Platform (GCP), LAMP

Other

Software Development, APIs, Computer Vision, Image Processing, Multithreading, Debugging, Machine Learning, Video Streaming, RTSP, g++, Web Development, API Design, Messaging, RESTful Web Services, Amazon Mechanical Turk, Cython, CrowdFlower, Transmission Control Protocol (TCP), UDP, Algorithms, Video & Audio Processing, Object Recognition, Audio Processing, Gunicorn, Deep Neural Networks, Deep Reinforcement Learning, Video Encoding, Video Muxing, Troubleshooting, Augmented Reality (AR), Artificial Intelligence (AI), Sensor Data, Avionics, Internet Protocols, RPC, i18n, Full-stack, 3D Reconstruction, Simultaneous Localization & Mapping (SLAM), OAuth, Ajax, Security, Scraping, Objects, TCP/IP, Microsoft Media Foundation, Embedded Systems, Object Tracking, Digital Signal Processing, Ethernet, Video Processing, Version Control, MessagePack, Deep Learning, Flask-Admin, Elastic APM, Front-end Development, Geospatial Data, Spatial Analysis, Genetic Algorithms

Frameworks

Django, Django REST Framework, Qt, GStreamer, Realtime, OpenCL, Pyramid, Boost, LIVE555, Flask

Tools

GitHub, GTK+, Git, Qt Creator, Microsoft Visual Studio, SWIG, Amazon Simple Queue Service (SQS), LaTeX, Subversion (SVN), Eclipse IDE, Adobe Premiere Pro, NGINX, GIS, Audacity, Apache, MATLAB, MediaWiki, Kibana, PgBouncer, Wireshark, GTK

Storage

PostGIS, XML Parsing, SQLite, MySQL, PostgreSQL, Google Cloud SQL, JSON, Google Cloud, Google Cloud Storage, GeoServer, Elasticsearch

2007 - 2013

Ph.D. Degree in Computer Vision

University of Surrey - Guildford, UK

1997 - 2001

Master of Physics Degree in Physics

University of Kent - Canterbury, UK

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