Skip to main content
vhilla Homepage

Mozilla

SE3

In March 2026, I became senior and look forward to the next years.

I'll work on View Transitions

SE2

It was such a pleasure to continue full time at Mozilla after my studies completed. From November 2024 to March 2026, I was a Software Engineer, again in the DOM Core team.

I spend most of my year on synchronous about:blank (bug 543435). This was awesome to get to know the code more and collaborate with various teams, while closing an important web-interoperability gap. Though inheriting a 16 year old patch and touching over 240 files, mostly to fix load races has been... something.

Another fun thing I implemented is Document Picture-in-Picture:

Working Student

Working student at Mozilla in the DOM Core team, April 2023 till July 2024.

It's been an interesting time developing Firefox features in C++, testing them with JavaScript while also discussing web standards.

I fixed bugs for #interop2023 and #interop2024, mostly related to HTML forms and text directionality. I also implemented several JavaScript APIs, the largest ones being Capability Delegation and Screen Wake Lock. You can test the latter one here.

You can find my contributions to Gecko here

TTTStats — Webpage

RESTTT Backend RESTTT Backend

A website displaying statistics about the game "Trouble in Terrorist Town" played with some friends.

The website is written in Angular.js and accesses the RESTTT Backend for the displayed information.

Sadly, it's not up anymore after we stopped playing TTT

RESTTT — REST API

The backend for TTTStats, implemented as REST API with Express.

It fetches logfiles from the game server via FTP, stores them in the cloud. These files are parsed using regexes and a callback-based system to populate a MySQL database with high-level information. Finally, several routes provide the results of pre-determined, SQL queries. Caching is used to minimize computational requirements and decrease latency.

RESTTT Backend
                    erDiagram
                        Filebase { file[] logfiles }
                        Gameserver { file currentlog }
                        RESTTT ||--|| Filebase : fetches
                        RESTTT ||--|| Filebase : stores
                        RESTTT ||--|| Database : queries
                        RESTTT ||--|| Gameserver : fetches
                    
RESTTT Backend

Splittermond Charactersheet

Character sheet page

A digital character sheet for the german pen & paper game "Splittermond".

I had two goals with this project. For once, rolling dices with the click of a button is nice. But also, I wanted to play around with native web technologies and custom elements.

See here

Karaoke Songsearch

Search through the various Wii Sing Games in my collection.

See here

Song search page