57 projects

2026

.
repomgr
Svelte

repomgr is a tool I made to manage my Github repositories and projects that I want to show on my portfolio website, allowing me to sort and organize them efficiently.

.
the-last-todo
Svelte

I found it easier to create the todo app that's perfect for me instead of wasting time to look for an existing one.

2025

.
aaltodef25
TypeScript

Aalto Defence Hackathon 2025 project: TRAK is a comprehensive system for tracking civilian resources and analyzing the capabilities those resources can provide.

.
hackUPC_25
TypeScript

HackUPC 2025 project: Travelero integrates Skyscanner API data, Tinder-inspired preference-based matching, and AI assistance via a custom agent to solve the complex problem of finding optimal meeting points for international friend groups.

.
dronetrack
C++

Junction 2025 project: High-speed object motion extraction using event camera streams (DAT format) with clustering and per-rotor RPM estimation. It can track propellers in real time using a C++ multithreading architecure and determine the propeller RPMs separately.

.
escape-from-arcturus
Scala

Text game written in Scala for the O1 course.

2024

.
assembly-app
TypeScript

Repository containing assets & code for Assembly mobile app

.
pixelmarkets
Svelte

A high-performance market analysis platform for SavySoda’s Pixel Starships. This tool monitors the game’s complex virtual economy in real-time, providing both standard search tools and advanced analytical capabilities for power users.

.
hackUPC-2024
Svelte

HackUPC 2024 project: RackRanger connects multiple server racks across various locations to a single Grafana dashboard. This dashboard shows real-time temperature and humidity data for all the racks. It also detects and displays any tampering events, like someone trying to mess with a server rack.

.
reviewanything
CSS

A project I made for fun, this is a web app that allows you to submit 'reviews' for any possible subject, like life or Geometry Dash. Integrates OpenID Connect authentication with Keycloak.

.
yograph
Python

Scrapes data related to the Finnish Matriculation Examination, specifically YLE survey results and YTL point requirements.

2023

.
tsyk-website
Svelte

Student-run website of TSYK upper secondary school.

.
pss-verify-bot
Python

This project is a Discord bot and online platform to allow users to link their in-game Pixel Starships account to their Discord account, and sync various data across multiple Discord servers. With around 10 000 users, the bot is used by the official PSS Discord and many of the most popular community servers.

.
hackupc-2023
Svelte

HackUPC 2023 submission: MongoDB/SvelteKit/Rust/Python app that allows students to share notes and rank them with an AI evaluation.

.
ScalaRender
Scala

OpenGL rendering engine made with Scala

.
blurring
C

Simple program to blur an image, do edge detection or other convolution kernels. Uses the EGL DRM platform to initialize OpenGL, so it can be run even without a display server. Run the program without arguments or with -h to see usage.

.
ruokavuorot
TypeScript

Quickly tells you your meal times at the school of TSYK. just copy paste your schedule from Wilma, and the site automatically parses it.

.
mchat
TypeScript

Completely end-to-end encrypted and anonymous messaging app. The only backend is a Postgres database, so everything works transparently.

.
worm
JavaScript

Minimalistic but addictive implementation of the classic snake arcade game. Written in pure HTML and JS.

.
wireguard-network-gen
Python

This tool automates creating an encrypted virtual private network, allowing direct port access between clients that are behind different networks and NAT layers. It is built on the Wireguard protocol.

.
turku-palaute
Svelte

Displays feedback to the city of Turku from a public API. Includes links to a map that shows the relevant location.

.
truth-tabler
HTML

Web application that renders truth from a proposition, including the result of that proposition. The logic is implemented in Python and run on the web with Pyodide. Latex is rendered with MathJax.

.
ansible-honeypot
Jinja

Ansible roles for setting up Linux honeypot machines

.
min-chess
Svelte

Play chess against a WebAssembly Stockfish with NNUE evaluation. Stockfish is compiled from C++ with Emscripten.

.
libc-reference
HTML

List of C functions including which standard they belong to

.
mindmapper
JavaScript

Simple mindmap creator. No ads or login. I also made this one because almost everything requires an account these days.

