Geoffrey Daniels, Developer in Bristol, United Kingdom
Geoffrey is available for hire
Hire Geoffrey

Geoffrey Daniels

Verified Expert  in Engineering

Software Developer

Location
Bristol, United Kingdom
Toptal Member Since
October 7, 2021

Geoff is an experienced software developer and researcher, having completed a master's degree followed by a computer vision doctorate at the University of Bristol. Professionally, as both a solo developer and either with or leading teams, Geoff has covered a wide variety of projects from conception to production, finding elegant solutions to complex problems. He is a versatile and multidisciplinary engineer, forever looking forward to what he will learn tomorrow.

Portfolio

Woven
C++, Python
Ultraleap
C++, Android, Python, Leadership, Management, Agile, Kanban...
Kudan
C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git...

Experience

Availability

Part-time

Preferred Environment

Linux, C++, Git, CMake, Computer Vision

The most amazing...

...experiment I've created involved strapping subjects into VR headsets with external cameras and using SLAM to create a personal virtual world on the fly.

Work Experience

Senior Software Engineer

2022 - PRESENT
Woven
  • Cut visual map production time from about a week and £10,000s to under a day and only £100s.
  • Improved a crucial ingestion pipeline conversion speed by 300% and more than 12 hours per ingestion down to around 4 hours, saving time and budget.
  • Established a new roadshow format event to de-silo work across the company, which is now used to demonstrate our work for every VP visit to our office.
  • Implemented and deployed a new cross-organizational map service to version and simplify our data delivery.
  • Deep dived into our conversion pipelines, upgrading them to be isolated, hermetic, and reproducible.
  • Proposed and executed new definitions for expectations on team leaders and the default processes for all agile teams to complete quarterly objectives.
Technologies: C++, Python

Principal Software Engineer

2021 - 2022
Ultraleap
  • Spearheaded a project to add a comprehensive evaluation of Ultraleap's technology for internal and external verification. Utilizing simulated and real data with expected ground truth outcomes, this project provided numerical values of performance.
  • Led the development of Ultraleap's Android support, managing a team that created everything from cross-platform porting of code to optimizations and power analysis of the final system.
  • Mentored individuals and coached a team of engineers to minimize conflict and maximize productivity. This was achieved through experienced insight into effective engineering practices, including training, design, code review, planning, and retros.
Technologies: C++, Android, Python, Leadership, Management, Agile, Kanban, Continuous Integration (CI), Git, CMake, Docker, Multithreading, Cross-platform

Head of Engineering

2019 - 2021
Kudan
  • Led, mentored, and grew the engineering team; implemented a number of new processes to minimize administration overhead for engineers and streamlined communication between our offices in the UK and Japan.
  • Oversaw from inception to release a new LiDAR SLAM system built from the ground up while maintaining technical management and development responsibility for the core Visual SLAM product.
  • Architected expansion of the core optimized computer vision libraries used to power all products. This included multiple new camera models, new feature scoring pipelines, and a highly modular robust solver library, all while maintaining compatibility.
Technologies: C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git, Management, Architecture, Optimization, Windows, Linux, MacOS, ARM, Multithreading, Cross-platform

Computer Vision Engineer

2018 - 2019
Kudan
  • Designed and implemented a new build system, upgrading the company from only supporting an XCode development pipeline, to a system using CMake and supporting Windows, Linux, Mac, and Android.
  • Modernized all internal source code repositories to simplify cross-platform development and enable continuous integration, testing, and delivery.
  • Created a number of new libraries to wrap platform-specific functionality and maintained a position as the driving force behind ensuring our code was supported across different platforms and compilers.
  • Presented numerous internal talks to the team on SLAM research topics and on our current work to motivate a discussion about the future direction of our computer vision software.
  • Improved map reconstruction for a ten-fold speed increase with no accuracy loss.
Technologies: C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git, Architecture, Optimization, Windows, Linux, MacOS, Multithreading, MATLAB, Cross-platform

Senior Software Engineer

2017 - 2018
Close Air Solutions
  • Created the tracking system for the Hyper Real Immersion (HRI) project. HRI was an augmented reality training simulator that could be used at a training location to facilitate more realistic simulated training.
  • Researched, sourced, and integrated all components to build the standalone HRI system. This involved bringing together multiple sensors and systems to produce a rugged, lightweight, wearable augmented reality system.
  • Developed numerous software plugins for the MACE and VRSG software platforms that were used to provide training services.
  • Automated the creation of a 3D map of a test area more than 100 square km in size. Initially, the drone footage was processed using Agisoft PhotoScan and then chunk by chunk fed and combined into ArcGIS.
