Projects

Selected projects that show practical implementation, technical ownership, and my ability to build complex features and working products from unclear requirements.

Gamified Joint Rehabilitation, Analysis and Training (GameRAT)

Timeline: 1/2024 - 3/2025

A 15-month healthcare software project where I independently built the web platform, GraphQL backend, MongoDB infrastructure, 3D exercise editor, movement-data pipeline, analysis tools, messaging, and supporting systems for Quest 3 physiotherapy data.

Independently responsible for the web platform, backend, database infrastructure, authentication, 3D exercise editor, movement-data pipeline, and neural-network support systems.

Technologies
  • TypeScript
  • React
  • Vite
  • Three.js
  • GraphQL
  • Node.js
  • MongoDB
  • JWT
  • RSA encryption
  • .NET
  • Unity integration
  • Machine Learning
  • GameRAT was built to gamify physiotherapy exercises and give physiotherapists tools to assign, monitor, and analyze patient exercises.
  • I independently designed and built the full web platform and backend from scratch, including the React frontend, GraphQL API, JWT authentication, role-based access control, MongoDB data model, and server-side infrastructure.
  • Built the physiotherapist interface for login, patient creation and editing, assigning pre-made or saved exercises, viewing 3D exercise previews, reviewing completion status, messaging with patients, and collecting pain-scale feedback for each exercise.
  • Created a custom Three.js-based 3D exercise editor where physiotherapists could manipulate arm joints with sliders and save reusable keyframe-based exercise animations in an intuitive workflow.
  • Designed a custom JSON movement-data format and parser that converted raw Quest 3 hand-tracking data into browser-playable Three.js animation data for movement analysis.
  • Implemented Unity-facing API interfaces for patient authentication, exercise data exchange, and recorded movement-data submission from Quest 3 applications.
  • Built a separate .NET data-collection application and backend for recording good and bad physiotherapy movement samples used to train a custom neural-network system from scratch.
  • Implemented sensitive-data handling measures, including role-based access boundaries, backend-only database access, and RSA encryption for patient-related data.

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.

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

Technologies
  • TypeScript
  • React
  • Vite
  • Leaflet
  • Node.js
  • WebSocket
  • JSON
  • 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.
  • 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.

TKIO-Finder

Timeline: 1/2026 - 5/2026

A full-stack matching platform for helping Metropolia students and staff discover and connect around RDI project positions.

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

Technologies
  • TypeScript
  • React
  • Vite
  • Google OAuth2
  • PostgreSQL
  • Node.js
  • Built a full-stack platform to solve the problem that many Metropolia RDI project positions were open to students and staff, but difficult to discover.
  • 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.
  • 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.

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
  • 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
  • Deployed the site on Vercel and added Vercel Analytics for lightweight visitor insights