Computer Science — Vienna → Zürich

Niklas Grüner: Notes on Building and Learning

Niklas Grüner
TU Wien (BSc Computer Science)  ·  ETH Zürich (MSc Computer Science)
Abstract

I’m a Master’s student in Machine Intelligence at ETH Zürich with a background in Computer Science from TU Wien. My interests span software engineering, machine learning, computer vision, and distributed systems. This portfolio brings together selected projects, research, and industry work, documenting both the ideas behind them and their implementation.

1Experience

Software Engineer — Internship
Bitmovin, Vienna
June 2026 – September 2026

Developed AI-powered features and prototypes as part of Bitmovin’s AI Incubator team. Worked across the full development lifecycle, from rapid prototyping and experimentation to backend implementation, evaluation, and product integration, collaborating closely with engineering and product teams to explore new AI-driven capabilities.

Computer Vision Engineer, R&D — Internship
Becton Dickinson, Vienna
Oct 2025 – Jan 2026

Developed and implemented computer vision and machine learning algorithms for pharmacy automation. Built end-to-end ML pipelines spanning data gathering, cleaning, model training, testing, and deployment.

Research Operations Assistant — Part-time
Vienna University of Economics and Business (WU Wien)
Sep 2024 – Sep 2025

Assisted researchers and professors with server infrastructure and GPU administration. Supported the implementation of programming tasks and energy system models using Python and R.

2Education

MSc Computer Science
ETH Zürich
Sep 2026 – Present

Major in Machine Intelligence

BSc Computer Science — Final grade 1.4
TU Wien
Oct 2022 – Jul 2025

Thesis: "Multimodal Visual Life Detection using a Compact Tri-Modal Camera Unit."

Matura (AHS) — Final grade 1.0
Bundesrealgymnasium Wien 19
Sep 2013 – June 2021

Secondary school diploma.

Certifications
DeepLearning.AI, via Coursera

Deep Learning Specialization · Machine Learning Specialization.

Technical skills: C, C++, Java, Python, JavaScript, TypeScript, SQL, PyTorch, Scikit-Learn, Computer Vision, OpenGL & WebGL, Angular, React, Spring Boot, Docker, Linux, Git.

3Selected Works

Multimodal Visual Life Detection Multimodal Visual Life Detection
Fig. 1 — tri-modal camera output
3.1Multimodal Visual Life Detection

My Bachelor's thesis: a compact tri-modal camera unit capturing RGB, thermal, and depth imagery for Search and Rescue. Two life-detection approaches were implemented — one tracking large-scale movement (walking, crawling, waving) via object detection, another monitoring respiratory motion through optical flow on the chest region. The thesis evaluates both across recorded scenarios and discusses their applicability to SAR operations.

Implementation → github.com/niklasgruener/Life-Detection
TutorMatch screenshot
Fig. 2 — TutorMatch interface
3.2TutorMatch

A collaborative platform developed with university colleagues, connecting students for study sessions where they can teach and learn from one another.

Implementation → github.com/niklasgruener/tutormatch
Volume Visualization screenshot
Fig. 3 — direct volume rendering
3.3Volume Visualization

Processes medical MRI and CT data using direct volume rendering with Three.js and GLSL shaders, with D3.js layered in to display related data for a fuller view of the scanned material.

Implementation → github.com/niklasgruener/volume_vis
Shazam Audio Retrieval screenshot
Fig. 4 — spectral fingerprint matching
3.4Shazam — Audio Retrieval

An implementation of the audio identification algorithm from the original Shazam paper (Wang, 2003), using audio fingerprinting and hash-based matching for fast, accurate retrieval even from noisy recordings.

Implementation → github.com/niklasgruener/Music-Retrieval
Distributed Message Broker screenshot
Fig. 5 — cluster topology
3.5Distributed Message Broker Service

A reliable, scalable message broker where brokers register with a custom DNS for dynamic cluster management, routing through exchanges and queues, with automatic leader election via Raft, Ring, or Bully for high availability.

Implementation → github.com/niklasgruener/Distributed-Message-Broker-Service
Rocket League Trick Shot Classification screenshot
Fig. 6 — trick shot classifier
3.6Rocket League — Trick Shot Classification

A university Kaggle competition: a machine learning model classifying trick shots from 297 labelled clips using time-series and summary-statistic features, covering preprocessing, feature engineering, training, and evaluation.

Implementation → github.com/niklasgruener/Rocket-League-Trickshots

References

[1] Grüner, N. — niklas.gruener@proton.me
[2] Grüner, N. — LinkedIn profile
[3] Grüner, N. — GitHub, full project index