// projects

Things I've built

A mix of production projects, smaller experiments, and a few ideas parked in the archive.

## main projects

Päivänpulma - Daily Puzzle Platform

A live Finnish-language daily puzzle platform with a fresh set of puzzles every day. Nine games (and counting) spanning word, math and logic, inspired by globally loved formats like Wordle, Connections and Nerdle — alongside a few originals of its own. Much of the daily content is generated automatically: a nightly crawler pulls fresh words and sentences from Finnish news (Yle, Iltalehti, Ilta-Sanomat), and LLMs help turn them into crosswords, word-grouping puzzles and cryptograms — keeping the puzzles tied to current events. User accounts (Google + email/password), guest play with history, friends lists, per-game leaderboards, daily streaks and shareable results, all on a mobile-first UI. Live site: https://paivanpulma.fi Try it out :)!

TypeScriptReactNext.jsTailwind CSSFastifyPostgreSQLPrismaGoogle GeminiVercelRailway
visit live site

Exilium - Idle MMORPG

An online idle MMORPG currently in development. Inspired by classic MMORPGs like RuneScape and World of Warcraft, Exilium brings the satisfying progression and strategic gameplay of these titles into an idle format. Train skills, gather resources, and progress your character — even while you're away. Trade with other players, join a guild and climb the leaderboards. Live alpha version: https://exiliumidle.com Feel free to register and try it out.

TypeScriptReactFastifyViteZodPostgreSQLPrismaCloudflareVercelRailway
visit live site

Personal Portfolio Website

A personal portfolio website built with React and Next.js. Yes, this one. 🙂

TypeScriptReactNext.jsTailwind CSSVercel
visit live site

Oura Analytics App (MVP)

A web application designed for exploring and visualizing your Oura Ring data. It features dynamic graphs, easy to understand metrics, and an LLM Chat assistant for personalized guidance. Should revisit this idea again in the future. Current MVP is old, outdated and not maintained — maybe should throw Claude Code at it brrr... 🤖

PythonStreamlitOura API
visit live site

## smaller projects

BSc Thesis: Comparison of CNN Architectures in Fruit Recognition.

PythonTensorFlowKerasJupyter

Image Classification with PyTorch

PythonPyTorchJupyter

Automated Minesweeper Solver

Pythonpyautogui

## archive

League of Legends Analytics App

TypeScriptReactNext.jsTailwind CSSSQLiteRiot API