Recent Projects
-
High-Performance WASM-based CP-SAT solver for client-side optimization
C++
WebAssemblyTypeScript Automation Backend
Team optimization in our web-app should in principle be fully automatable, but it turns out to be quite a hard (in fact, NP-hard) problem. To automatically generate an optimal configuration given a partial team with other user-constraints, we may model this problem for resolution via a SAT-solver. Aiming to keep server costs in check, I decided to create a highly performant client-side optimizer. To achieve this, I implemented the solver in C++ using the or-tools library and then compile it to a small WASM executable running directly in the user's browser.

Published: February 1, 2026
-
V2Ray for dummies - How to access the free internet from an uncooperative country
Docker NetworkingDue to recent events affecting a good (Iranian) friend of mine, I decided to look into how to configure a robust network tunnel to the "free" internet in the event of another country-wide network shutdown. Since existing documentation on v2ray and its setup can be hard to follow, I decided to create a more end-user-friendly write-up of how to set up such a system. I hope it can help others in the event of another situation like this.Published: January 23, 2026
-
F/GO Team Optimizer Web-App
TypeScript
React Frontend
One of the games I've been playing recently has ended up creating an interesting optimization problem recently, so I tried my hand at creating a visual team optimizer for it. In essence, characters and buffs a team carries have different affinities, increasing the rewards a player receives for every affinity successfully matched. This optimizer makes these hidden interactions readily apparent in turn making it much easier for players to create and share optimal configurations. I am thinking of creating an automatic optimizer soon, as well, since this seems like an excellent application for a SAT-solver.

Published: December 7, 2025
-
Wake-on-GPIO - An alternative to WoL for remote server startup
Python Automation Networking Electronics
Repurposing an old PC as a home server is popular, but can become very energy-inefficient when idling for long periods. Protocols such as Wake-on-LAN can also be unreliable, especially in the event of an unrecoverable system state. As power buttons generally work just by momentarily shorting their two power pins, we may use a low-voltage one-channel relay to simulate this action. This guarantees remote startup and shutdown functionality even in the event of a stuck system.

Published: November 24, 2025
-
Integrating custom GET and POST requests in home dashboard
TypeScript Automation Networking
Homepage from gethomepage.dev is a popular dashboard application for home servers. It includes various plugins that allow for the display of the states of services like Plex or Calibre. The project however currently does not offer any way of sending a custom GET or POST request to a local server. I decided to create a simple addon to add password-protected buttons, which can be used to send custom requests to a local server. In my case this allows me to easily and remotely start up or force a shutdown of my media server and 3D printer.

Published: October 7, 2025
-
OmnomMon - Pantry and Nutrition tracking
Android
React Native SQL Full-Stack
I had long been looking for a really nice nutrition tracking app that would also allow me to track food in our pantry to prevent expired food, and to more easily create shopping lists. This app aims to to combine these features in a simple to use UI. For the tech stack I worked with React Native with an SQL backend. Under the hood it makes use of the amazing OpenFoodFacts non-profit database for food product data.


Published: August 22, 2025
-
Custom enclosure and ventilation design for a 3D printer
Python CAD 3D Printing Electronics
Though the 3D printer community would want you to believe that burning plastics in your living space is perfectly natural and safe, I personally find that even PLA (poly-lactic acid) plastics will cause me respiratory irritation, like a sore throat. To ensure proper ventilation, I constructed a custom 3D printer enclosure using a kitchen cabinet as a base, combined with various 3D printed parts. The result is a chamber which uses fan-induced negative pressure to vent air from the enclosure out of the room straight back to mother nature. Don't let her find out.

Published: March 8, 2025
-
Automation tool for Isometric Action Games
Python Computer Vision Real-Time Processing Automation
An automation tool for unsupervised completion of a diverse set of tasks in the context of an isometric action RPG game. The tool uses pattern matching and computer vision to assess game state, identify UI elements, and then simulates mouse and keyboard inputs to execute actions. Tasks include real-time action combat in a 3D isometric environment and dynamic pathfinding, which go far beyond the capabilities of basic auto-clickers.

