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.
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.
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.
Assisted researchers and professors with server infrastructure and GPU administration. Supported the implementation of programming tasks and energy system models using Python and R.
Major in Machine Intelligence
Thesis: "Multimodal Visual Life Detection using a Compact Tri-Modal Camera Unit."
Secondary school diploma.
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.
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
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
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
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
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
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