Portrait of Gerard Klijs

Gerard Klijs

software engineer @ Alliander

Java and Kotlin for most of my career, Rust and Clojure in my free time. APIs of many kinds: REST, GraphQL, gRPC and async APIs on Kafka with Protobuf and Cloud Events.

LEGO Batman with a grappling gun, aimed at you
$ cd blog_

Words I typed, now with syntax highlighting

Notes on Kafka, Rust, event sourcing and whatever bug ate my afternoon. Occasionally correct, always compiled. I'm Batman, and so is my cape's CSS.

Grapple over to the blog

Projects

featured · pre-1.0 · MIT OR Apache-2.0

skilj

A Rust library for event-sourced applications on Postgres. Define events and commands, and skilj handles storage, consistency checks, and GraphQL and REST APIs.

  • Dynamic Consistency Boundaries: a command is decided against only the events it shares tags with, not a whole aggregate.
  • Per-person encryption and blind tags, so personal data can be forgotten.
  • Projections, snapshots, schedules, and bridges to Kafka, AMQP, NATS and Temporal.

Try it with only Rust installed, no database to set up:

cargo install cargo-generate
cargo generate --git https://github.com/gklijs/SkilJ.git \
  templates/skilj-template --name my-wallet
cd my-wallet && cargo run --bin server
A generated skilj project starting with its own embedded Postgres, then accepting a deposit, rejecting a withdrawal larger than the balance, and accepting a smaller one

schema_registry_converter

Rust crate for Confluent Schema Registry, with Avro, Protobuf and JSON Schema, async and blocking.

RustKafka

BKES

Binary Kafka backed Event Store, with a gRPC API.

RustgRPCKafka

Pokequiz

A little quiz about Pokémon, made for fun.

WebBulma

Bass progress

Tracking my bass progression, or stagnation.

🎸progress, or stagnation

ksqlDB GraphQL PoC

A simple setup showing how ksqlDB can be used with GraphQL.

RustGraphQLKafka

Kotlin coroutines demo

Simulating different kinds of API calls, and handling them nicely with coroutines.

Kotlin

Talks

Video thumbnail of the talk GraphQL and CQRS, a Perfect Fit?

GraphQL and CQRS, a perfect fit?

GraphQLConf and GraphQL Summit 2023. Slides

Video thumbnail of the GraphQL Summit 2019 talk

GraphQL Summit 2019

Using GraphQL with Apache Kafka.

Kafka Summit 2020 & 2021

Also presented at both editions, and at some other events.

Writing