Published: December 17, 2024
-
Stub
Python Automation Electronics
The number of Windows users willing to consider the switch to an alternative Linux-based operating system (OS), has significantly increased recently. This is caused by a combination of factors, including lack of older hardware support in Windows 11, general enshittification (), as well as better user experience and application support on competing (linux) platforms, due to compatibility layers like proton. One OS often touted as being particularly difficult to install and set up is Arch Linux. Due to its "build-it-yourself" approach it offers extremely high customizability, though on the flip-side requiring a willingness on the side of the user toPublished: October 7, 2024
-
Sensor Failure Mitigation in Automotive 3D Object Detection
Python Research Computer Vision Sensor Fusion Deep Learning Real-Time Processing
Master's thesis on enhancing the robustness of LiDAR-camera fusion for object detection in automotive applications, with a focus on mitigating the impact of individual sensor failures.
Published: May 15, 2024
-
Camera-based 3D object reconstruction using velocity fields
Python Computer Vision Scene Reconstruction Deep Learning
Camera-based 3D scene reconstruction implementation inspired by "Diffeomorphic Neural Surface Parameterization for 3D and Reflectance Acquisition" by Cheng et al. (Paper, Code). We investigate the viability of this reconstruction approach for non-trivial backgrounds.
Published: August 22, 2023
-
Graphics Engine Implementation in Vulkan
C++ GLSL Vulkan Physics Simulation Game Development
Implementation of graphics and shader processing in Vulkan for a 3D game engine. Over the course of a few weeks we created a low-level implementation for a simple space shooter game. This included C++ code for everything from game logic to texture optimization and terrain generation, as well as GLSL shaders for everything that has to be displayed on screen. (Since basic scaffolding was provided by TUM CGV, the full source is currently not publicly available)Published: June 29, 2023
-
Game Physics Engine Implementation using OpenGL
C++ GLFW Physics Simulation Game Development
A 3D physics engine in C++ using OpenGL, featuring rigid body dynamics, collision detection and resolution, and spring mechanics for spheres, cuboids, and tethers. Built as part of a small team, the engine powers a simple shooting game with real-time cursor interaction and collision-based scoring to showcase its capabilities.
Published: May 15, 2023
-
End-to-End Learning for Indoor Scene Synthesis using Low-Dimensional Representations
Python Sensor Fusion Object Detection Deep Learning
Autoregressive synthesis of realistic indoor scene layouts. An Autoencoder in voxel space allows for direct generation of the furniture, resulting efficient and diverse furniture arrangements.

Published: February 7, 2023
-
Voxel Carving Implementation for 3D Object Reconstruction
C++
Python 3D Reconstruction
We implement a voxel carving algorithm in C++ to reconstruct a colored 3D object from multiple RGB images, using pose estimation with ChArUco markers and image segmentation for preprocessing.

Published: February 7, 2023
-
Evaluation of Scene Representation Networks for Streamline Integration
Python
C++ Physics Simulation Deep Learning
In this bachelor's thesis, we evaluate a pre-trained Scene Representation Network for modeling a smoke plume. We focus on analyzing the similarity of advected streamlines within the vector field.

Published: February 15, 2022
-
Community Website and Guide Platform for Online RPG
React
TypeScript CI/CD
Contributed to the development of discretize.eu, a comprehensive Guild Wars 2 guide website serving thousands of daily users. Built with React, the site provides detailed dungeon guides, character builds, and community resources for high-end PvE content.


Published: March 17, 2021
Academic Experience
-
M.Sc. Informatics
Technical University of Munich
Institute of Automotive Technology
April, 2022 - September, 2024Grade: 1.5 (German system, 1.0 = best, 5.0 = fail)
Thesis: Methods for Sensor Failure Mitigation in 3D Object Detection (Grade 1.3)
-
Research Internship
Nara Institute of Science and Technology
Optical Media Interface Lab
October, 2023 - March, 2024
-
B.Sc. Informatics
Technical University of Munich
Chair for Computer Graphics and Visualization
September, 2018 - April, 2022Thesis: Evaluation of Scene Representation Networks for Streamline Integration
Professional Experience
-
Working Student - Customer Success Management
C4B Com For Business AGOctober, 2021 - August, 2023

- Designed, prototyped, and shipped a cross-platform Electron application to enhance user experience, later commercialized as a companion app ("AnyBell").
- Built a Microsoft Teams app to securely integrate company data, ensuring compliance with internal policies and improving accessibility.
- Developed various internal support tools using TypeScript, Python and Powershell.
-
Tutor - Fundamentals of Programming
Technical University of MunichNovember, 2020 - March, 2021
- Led weekly programming tutorials in Java, teaching object oriented programming concepts.
- Provided hands-on coding assistance and feedback to students, helping them understand and apply theoretical concepts.
- Reviewed and graded student assignments and exams.