background

Fractals, Mandelbrot & Julia sets

A fractal is a shape that keeps revealing similar structure the further you zoom in — no matter the scale, the boundary stays just as intricate.

Both sets behind this effect come from repeating one rule on a complex number: z → z² + c. The Mandelbrot set asks, for each starting point c, whether that sequence stays bounded when z starts at 0. The Julia set asks the same question the other way round — for one fixed c, which starting points z stay bounded. Every point in the Mandelbrot plane defines its own Julia set.

This background renders that Julia set live: your cursor position is mapped straight onto the complex plane as c, redrawn on every move — so moving the pointer morphs the fractal in real time.

playground

Selected projects

Personal side projects I've built over time, mostly to learn something new or scratch an itch. Some are quick experiments, others took way longer than planned. You'll find simulations, visualizations, small apps, and other things I got curious about along the way.

Simulations of the German "DFB-Pokal": Evaluating Tournament Outcomes with a Stochastic Model

(2024) A stochastic model of the German cup's knockout tournament, fitted to 20 years of results, to estimate win probabilities for teams from different leagues.

#simulation#statistics#football#side-project

Habitboard

(2023) A self-hosted habit tracker — a React/Tailwind board of daily and weekly habits with a login-gated grid of checkboxes, colored streak indicators per habit, and inline habit editing.

#react#tailwind#side-project

Unveiling the Behavior of Blinds with a Pipeline of Python, Machine Learning, and React

(2023) Building an end-to-end pipeline - from a shared Google Doc, through several scikit-learn models, to an interactive React/Plotly app - to predict when the office blinds go down.

#python#machine-learning#react#side-project

Setting up an Automated Daily Posting Twitter-Bot in Python

(2022) A walkthrough of getting Twitter developer API access and using Python's Tweepy library plus a cronjob to post automatically every day.

#python#automation#tutorial

Hypothesis Testing on Football Players Consciously Getting Yellow Cards to Get Suspended

(2022) Do Bundesliga players engineer their 5th yellow card to fall in a home game rather than an away game? Testing the idea with simulation, an analytical model, a t-test, and a Wilcoxon test.

#statistics#hypothesis-testing#football#side-project

Visualizing a 3rd-Order Tensor

(2020) An interactive C++/Qt/OpenGL viewer that renders a 3rd-order tensor (cube) as a color-coded volumetric grid — reads values from a text file, maps them onto a diverging red/blue colormap, and lets you rotate and peel through layers.

#c++#opengl#visualization#side-project

Julia Set Renderer

(2019) A real-time C++/SFML/OpenGL renderer for Julia sets — computes the escape-time fractal per pixel in parallel with OpenMP, with the iteration coefficient tied to the mouse position for interactive exploration.

#c++#opengl#fractals#side-project

Peaceable Armies of Queens – Constraint Programming

(2017) A Constraint Programming solution to the Peaceable Armies of Queens problem in SICStus Prolog, with runtime comparisons across labeling strategies and board sizes.

#side-project#algorithms