42 projects

2025

hackUPC_25
hackUPC_25
TypeScript
escape-from-arcturus
escape-from-arcturus
Scala

2024

pixelmarkets
pixelmarkets
Svelte
reviewanything
reviewanything
CSS

Review literally anything, from life to Geometry Dash

bartoff
bartoff
TypeScript

vaihtokauppa

yograph
yograph
Python

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

2023

tsyk-website
tsyk-website
Svelte

Student-run website of TSYK upper secondary school.

pss-verify-bot
pss-verify-bot
Python
hackupc-2023
hackupc-2023
Svelte

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

ruokavuorot
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.

worm
worm
JavaScript

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

turku-palaute
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
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.

min-chess
min-chess
Svelte

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

libc-reference
libc-reference
HTML

List of C functions including which standard they belong to

mindmapper
mindmapper
JavaScript

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

wilma-analyzer
wilma-analyzer
TypeScript

Analyzes Wilma messages sent by teachers and calculates cool statistics.

2022

miikat.dev
miikat.dev
HTML
prefood
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
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
jumpybird
JavaScript

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

wordle-minimal
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
dontpanic
Svelte

Backend: https://github.com/nam-vuhoang/fresh-air

birdnest
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
reverse-powershell
PowerShell

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

web-chess
web-chess
Svelte

Play chess against a computer.

textart
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
qtick
Svelte

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

game-of-life
game-of-life
Svelte

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

weather
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
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
trivia-hack
JavaScript

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

qlet
qlet
TypeScript

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

secret-santa
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-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
textart-svelte
JavaScript

discapes/textart using svelte.

2020

Javaquarium
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.

javafx-battleships
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
dungeoncrawler
C++

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

ACHook
ACHook
C++

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

jetfuel
jetfuel
Java

Example afterburner.fx project.

battleships-in-c
battleships-in-c
C

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