top of page
Screenshot 2026-02-17 at 14.41.31.png

INNOVATION PROJECTS: PARKOUR AI

Understanding human movement through parkour and artificial intelligence
 

Using Machine Learning Techniques to identify client skill level. 

#Python

#Pandas

#itertools

#pickel

#os

#numpy

#cv2
#Sqlite3
#Docker

#Influxdb

#Arduino/ESP32

#C++
 

Organisations face several problems.

Automation and artificial intelligence has been seen by many to provide the solution.

  1. ​​Employees stealing clients in client-facing roles  

  2. ​Employees learn trade secrets and then build rival companies. 

  3. Need a system that is pandemic proof (reduced human interaction).

  4. Automation allows for a greater ability to scale operations

  5. Reduced human error in service delivery. 

  6. ​Issues with skills gap - humans require training time and may not perform the role as desired.

  7. Saves time and money for the organisation as repetitive tasks can be carried out by a computer at a fraction of the time.

  8. Software automation prevents business systems from becoming geopolitically locked. 

🚀 AI-Based Skill Assessment & Adaptive Training System

Overview

Designed and built an end-to-end system that captures real-world sensor data, processes it, and uses a custom-built neural network to assess user skill level and adapt training accordingly.

Problem

Traditional training systems apply a one-size-fits-all approach, failing to adapt to individual ability. This project explores how real-time data and machine learning can be used to automatically assess skill level and personalise training.

System Architecture

  • Data Capture:
    Built a hardware-based data collection system using myo sensors and microcontrollers. Initially developed with Arduino, then transitioned to ESP32 for improved reliability and scalability.
    Implemented firmware in C++ after identifying limitations in Python-based approaches (PyFirmata).

  • Data Pipeline & Storage:
    Streamed continuous sensor data into a time-series database (InfluxDB) deployed via Docker.
    Developed Python scripts to ingest, segment, and prepare data for training and testing workflows.

  • Machine Learning Engine:
    Implemented a neural network from scratch in Python (NumPy) without relying on high-level libraries (e.g., TensorFlow).
    Adapted learning algorithms to work with structured CSV data rather than standard image datasets.
    Applied object-oriented design to support training, testing, and prediction pipelines

.

Key Technical Decisions

  • Switched from Arduino → ESP32 to improve hardware robustness

  • Moved from SQL → InfluxDB to support continuous time-series data

  • Built neural network from first principles to gain full control over model behaviour

  • Used NumPy for vectorised computation to optimise performance

Outcome

  • Functional end-to-end pipeline: sensor → database → model → prediction

  • Successfully processed and structured real-world data for machine learning use

  • Developed a flexible system capable of adapting training based on user performance

What This Demonstrates

  • End-to-end system design (hardware + data + ML)

  • Ability to learn and apply new technologies (C++, embedded systems, time-series DBs)

  • Strong understanding of machine learning fundamentals

  • Engineering decision-making and problem-solving under constraints

Future Work

  • Deploy model in real-time for live feedback

  • Expand dataset and improve model accuracy

  • Integrate into a user-facing application

  • Explore reinforcement learning for dynamic training adaptation

github.png
bottom of page