.
wilma-analyzer
TypeScript

Calculates interesting statistics and insights from received Wilma messages.

2022

.
miikat.dev
HTML

My website / portfolio. You might be here right now.

.
prefood
TypeScript

Full-stack food order complete with user accounts, third-party authentication providers, an API with Swagger docs and online payments using Stripe.

.
saund
Svelte

Music guessing game similar to wordle. Connects to the SoundCloud API to play songs, which you have six tries to guess correctly with the help of autocomplete. The sample duration increases each guess.

.
jumpybird
JavaScript

Classic arcade game with a twist. Also a Progressive Web App demo that auto-updates automatically and works offline.

.
wordle-minimal
JavaScript

Wordle, but it uses HTML-native input elements for you to enter the guesses in. This makes the game more difficult, as you can't see the keyboard with colors.

.
dontpanic
Svelte

Submission for the Junction 2022 Mental Health challenge.

.
birdnest
TypeScript

Reaktor 2022 pre-assignment. Fetches drone data and keeps track of no-fly zone offenders. I forgot to add auto-restart, but it's been running with 0 crashes since 11. December.

.
reverse-powershell
PowerShell

Quickly generate a powershell command for a reverse shell. Use responsibly, at your own liability.

.
web-chess
Svelte

Play chess against a computer.

.
textart
JavaScript

Make images from text. Also doubles as a pixel art editor. It's not super complicated, just serializes the text into RGB data that it renders on to a canvas. However, some tricks are involved.

.
qtick
Svelte

Time visualizer: renders a clock to help visualize time spent on things every day of the week.

.
m-edit
Svelte

A wrapper around the math editor used in Finnish exams that it allows saving and restoring multiple pages, and of course dark mode.

.
game-of-life
Svelte

Efficient implementation of John Conway's Game of Life, using HTML5 canvas.

.
weather
JavaScript

SvelteKit app that gathers and displays weather data from multiple sources, including every city in the world with over 5000 citizens.

.
wordle-difficulty
JavaScript

See how difficult today's wordle is. Also includes previous days. This webapp hooks to the datamuse.com database for word frequencies in English literature.

.
trivia-hack
JavaScript

Trivia game. Get a high streak! I made this because all of the others kind of sucked.

.
qlet
TypeScript

Scrapes language-to-language dictionaries from Quizlet and the publishing platform Otava, and creates a practise test for them.

.
secret-santa
TypeScript

Can't get everyone together in the same place? Just deploy this to have a deterministic algorithm generate recipients for everyone!

.
ocaml-mandelbrot
OCaml

OCaml program to render the mandelbrot fractal (and others). Should be very fast at generating a top-level image. Only dependency is the graphics library.

.
textart-svelte
JavaScript

discapes/textart using svelte.

2020

.
Javaquarium
Java

JavaFX demo app that uses most of the framework's features (available at the time). I also made my own dependency injection and caching framework for this project.

.
CppRender
C++

Complex rendering engine written with C++ and OpenGL that supports text rendering, model loading, multiple moving objects and light sources, viewer controls...

.
javafx-battleships
Java

Another battleships game, this time in Java and JavaFX. It's also one of my first projects, so the code might not be the best.

.
dungeoncrawler
C++

Basic dungeon crawler with collision detection and infinite room generation. Made in C++.

.
phong-lighting-demo
C++

Object-oriented C++ rendering engine with shaders based on the Phong lighting model with multi-light support using shader storage buffer objects.

.
opengl-triangle
C

Testing texture rendering in OpenGL and freetype text.

.
ACHook
C++

Binary patching framework for retro game AssaultCube. Made in C++, for educational purposes only.

.
battleships-in-c
C

Singleplayer version of the classic boardgame. Reads a configuration file for ship locations.

2019

.
farm
Java

One of the first games I made, rewritten to modern Java standards. Includes JUnit 5 tests, dependency injection with Guice and native images.

.
cloud
PHP

A simple file hosting site that also works as a pastebin. Features include an ip logger, download links, text editing, listing files and temporarily trashing them.