Jakob Richter

PhD in statistics, developer of several machine learning and Bayesian optimization libraries for R and of free web apps like retromo.de and bewhere.app, tutor for R programming, interested in photography and maker culture.

Skills

Product engineering
  • turning "can we…" into a plan
  • project management and stakeholder communication
  • sparring partner for architectural decisions
  • still writing production code
AI stuff
  • Claude Code, Cursor, Codex
  • building LLM features and mini agents into products (OpenAI, openrouter)
  • e2e deployment of hobby projects
Statistics & machine learning
  • survey statistics: sampling, weighting and bias
  • (co-)author of various machine learning packages
  • research on hyperparameter tuning and Bayesian optimization
  • still a fan of random forests
  • avoiding data leakage
  • careful statistical reasoning
Python
  • REST APIs with FastAPI
  • gRPC APIs with grpcio
  • pandas and polars
  • scikit-learn, statsmodels
  • uv, ruff, pytest
  • mypy, pyright
SQL & data
  • PostgreSQL
  • Airflow
  • caring about indices and performance
  • loving outer joins, window functions and CTEs
R (where it all started)
  • package development
  • ggplot2, shiny and data.table
  • taught R to beginners and pros for years
Tools
  • all projects on git
  • Docker for deploying and self-hosting
  • Linux
  • fish>bash
Creative tools
  • Photoshop
  • DaVinci Resolve
  • InDesign

Coding Projects

This section contains some selected open source projects. You can find most of my projects on my GitHub.

retromo.de

A free, open source retrospective board for agile and remote teams: create a board, share the link and everyone can add, merge and vote on items live, without any login. It comes with drag and drop grouping, dot voting and a shared timer, is hosted in Germany and can be self-hosted with a single Docker image. The code is available on GitHub.

bewhere.app

A free web app for event staff scheduling. Plan which people work at which location and when, spot coverage gaps and share personal schedules with your festival, conference or venue team.

Circlapse

A small Python tool born from my interest in photography: it detects circles and ellipses in photos (like manhole covers), centers them and crops all images to the same scale, so that a series of pictures can be turned into a smooth time-lapse-like animation.

mlr

Co-author of the widely used machine learning library for R that includes over 80 classification methods and over 50 regression methods. mlr also offers hyperparameter optimization, as well as pre- and post-processing methods. I implemented many learners, Bayesian optimization for tuning, fixed various bugs, took care of unit tests, documentation and code-reviews.

mlr3 and mlr3verse

Co-author of the successor of mlr. I contributed to the early development and new object-oriented design of mlr3. The mlr3verse consist of various R packages that are developed in a big team across universities. I largely commit on doing code-reviews and helping others to contribute to the project. My main contributions are to the packages related to tuning mlr3tuning, bbotk and mlr3mbo.

mlrHyperopt

With this small side-project I simplified hyperparameter tuning within mlr by defining a heuristic that choses the appropriate search space and optimizer for a given machine learning algorithm and dataset. More details in my blog post on r-bloggers and my talk at the international useR! conference 2017.

mlrMBO

Maintainer and co-author of the model-based optimization toolkit for R: mlrMBO. This R package offers various Bayesian optimization methods and includes parallelization as well as multi-criteria optimization. Most of my research is implemented in this package and partly resides in development-branches. You can see my presentation of mlrMBO at the useR! conference 2016 in Stanford here.

Publications

Here are some selected publications. An up-to-date and complete list can be found on my Google Scholar profile.

Conference Paper - Model-based Optimization with Concept Drifts

This paper shows an straight-forward approach on how to apply Model-based optimization (Bayesian optimization) on problems that change systematically over time. This approach could be used to optimize the hyperparameters of an online machine learning algorithm.

July 2020

Conference Paper - Model-based optimization of subgroup weights for survival analysis

This paper successfully applied model-based optimization to identify optimal subgroup weights for survival prediction with high-dimensional genetic covariates. When predicting survival for a specific subgroup it can be beneficial to combine the training data with other subgroups to obtain a better model.

