Virtual Runner

Digital Twin of a Runner

Explore Project

Project Overview

The Virtual Runner project focuses on creating a comprehensive digital twin of a runner, integrating multiple cutting-edge technologies into a unified application. This thesis demonstrates the practical implementation of various computer science disciplines working together to solve real-world problems.

  • Web Application (React, Node.js, MongoDB)
  • Desktop Data Processing (Kotlin)
  • Mobile Data Collection (Kotlin)
  • Custom Programming Language (Kotlin)
  • Blockchain & MPI Application (Python)
  • AI Pattern Recognition (Python)
  • Video Game Development (libGDX - Java)
  • CI/CD Pipeline Implementation

Accredited Curriculum

Web Application Development

Developed the core web application using React, Node.js, and MongoDB to create a comprehensive platform for runner data visualization and management.

System Administration

Implemented CI/CD pipelines and managed system deployment, ensuring scalable and maintainable infrastructure for the entire project ecosystem.

Compiling Programming Languages

Created a custom domain-specific language for GeoJSON visualization, complete with lexer, parser, and interpreter components.

Principles of Programming Languages

Applied fundamental programming language concepts in the design and implementation of the custom visualization language, focusing on syntax and semantics.

Computer Vision & Pattern Recognition

Developed AI algorithms for analyzing running patterns and performance metrics, utilizing machine learning techniques for data insights.

Parallel & Distributed Computing

Implemented blockchain technology with MPI for secure, distributed data processing and validation across the runner ecosystem.

Platform-Based Application Development

Built mobile and desktop applications using Kotlin for real-time data collection and processing, ensuring cross-platform compatibility.

Game Development

Created an interactive game component using libGDX and Java to gamify the running experience and provide engaging user interactions.