Technologies: C++, C#, C, Visual Studio, Electronics, Arduino, Simulations, Hardware Design, DirectX

Software Engineer

2016 - 2017
Close Air Solutions
  • Designed, developed, prototyped, and made ready for production, a military communications interface system to enable trainees to use their standard-issue equipment while in a simulated training environment.
  • Created a large base library of common functionality that I subsequently used to replace large swathes of code in multiple applications.
  • Supported the further expansion and development of a previously developed simulated military GPS receiver.
Technologies: C++, C#, C, Visual Studio, Electronics, Arduino, Simulations, Hardware Design, DirectX

Embedded Software Engineer

2012 - 2015
University of Bristol
  • Created a software library to enable the use of the LPCXpresso LPC1769 ARM Cortex-M3 and a breakout board by undergraduate labs.
  • Designed and taught the three lab courses that used the created software library.
  • Maintained the software and provided support and updates as required over the course of the project.
Technologies: C, Arm Cortex-M3, Architecture

Software Engineer

2011 - 2011
University of Bristol
  • Upgraded a prototype automatic birdsong recognition project into a fully-fledged engaging and informative software package to be used for open-day demonstrations.
  • Expanded the number of birds supported by the software to include every species native to the United Kingdom.
  • Created posters, documentation, and presentations to support the software demonstration.
Technologies: C++, Digital Signal Processing

Researcher

2010 - 2010
University of Bristol
  • Created a cellular neural net (CNN) simulator using MATLAB to aid the development of a synthetic sensory skin for prosthetic limbs with inbuilt distributed computing.
  • Improved CNN simulation accuracy by using LTspice to simulate the analog circuitry of each CNN cell and its connections to other cells.
  • Packaged and documented the system to enable other researchers and engineers to integrate different CNN cell varieties and easily control the connectivity between layers.
Technologies: MATLAB, LTspice, Multithreading, Cross-platform

Software Engineer

2009 - 2009
SJL Media Solutions Ltd
  • Created the software used by the contestants on the TV game show Britain's Best Brain. This involved games on touchscreens, integrating with custom hardware, and using a network command and control system.
  • Evaluated numerous touchscreen display devices to contrast their performance when being used for each of the developed games.
  • Diagnosed and repaired systems rapidly while under heavy pressure in the studio as time is severely limited.
Technologies: Visual Basic, Visual Studio, C#, DirectX, Touchscreens

GTL - C++ Template Library

https://github.com/gpdaniels/gtl
A collection of useful cross-platform, well-commented, self-contained, simple, and interesting C++ classes in the style of the standard template library.

In my free time, I like to work on and solve interesting software engineering problems. This project has been the culmination of years of creation, modification, refactor, and comment.

SPIKE Prime

https://github.com/gpdaniels/spike-prime
This project is a collection of useful information about the Lego Mindstorms Robot Inventor (51515), LEGO SPIKE Prime (45678), and LEGO SPIKE Essential (45345).

Part of the fun of playing with any new bit of hardware is taking it apart and seeing how it all fits together. To help understand what's under the hood of the newest LEGO robotics system I've been digging into what makes it tick.

Languages

C++, Python, C#, C, Visual Basic

Tools

CMake, Git, Visual Studio, Arm Cortex-M3, MATLAB, LTspice

Paradigms

Cross-platform, Unit Testing, Continuous Integration (CI), Management, Agile, Kanban

Other

Computer Vision, Optimization, Architecture, Simultaneous Localization & Mapping (SLAM), Multithreading, Electrical Engineering, Reverse Engineering, Firmware, Leadership, ARM, Electronics, Simulations, Hardware Design, Digital Signal Processing, Touchscreens

Platforms

Linux, Windows, Android, MacOS, Docker, Arduino

Libraries/APIs

DirectX

2011 - 2016

Ph.D. Degree in Computer Vision

University of Bristol - Bristol, UK

2007 - 2011

Master's Degree in Electrical and Electronic Engineering

University of Bristol - Bristol, 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