Justin Kaeser

Munich · Kenya · Developer tools · Solar · Toys in Code

Justin Kaeser

I build the seams between systems, and make them hold at scale.

For ten years I have worked on developer tools: first how IDEs talk to build tools, then how they cope with monorepos of a hundred thousand modules, now how coding agents get a repository they can trust. On the side, I am building solar charging for electric motorbike taxis in Kenya.

Head of Bazel Ecosystem, JetBrains  ·  Founder, Nenkima

Write to me
S2Work

Two parts must work together. Something doesn’t quite fit, and it rubs me the wrong way. So I keep working at it until the friction is gone.

  1. 2018 – 2025

    Build Server Protocol

    IDE ↔ build tool

    Co-designed the protocol that lets IDEs talk to build tools, then spent years getting build-tool authors to adopt it. It is now the integration layer for much of the Scala ecosystem. In IntelliJ’s Scala plugin, sbt sync became about five times faster along the way. Read the spec.

  2. Since 2022

    Bazel in JetBrains IDEs

    IDE ↔ monorepo

    Built the team and the plugin from first experiments to general availability, and now lead the Bazel ecosystem. A year after launch it had more than 30,000 monthly users, and the platform underneath had grown from handling 5,000 modules to over 100,000. The method: sit inside real customer codebases, not dashboards. The code.

  3. 2026 –

    Nenkima

    grid ↔ electric motorbike

    Solar-powered host sites for charging and battery swapping, for the motorbike taxis of Kenya. Measure first, then model, then spend. Pre-revenue, and saying so. nenkima.ke.

U3Making

Small projects since 2012. Start with these four.

2026 · Music

Mindless Midi

Endless background music in a browser tab. Claude writes the musical material at build time; the page arranges and plays it forever on an emulated FM chip.

2026 · Games

ONI Material Graph

Every material transformation in Oxygen Not Included, as flows, graph and table. Exact arithmetic; the whole state lives in the URL.

2026 · Android

Insola

A UV and vitamin-D tracker that predicts burn risk across the day instead of reporting a single number.

2026 · Developer tools

rules_agents

Declare agent skills and profiles once, in Bazel. bazel run //agent:dev gives every developer the same coding-agent setup. Small, early, used daily.

Open the drawer: 23 more
2026

Bazel starter repos

Minimal Bazel projects in Java, Kotlin, Scala, Python and Go, for starting small.

2021★ 4

intellij-bsp

Build Server Protocol support for IntelliJ IDEA.

2020

Askhole for Android

The Askhole card game as an Android app.

2020

Compiler indices

An sbt plugin and protocol feeding compiler indices to the IntelliJ Scala plugin.

2017★ 8

sbt-dash

Dash docsets for Scaladoc, generated from sbt.

2017★ 13

Libling

A way to add source dependencies to your sbt project, with a prototype plugin, templates and a public index.

2017

sbt shell debugging

What you can and cannot debug through the sbt shell in IDEA.

2017★ 3

shared-build-sources

Sharing sources between an sbt build and the project it builds.

2017

left-pad-plus-plus

Like left-pad and Notepad++ had a child of passion.

2016★ 3

fake-file-system

A toy file system that writes into a regular file.

2016

sbt-grammarkit

Build Grammar-Kit BNF grammars from sbt.

2015

Dreaming on Elm Street

An introduction to Elm: slides and a hands-on session.

2015★ 3

president

Turn your Elm code into a presentation.

2015

proptests

Property-based testing with ScalaCheck: a talk and a practice session.

2015★ 3

Ultratestable coding style

Presentation material and a kata.

2015★ 2

baitscrape

Scrapes clickbait headlines from Upworthy.

2015

esa

A basic implementation of Explicit Semantic Analysis.

2014★ 37

Boxes and Bubbles

A simple-as-possible 2D rigid-body physics engine for Elm.

2014★ 4

My Little Pong

Just a little Pong. With little ponies.

2013★ 4

Bukkit plugin template

A template to jump-start a Minecraft server plugin.

2013

shaped-borders

A world-border plugin for Bukkit, in many shapes.

2012★ 36

Gringotts

An item-based economy for Minecraft servers. Still maintained.

2012★ 3

EnderPearlCooldown

Adds a cooldown to the use of ender pearls on CraftBukkit servers.

U1Talks

More than thirty conferences since 2017: Scala, Bazel, build systems and developer experience.

  • 2025Start Scalable: Begin Building in BazelDevCon Mauritius, DevTalks Romania
  • 2025Cross-organizational developer productivityDevoxx Poland, Kraków
  • 2024Bazel and IntelliJ: state of IDE integrationBazel Community Day, Amsterdam
  • 2023Taming the Beast: better Bazel in IntelliJScale by the Bay, Oakland
  • 2022How your monorepo breaks the IDEDPE Summit, San Francisco
  • 2019Integrating developer experiencesScala Days, Lausanne

Invite me to speak  ·  All talks and abstracts

U5Home

Home is Munich, and northern Kenya is the other place.

My wife is from Kenya, and our son was born in 2025. We live in Munich. Laisamis, in northern Kenya, is the other place that matters to us, and where Nenkima has its experimental base.

U4Now · updated 2026-10

What I am on right now.

  • Leading Bazel at JetBrains: the product, and the conversations with the teams that run it at the largest scale.
  • Working out what coding agents need from build systems, and writing it down.
  • Negotiating with small businesses and sizing solar sites in Nairobi based on measured data.