Theodor Kvarnström

Programmer portfolio.

Tech stack and languages:

Pixel: Chat Guardian



Check it out on




Pixel: Chat Guardian is a client-ordered game developed in collaboration with educators and psychologists, intended to combat online bullying by simulating a chat environment.
Development time: One month.
Platform: Mobile.
Team Size: 3
My Role: UI/UX programming and backend Firebase development.

Key learnings: broker pattern.
Firebase Authentication
Firebase Firestore
Pixel: Chat Guardian demo
Character artwork, logos, UI buttons and cutscene animations ©2025 School On Cloud Pte. Ltd.

Key learnings/takeaways: Implementing Firebase Authentication for account creation and login management on the backend with Firebase Firestore managing/storing user-data such as scores. I've also learned how to design software that is made to not spam the backend server with costly calls.

I also learned how to implement and maintain a broker pattern, managing event delegates for subscribers and unsubscribers (listeners) for the current UI state, sound & payloads across Unity Scenes. I've also worked hard to keep a separation of concern for all script objects. Additionally, I collaborated with stakeholders to integrate their assets and ensure they were responsive across a wide range of screen resolutions and aspect ratios.

Mattarikon App



Check it out on



Mattarikon is a client-ordered app developed with permission from the Mangakai event organizers, featuring an event schedule and general information about the event.
Development time: Active development for the next event.
Platform: Android.

Key learnings: Flutter development
Dart programming
Getting data from external API

Key learnings/takeaways: Gaining experience in Flutter development and the Dart programming language. Other takeaways include learning how to pull and display data obtained through an external backend API that was already developed for the event website.

Unfortunately, I’ve been asked not to share the codebase since it connects to an API controlled by the event organizer.

Logos and media inside app ©2025 Föreningen Mangakai.

MaruTeto

Come play on Itch!

Itch Play
Development time: One week.
Platform: PC arcade.
My Role: UI/UX & sound programming.

Key learnings:
DOTween
Basic sound programming
Storing highscores
Unity Player Prefs
Maruteto
MaruTeto is a collaborative game developed by Forsberg programming students from Sweden in partnership with a design school in Japan. Created over the span of just one week during the summer of 2025, the game offers a fresh take on the classic Tetris formula. Instead of clearing traditional lines, players clear a circle, with the added twist of being able to rotate both the blocks and the game circle itself.

Check it out on: .

Procedural maze generation algorithm



Check it out on: GitHub



Procedural maze generation algorithm is a randomized maze generator programmed in C, with the rendering/visualization powered by the Raylib library.
Development time: 2 weeks.
Platform: PC (console-based visualization using Raylib)

Key learnings/takeaways: rendering graphics through Raylib and researching different algorithms for implementation, along with their trade-offs in performance and implementation difficulty. I chose to utilize and implement a DFS (depth-first search) algorithm with backtracking to generate the maze. Advantages/Disadvantages of DFS: Quick and easy to implement, but not the most suitable tool for larger projects or performance-sensitive work, as it lacks heuristic characteristics in its algorithmic implementation. Something you can find in other alternative algorithms such as A*.

Game Project 1: Arena Slash



Check it out on: GitHub.



Development Time: One month, start of December to 9th January excluding holidays
Platform: PC.
Team Size: 5.
My Role: UI/UX editing, Programming & Post Processing.

Arena Slash is an Action Role Playing game developed at Forsbergs School by a team of Game Programming students.
Key learnings/takeaways: working within a team enviroment, scrum planning, basic UI programming and using getters and setters in a productive setting.

Game jam: Stork Delivery Service



Check it out on: GitHub.
Or play the game on Itch



Game Jam Duration: 48 hours
Platform: PC/Arcade.
My Role: UI/UX programming.

Stork Delivery Service is a game developed within a 48-hour game jam event held at Forsberg's School in September 2024. The theme of the game jam was gift and in-game you play as a Stork tasked with delivering Christmas gifts to house chimneys of the appropriate colours.

During the game jam I spent most of my time working on the UI elements such as the countdown slider bar, countdown text, pause menu, main menu and such.

Game jam: Plumber hero



Check it out on: GitHub.



Game Jam Duration: 48 hours
Team size: 4 (1 artist, 1 sound designer, 1 UI programmer and 1 gameplay programmer).
Platform: PC/Arcade.
My Role: UI Programming.

Plumber hero is a game developed within a 48-hour game jam event held at Game Town during Global game jam 2025. The theme of the game jam was bubbles and in-game you play as a plumber tasked with fixing old pipes that bubbles are spawning from.

Quick Unreal project



A quick 3-hour Unreal Blueprint project where I implemented a door with animation and a traffic light that switches between green and red when a collision is detected, simulating someone pressing a button.