Benjamin Kauer

But please call me Ben :)

Software Engineering made in Rheinhessen

Scroll down to see more

About me

Born in 1990, I grew up between early gaming consoles and the dawn of the internet.

From playing "Sonic The Hedgehog" on my first SEGA MegaDrive (which still works today!), over studying Computer Sciences, to a career as a Software Engineer: I learned that technology isn't only fun.

It opens up whole new worlds.

Eventually, my love for gaming evolved into a passion for creating.
Today I'm designing, building and maintaining highly scalable software architectures, with Node.js, Docker, Redis, and the like, being my everyday tools.

The tools I use

A selection of tools, frameworks, and languages I use in my daily work. There's no special order in here, yet.

Backend

  • Node.js
  • Express.js
  • Bun
  • Hono
  • Postgres
  • Redis
  • Arcade DB

Frontend

  • HTML5
  • CSS3
  • Angular
  • Vue.js
  • secret upcoming framework...

Infrastructure

  • Docker
  • nginx
  • Linux
  • ... and more

Krautbuddy

Your fermentation companion!

Visit krautbuddy.com

What's this?

Krautbuddy is a side-project I'm working on in my free time. It's a non-profit web application (with partial PWA capabilities), built for fermentation enthusiasts like myself.

Its main feature is tracking fermentation processes based on their start and end dates, as well as keeping journals for replicability.

Screenshot of an active Ferment tracked in Krautbuddy
An active ferment tracked in Krautbuddy

Both backend and frontend are written in TypeScript.

The Backend

Tech-Stack (tldr;)

A Hono backend running in Bun. Postgres, Redis, Docker, nginx, letsencrypt.

Before Bun's migration to Rust, I was curious whether Bun offered any significant advantages over Node.
So I wanted to try an experiment:

Migrate Krautbuddy's backend, which was running in Node.js, to Bun.

That was around the time I first learned about Hono. So, why not also migrate from Express to Hono?

One could argue that running two migrations simultaneously could skew the measured results of the experiment.

While that is absolutely true, and such an approach must be well thought through in a professional environment, I decided that I can live with numbers not adding up perfectly in an experiment which I conduct purely out of curiosity.

Ultimately, Krautbuddy's backend is a Hono application running in Bun. It stores it's data in a Postgres database and uses Redis for (semi-persistent) caching across all backend instances.

nginx serves as a reverse proxy, which, in combination with Docker networking, allows me to fully isolate my services (backend, database, redis) from the outer world while making the backend reachable via TLS encrypted http.

It's currently running on a 4 core 4GB RAM VPS rented from Netcup.

The Frontend

Tech-Stack (tldr;)

A Vue.JS UI. Yep, that's it.

The Krautbuddy UI was an experiment, too.

After having worked with Angular for so long, I wanted to broaden my horizons when it comes to UI frameworks. Make new experiences.

I was tinkering a bit with React, which I personally find absolutely awful.

After that, I took a closer look at Vue.js, which is what I eventually used for implementing the Krautbuddy UI. Being able to do that in a relatively short span of time showed me how complex our UIs at work have grown over the time.

I took that as a lesson and got more engaged in striving for simplicity. There's that great talk Simple Made Easy (YouTube) by Rich Hickey from 2011 which I recommend everyone to watch.

I'm planning on doing a rework of the Krautbuddy UI, using neither Angular nor Vue, but a new, awesome framework. Stay tuned!

That's it!

Thanks for visiting my site :)

Friday, 04.09.2026

Go back to top