Open to software engineering roles in Australia or Germany, from early 2027.

Linus
Baumgaertner.

Streaming graph algorithms, backend systems and Android apps. I like taking an idea all the way to working software.

Work

The Mars apps and earlier projects.

Mars Launcher

A distraction-free Android home screen. Apps by name, no icons, no badges.

Since 2021
Open →

Mars Thoughts

Capture a thought before it disappears.

2026
Open →

Mars Books

Read books, rated and reviewed, in order.

2026
Open →

Mars Timer

A quiet meditation timer. A bell to start, a bell to end.

2026
Open →

All five apps on Google Play ↗ · the Mars family lives at catchingcomets.dev ↗

Earlier

Effective Geo 2021

Country capitals with spaced repetition (SuperMemo-2). Flutter, Dart, SQLite.

Code ↗
PO

PicOff 2022–23

Photo challenges between friends. Kotlin, MVVM, Firebase.

Code ↗
Research

Partitioning graphs too big to hold.

SEA 2026 · Master's thesis · grade 1.0

BuffCut: Prioritized Buffered Streaming Graph Partitioning

L. Baumgärtner, A. Chhabra, M. F. Faraj, C. Schulz

A streaming partitioner that stays robust when nodes arrive in an adversarial order: they wait in a bounded priority buffer and are assigned in batches with a multilevel scheme. BuffCut has since been integrated into HeiStream, the open-source streaming partitioner of the KaHIP project.

20.8%fewer edge cuts
2.9×faster
11.3×less memory

vs. Cuttana, the state of the art in prioritized buffering. Against HeiStream, which buffers in arrival order: 15.8% fewer edge cuts at 1.8× the running time.

How BuffCut works

The algorithm from the paper, running live on a small graph with two communities. Pause it, step back and forth, click any node.The algorithm from the paper on a small graph with two communities. On a wider screen this figure runs live.

  1. 01Stream

    Nodes arrive one by one. Hubs (large dots) are placed at once.

  2. 02Buffer

    Nodes wait in buckets by score: degree for high-degree nodes, else the share of placed neighbours. Top bucket: ρ.

  3. 03Batch

    Collects δ nodes to partition jointly, each the top node of a full buffer.

  4. 04Assign

    Split with a multilevel scheme that also sees edges to placed nodes. Goal: few cut edges (dashed), balanced blocks (white/red).

click a node to inspect it Speed
A graph split into two blocks, white and red; dashed edges cross between them
Random stream order · buffer Q = 18 · batch δ = 6 · k = 2 · hubs: degree > 9. The multilevel step is simplified to Fennel placement plus local refinement.A graph split into two balanced blocks; dashed edges are cut.
About

From medical devices to algorithms.

Linus Baumgaertner

I came to computer science through biomedical engineering and specialized in algorithm engineering at Heidelberg University.

Algorithm engineering is about making algorithms fast with real input data and tight memory budgets. During my master's I worked on backend microservices for a LoRaWAN network operator, and before that GUIs for high-frequency surgical devices. In my free time I build the Mars apps.

I'm looking for a software engineering role in backend, algorithms, health and medical technology or mobile development. I'm in Western Australia now and available from early 2027, in Australia or Germany.

  • Oct 2025M.Sc. Data and Computer Science

    Heidelberg University. Grade 1.1, specialized in algorithm engineering. Thesis “Improving Processing Order in Streaming Graph Partitioning” (1.0), published as BuffCut at SEA 2026.

  • Nov 2021 – Apr 2023Software Engineer, part-time

    ZENNER Hessware, Mannheim. Java and Spring Boot microservices for a LoRaWAN network operator, with JUnit, Docker and Jenkins CI/CD, alongside my master's.

  • Aug 2021B.Sc. Biomedical Engineering

    Mannheim University of Applied Sciences, jointly with Heidelberg University. Grade 1.5. Software engineering, databases and computer networks, with biomedical electronics, neuroprosthetics and image-guided intervention.

  • Mar – Aug 2021Bachelor's thesis

    ZENNER Hessware. A LoRaWAN network monitoring tool in Python on a Raspberry Pi, with Prometheus and Grafana dashboards and outage alerts.

  • Mar – Aug 2020Software Engineering Intern

    KLS Martin, Freiburg. Co-developed the C++/Qt and QML GUI for high-frequency surgical devices, and built a Python tool for editing their electrical current waveform parameters with the clinical testing team.