

Organisations face several problems.
Automation and artificial intelligence has been seen by many to provide the solution.
🚀 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

-
Myo 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).

-
Movement Data Capture:
Collected high-frequency full-body motion data using a 9-DOF motion capture suit operating at 200 FPS. Captured orientation, acceleration, rotation, and elevation data in real-world training environments, producing structured time-series datasets used to train machine learning models for movement classification, skill assessment, and adaptive training.
-
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). Built models from base physics principles providing greater controle over the model.
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
