My Projects
Featured projects I build, run and actively maintain.
Unseen Servant
ActiveA D&D 5e campaign tracker and character manager: Vue front end on a Spring Boot REST API with MySQL, dual OAuth2 login and Docker deployment. My graduation thesis, still actively developed.
Pärlband
ActiveA serverless full-stack band website — a Next.js static export with its API, database and media storage running on Cloudflare's edge.
This Website
ActiveMy portfolio, built with Nuxt — file-based routing, typed composables and reusable components, migrated from a Vue SPA.
5e Encounter Builder
ActiveA Vue encounter builder for D&D 5e that pulls monsters from the Open5e API and keeps the combat list in local storage.
Academic & Educational Archive
Built during my studies at IT-Högskolan — kept here as an educational archive.
Cinema Scala
A full-stack cinema booking system: Vue.js front end on a Spring Boot API with Google OAuth2 sign-in and movie data from TMDB.
Top Flicks
A browser-based movie app built with HTML, CSS and JavaScript — user accounts, movie search and a favourites list.
Search Service for Chatgut
An Elasticsearch-backed search microservice for the Chatgut messaging platform, written in Java with Spring Boot and deployable to Kubernetes.
Spring Boot Messaging Application
A server-rendered messaging platform built with Spring Boot and Thymeleaf — accounts, message editing, translation and MySQL storage.
SPI Unit Converter
A Java unit converter built on the Service Provider Interface pattern, with pluggable converter modules discovered via ServiceLoader.
Jakarta Project with WildFly
A Jakarta EE REST service on WildFly exposing CRUD over a movie database with JAX-RS, tested with Testcontainers and RestAssured.