Miro Mariapori

Selected work

Projects

Four projects showing how I approach technical ownership, real-time systems, data-heavy products, and full-stack delivery.

Gamified Joint Rehabilitation, Analysis and Training (GameRAT)

Timeline: 1/2024 – 3/2025

A 15-month research project for gamifying and tracking physiotherapy exercises and analyzing movement data. I worked in a four-person multidisciplinary team and was solely responsible for the project's web development.

My role

I worked in a four-person multidisciplinary team and was solely responsible for the project's web development, the neural-network implementation, and the backend that received its training data.

Technologies
  • TypeScript
  • React
  • Vite
  • Three.js
  • GraphQL
  • Node.js
  • MongoDB
  • JWT
  • AES encryption
  • .NET
  • Unity integration
  • Machine Learning
Key highlights
  • Designed and implemented the React web platform and Node.js/GraphQL backend from scratch, including the MongoDB data model, authentication, and server infrastructure.
  • Built tools for physiotherapists to manage patients, assign exercises, preview them in 3D, review performances, send messages, and collect pain-scale feedback.
  • Implemented a Three.js 3D exercise editor and a movement-data pipeline that transformed Quest 3 hand-tracking data into browser-playable animation data.
More technical details
  • Implemented backend APIs used by the Unity application for authentication, exercise-data exchange, and movement-data submission.
  • Designed and implemented a neural network from scratch for a proof of concept investigating whether incorrect physiotherapy movement could be detected from movement data.
  • Designed the neural network's training data: approximately 1,000 performances of one physiotherapy movement were collected, about half correct and half intentionally incorrect.
  • Built the backend that received movement data collected from the Quest device for neural-network training. The Quest data-collection application was implemented by another team member.
  • Implemented role-based access control, backend-only database access, and AES encryption for stored patient-related data. No real patient data was used in testing.
  • Physiotherapists evaluated the web system in project user testing, where the system was found functional and sufficiently easy to learn.

Route Management System for an Autonomous Tracked Articulated Vehicle

A TypeScript thesis system for visual route creation, vehicle-specific command routing, and real-time monitoring of autonomous tracked vehicle simulations.

My role

Sole developer responsible for the frontend, backend, WebSocket protocol, simulator, documentation, and system architecture.

Technologies
  • TypeScript
  • React
  • Vite
  • Leaflet
  • Node.js
  • WebSocket
  • JSON
Key highlights
  • Built the system as a thesis project to enable visual creation and management of routes for an autonomous tracked articulated vehicle.
  • The system was designed as a step from direct remote-control operation toward route-based autonomous control, while full collision-avoidance autonomy remained outside the thesis scope.
  • Built a React and Leaflet map interface where users can add, move, and remove route markers while the route is automatically drawn between GPS points.
More technical details
  • Represented routes with GeoJSON and route metadata such as route name and point types including start, mid, and end points.
  • Implemented a TypeScript Node.js WebSocket server for real-time communication, vehicle-specific identifiers, command routing, and status updates.
  • Built a vehicle simulator that maintains its own GPS position and heading in memory, reacts to commands like the real vehicle would, and follows route commands as a simplified GPS line follower.
  • Added a safety behavior where lost connection events send a stop signal to all connected vehicles.
  • Validated the system with multiple simultaneous simulated vehicles and documented the implementation for future development.
  • System communication was integrated as far as the vehicle computer. The complete route management system was not yet deployed end to end in the actual vehicle during the thesis.

TKIO-Finder

Timeline: 1/2026 – 5/2026

A working full-stack demo built for Metropolia as the client to improve the discoverability of RDI project positions and connections between students and projects.

My role

Mainly responsible for backend development, database design, authentication, deployment, and infrastructure.

Technologies
  • TypeScript
  • React
  • Vite
  • Google OAuth2
  • PostgreSQL
  • Node.js
Key highlights
  • Metropolia was the project's real client. The implementation was built as a working system-concept demo that could later be developed into a production service.
  • Implemented a lightweight matching workflow where students can like a project position, attach a short message, and match with the project owner if both sides show interest.
  • Designed the database model for users, jobs, applications, and matches using PostgreSQL.
More technical details
  • Implemented full-text search and filters such as location and position type to make project opportunities easier to browse.
  • Added Google OAuth2 authentication and restricted usage to Metropolia-managed email accounts, with separate roles for students, staff, and admins.
  • Implemented profile and job-posting CRUD features for students and staff users.
  • Deployed the project to a private server with Nginx, PM2, reverse proxy configuration, HTTPS, domain setup, server process management, and a CI/CD pipeline.
  • Received the highest grade for the project.

Other work

Personal Portfolio

A multilingual Next.js portfolio designed to present my projects, technical ownership, CV, and contact details clearly for recruiters and technical reviewers.

Technologies
  • TypeScript
  • Next.js
  • next-intl
  • CSS Modules
  • Vercel
Key highlights
  • Designed and developed a multilingual portfolio website for presenting my projects, skills, CV, and contact details
  • Built a responsive interface with CSS Modules, keeping the layout simple, maintainable, and easy to scan
  • Added page-specific metadata, canonical and alternate language links, and JSON-LD structured data for SEO
More technical details
  • Deployed the site on Vercel and added Vercel Analytics for lightweight visitor insights