July 2019

Preprint - mlrMBO: A modular framework for model-based optimization of expensive black-box functions

This is the accompanying paper for the mlrMBO R package. It gives a brief introduction the model-based optimization algorithm and shows that mlrMBO is able to outperform other optimization packages on synthetic test functions as well as on real hyperparameter optimization problems.

September 2017

Conference Paper - Faster model-based optimization through resource-aware scheduling strategies

This paper shows one way to parallelize model-based optimization on the example of tuning a SVM. The challenge of heterogeneous runtimes that can cause unused CPU resources is tackled by using scheduling strategies on predicted runtimes. We were able use the resources more efficiently which led to better tuning results. We improved our scheduling strategy in the follow up paper Rambo: Resource-aware model-based optimization with scheduling for heterogeneous runtimes and a comparison with asynchronous model-based optimization.

June 2016

Journal Paper - mlr: Machine Learning in R

This paper is just our formal publication mlr. More details can be found in the detailed online tutorial here. Please note that we advice to use mlr3 instead which comes along with a in-depth documentation in online book form.

January 2016

Master Thesis - Model-based Hyperparameter Optimization for Machine Learning Algorithms on Large Datasets

In my master thesis I developed model-based approach to multi-fidelity optimization. This approach allows to find promising hyperparameter configurations faster by evaluating the ml algorithm on small samples of the data.

April 2015

Bachelor Thesis, Conference Talk - Analyzing geo data on a street level performed on an example of road accidents in London

In my bachelor thesis I developed an algorithm that was able to map observations that were given by latitude and longitude data to the according street segment. This yields a much more insightful visualization that a normal heat-map or individual points.

December 2012

Projects

Dortmunder R Kurse

I gave courses for beginners and advanced R programmers for clients such as BASF, Siemens and AOK. Advanced topics include automatic reporting, Shiny, and machine learning.
2018 - 2023

Lecture: Automatic Machine Learning

Organization of exercises, student discussions and exam.
2020 - 2021

Bayesian Optimization as a Service

Supervised a student to implement mlrMBO as a REST-service which can be run in a Docker container. Similar to the service API of BoTorch / Ax, just powered by R.
2018 - 2019

DataMining Cup

Our TU Dortmund Teams won first and second place on predicting whether an online order will be returned.
2013

Experience

Staff Product Engineer

Bridging stakeholders and engineering, from planning and architecture to hands-on Python development.

2026 - Present

Head of Data Science

Leading engineers, owning ML pipelines and live services, including LLM-based text classification, search and recommendations.

2023 - 2025

Lead R Engineer

Automated pipelines and reporting, cutting manual monitoring effort.

2022 - 2023

Senior R Engineer

Built statistical models and R packages for live predictions and internal tools.

2021 - 2022

Postdoctoral Researcher

Research on application of Bayesian optimization on dynamically changing problems.

September 2020 - 2021

Postdoctoral Researcher

Research on multi-objective optimization, lecture on automated machine learning and development of mlr3.

April 2020 - 2021

Researcher

TU Dortmund University, Faculty of Statistics

PhD on parallel Bayesian optimization and development of mlr and mlrMBO.

May 2015 - September 2020

Student Assistant

TU Dortmund University, Faculty of Statistics

Connected multiple machine learning methods to the R-package mlr.

September 2013 - April 2015

Student Assistant

TU Dortmund University, Center for Research on Education and School Development (IFS)

Built automated reports for the TIMSS 2011 study.

June 2012 - December 2012

Education

TU Dortmund University

Doctoral Degree
Statistics

2015 - 2020

TU Dortmund University

Master of Science
Statistics

Minor: Computer Science

2012 - 2015

TU Dortmund University

Bachelor of Science
Statistics

Minor: Computer Science

2009 - 2012

Heinrich-Hertz-Gymnasium, Berlin

Abitur
Mathematics, English

2001 - 2008