Advent of Code, 2022-2025->
- Daily Christmas calendar coding tasks event, once a year
- Rust, colored CLI with self-made solution runner
- Zero-Cost Abstractions, Data Parsing & Pattern Matching
- Algorithms and optimization: Graphs, BFS/DFS, Dijkstra, pathfinding, multithreading with Rayon
- Extensible architecture and utility libraries to avoid repetitive code
Tenebris Core, 2026
Created by Team SANDA as part of the Game Project 2026 course at Tampere University, Finland
- 2D Metroidvania action-platformer set in a mysterious atmospheric world
- Two zones, multiple maps, three types of enemies
- Melee combat, pickups like double jump, lava boots
- Keys, moon pieces, secret item pickups for alternative ending
- Godot 4.6, GDScript, entity state machine, Signal Bus, solid architecture and separation of concerns
ACSIM map generator, 2023
Tech demo for high-performance 2D chunk-based map generator. Generates graphical SimCity-style maps based on input image.
- Godot game engine, GDScript
- Threaded chunk rendering to support large maps and render only what is needed
- Procedural forest generation with noise map
- Basic rotatable camera and and a minimap
Solita offline voice assistant, 2025
A headless, voice-first voice assistant running on Raspberry Pi. User can chat with an Edge LLM without internet access. Only mic and speaker required.
- Python, Docker, Raspberry Pi 4, Runs inference with Google Gemma 1B model locally
- My role: Project manager, design, documentation, some coding
- User Intent recognition with Hassil, Speech-to-text with Wav2vec2, Text-to-speech with Piper
- ChromaDB for Resource-augmented generation, SBERT for summarizing user input
- Taught a lot about project management. Project was perfect on paper 😁
- For Software engineering 2 project course
Pareto software CVMaker add-on, 2024
CVMaker is an internal tool used by Pareto. It allows managers to check people's up to date skills and find suitable persons for new customer projects. Data entry by hand was tedious - implemented an automated CV import feature with help of LLM.
- Dart, Flutter
- Create structured JSON data with LLM from a freeform user-provided CV file.
- My role: Design and implementation of the add-on
- Parses data from .docx and .pdf CV's to JSON via OpenAI structured API
- Pre-fills CV data, user can then do any manual corrections if needed
- For Software engineering 1 project course
For internal use only, no code available
Web billing and inventory management software, 2024
Allows importing inventory via XML, managing your customers, projects, invoices etc.
- Typescript, Tailwind, Handlebars JS, Node.js,PostgreSQL, Docker
- My role: MVC's, UI styles, SQL queries
- Constructing views from SQL data, managing complex VAT amounts and percentages
- Learned the importance of solid database design to support ie. 25,5 % VAT
- For Database Programming course
Fingrid electricity data browser, 2023
Allows browsing Fingrid's Open Data and FMI's weather data. Renders graphs based on the data to UI.
- Java with, JavaFX, unit testing, JSON and XML parsing
- My role: Reactive UI development with Scene Builder, controllers
- OOP, MVC to decouple UI logic from business rules
- Threaded background data retriever for lag-free UI
- Mixed data in same charts - for example electricity usage and temperature
- For Software design course
Sisu degree planner, 2023
Allows browsing Funidata's university course and degree programme database via SISU API. Can be used to plan your degree programme and track course progression and grades.
- Java with, JavaFX, unit testing, JSON parsing
- My role: Reactive UI development with Scene Builder, view and viewmodel programming
- OOP, MVVM to decouple UI logic from business rules
- High-performance data filtering: "live search" that provides instant results
- For Programming 3 course
Home IT infrastructure, ever ongoing..
For running of arbitrary services at home including development/test VM's, databases and file hosting
- Unifi home network with PoE Wi-Fi AP's, 10GbE LAN
- Routing by OpnSense running on dedicated hardware
- Proxmox-based home lab with a TrueNAS ZFS Z2 pool for file storage
- Web-managed interfaces for everything, avoids most need for local access