Projects

Selected academic work from my studies at WU Wien, followed by side projects. Each entry links to the full report or the source code.

Quantitative Methods II — Case Study
WU – Wirtschaftsuniversität Wien · Group B3, Course 4902
05/2026

A four-person group project for the Quantitative Methods II course, carried out entirely in R. The brief consisted of two independent cases — one in computational finance, one in applied statistics — each requiring reproducible R code, careful interpretation of the output, and a formal written report.

Case I — Monte Carlo Valuation of a Leveraged Barrier Certificate

We estimated the fair value of a structured product whose payoff has no closed-form solution. Starting from 1,260 historical prices, we computed daily log-returns and estimated the drift and volatility of the underlying asset. We then simulated tens of thousands of possible year-end prices under a log-normal model, applied the certificate's payoff rule (a leveraged gain above the barrier, a fixed rebate below it), and approximated the value as the mean simulated payoff. We quantified the precision of that estimate through its variance and standard error, and showed empirically that the error decreases at a 1/n rate across sample sizes from 100 to 100,000 — connecting the result to the Central Limit Theorem. Finally, we computed investor risk metrics, including expected profit/loss and the 5% Value-at-Risk.

Case II — Lifestyle & Sleep-Quality Analysis

Using a dataset of 374 individuals, we produced a full descriptive analysis — distributions, frequency tables and visualisations — and then examined the relationships within the data. We compared sleep quality and stress across occupations and genders, built contingency tables of sleep disorders, and found a strong negative correlation (r ≈ −0.9) between stress and sleep quality. We formally tested two claims made by a sleep doctor using a one-sample proportion test and a one-sample t-test, rejecting both at the 5% level. Finally, we compared mean sleep duration and age across the three sleep-disorder categories using 99% confidence intervals to identify which group differences were statistically significant.

View full report
Course Registration Bot for WU's LPIS
Side project · Python, Playwright · AI-assisted development
09/2026

At WU, places in popular courses are allocated first come, first served, and the best groups fill up within seconds of registration opening. I built a tool that registers for several courses at once at the exact opening second, each with its own ranked list of preferred groups. It ran live during the winter 2026 registration and secured the first-choice group in all five courses.

Timing and parallel requests

The tool measures the computer's clock against WU's official time server — it turned out to be half a second slow — and times each request to reach the registration server about 20 milliseconds after opening. Each course runs in its own browser tab, so all registrations go out within a few milliseconds of each other, and the button is clicked 20–40 milliseconds after the page arrives.

Decision logic and safeguards

On the freshly loaded page the tool reads the free places of every group, takes the first preference that still has room, falls back to the next one if it is full, and otherwise joins the waiting list. It catches input mistakes before registration opens, keeps the load on the university's server low — one session and a single page load per attempt — and comes with an automated test against a simulated registration system.

View source code on GitHub
VPN Client for iPhone and Apple TV (Prototype)
Side project · Swift, SwiftUI, Go · AI-assisted development
09/2026

AmneziaWG is a VPN protocol designed to keep working on networks that block standard VPN traffic. This prototype brings it to iPhone, iPad and Apple TV — tvOS 17 was the first Apple TV system to allow VPN apps at all — with the protocol's official engine compiled into the app, supporting every protocol version from 1.0 to 3.1.

Product design

The interface is deliberately small: a list of tunnels with an on/off switch, live traffic counters and a log. Because an Apple TV has no camera or clipboard, a configuration is set up on the iPhone and sent to the TV over the local network, confirmed with a six-digit PIN. The configuration parser checks every setting the way the engine does, so a faulty configuration is rejected with a readable message instead of failing silently.

Status

The code is written but has not yet been compiled and tested on a device — that requires a Mac and a paid Apple developer account. The GitHub page documents the architecture and the known limitations, such as the still-unencrypted transfer from iPhone to TV.

View source code on GitHub