MindooDB Blog

The story behind MindooDB Haven

Karsten Lehmann 18 October 2026 10:00:00

I first came across the groupware platform IBM Notes/Domino as a student in 2001. A student group (student consultancy) at my university wanted a web-based knowledge management system, and my predecessor in office had picked one built on Notes/Domino (Knowledge Café). It was my job to introduce it.

The system came from a Berlin IT company and could not be extended, so I taught myself the platform and rebuilt it.

Afterwards I looked around for a company in the area that knew the platform, and together with my later Mindoo co-founder Tammo Riedinger I created MindPlan for them, a mix of mind mapping and project management - with collaborative editing and offline support, implemented as Java desktop application.

At Lotusphere 2008, IBM’s own conference, MindPlan won the Lotus Award in the category Chief Technology Officer (CTO) Innovation.

Nine years as an IBM Design Partner

From 2008 to 2017 I was part of the IBM Design Partner Program, which was meant to collect feedback from developers and customers to drive the development of the platform, then called IBM Notes/Domino.

Here is a screenshot from the actual Design Partner forum. Nobody posted more in that forum than I did.

The Notes/Domino Design Partner Forum in its "Author (threaded)" view: a list of forum members with their first names visible and last names blurred, each with a post count. Most have between 1 and 35 posts, one has 214, and the highlighted row "Karsten Lehmann" shows 622

Sadly, despite all that effort, hardly any of the developers’ wishes were implemented, and IBM product development answered with stock phrases (“Thanks for the suggestion, we’ll put it on our list”).

Domino JNA and Domino JNX

So in 2015 I decided to ignore the platform’s existing Java APIs and build a completely new Java API on top of the Domino C API. The result was Domino JNA. With more than 1,400 commits since then, it has opened up pretty much every aspect of the Domino platform, including re-implementations of almost all of its data structures in code that Java can work with.

A thread in the Design Partner Forum from 3 November 2016 titled "Wish list for the Domino Java API", filed as a suggestion for the product area APIs, build 9.0.1 Social Edition, company Mindoo. The post links to a blog article with enhancement ideas, says "I hope IBM dev is still participating in this forum and that I get a bit more attention and feedback than just 'We'll put it on our list' that I already got way too often. ;-)" and mentions that the ideas were already implemented in the Domino JNA project. The thread list above it includes the April 2016 post "Domino JNA - new Github project that implements many of my NIF feature requests"

Several Domino core developers at IBM - and, after the acquisition, at the new vendor HCL - supported me along the way, so that developers could even use previously undocumented C API functions to get the most out of the platform.

HCL then hired me as an external contractor to carry the Domino JNA code base over into a new API under the HCL brand, Domino JNX. This Java API is the foundation of the official HCL Domino REST API.

Backend yes, Notes client no

I never did classic Notes client development; I found the user interface pretty awful to use, and ugly. But the idea that apps can be built by anyone, run on pretty much any platform, and keep their data up to date everywhere through replication has always fascinated and inspired me.

When HCL extended the client to the web and mobile platforms in the years that followed (HCL Nomad), I approached HCL development and HCL sales about using just the backend storage functionality (libnotes) in our own, modern web and mobile applications.

Unfortunately HCL saw no market for this, even though other vendors such as MongoDB and Couchbase offered mobile versions of their databases as well.

I wanted to take that idea further: apps that are just as easy to build, but work offline on every platform and keep their data safe from unauthorised access.

So it was time to start over once again and plan a platform that does not drag 30 years of legacy around with it.

It had to go beyond Domino on security, because with us not even the server can access the users’ data. That mattered a lot to us: systems get hacked all the time, and when we host in the cloud on rented servers, we want to protect our customers’ data from attackers.

And it had to fit a time in which large language models write most of the new code.

MindooDB

The backend came first, available as open source under the Apache 2.0 licence. It covers the client and the server side of a document-oriented database that keeps a complete change history of all data, so you can go back to any point in time. Every change is digitally signed and chained to the one before it, which rules out tampering with the data. And the data is end-to-end encrypted.

Next came Haven, our web-based collaboration client. It brings very different applications together on one shared surface, and it coordinates and restricts which data each app may access.

The Start tab of a Haven Desktop workspace: a first row of tiles for the setup wizard, the Haven App Store, Sync with server, Quick Scan, Virtual Views and Preferences, and below it launchers for the installed apps - App Builder, Mindoo Cairn, Contacts, Teacher's Desk, TeamEdit, TeamGrid, TeamSketchbook, TeamSlides, TodoManager, Mindoo Vega and Mindoo Weather

Click the screenshot to scroll through the whole workspace - ten Haven apps running side by side, from spreadsheets, documents and slides to a 3D map and a sketchbook.

TeamEdit temporarily maximised on the workspace, in Suggesting mode. In a quote from the head of legal, "a week" is struck through in red and "two weeks" inserted in green, and two cards in the margin read "Deleted 'a week'" and "Added 'two weeks'", each attributed to Haven Desktop MacOS/Mindoo with buttons to accept or reject the change

Native versions of Haven for Windows, macOS, iOS and Android are currently in testing. Besides client-server sync, they can also exchange data with each other directly, peer to peer.

Drinking our own champagne

The history with IBM and HCL taught me how important the motto “eat your own dog food” - or “drink your own champagne” - really is. That is why we built a whole range of Haven apps early on, to test and extend the platform’s features step by step. After all, we are developers, not product managers. :-)

Among them:

  • TeamSketchbook - drawing together and annotating documents
  • Mindoo Vega - mind mapping and project management, based on our experience with MindPlan
  • Teacher’s Desk - day-to-day organisation for teachers: a teacher’s calendar, lesson planning, grading and a collection of teaching materials
  • Mindoo Cairn - a shared map for property inspections, tree inventories and situation mapping in crisis areas

as well as collaborative editors for DOCX, Markdown, Excel and PowerPoint files. Those can be used as standalone apps as well as components of other apps.

All of our Haven apps can be controlled by AI (through WebMCP - more on that in a later post), and our App Builder lets anyone build Haven apps with AI/LLMs, without any programming skills.

As a famous TV character once put it: “I love it when a plan comes together.” :-)

After months of hard work, it is a real joy to see all the pieces finally fall into place.

Karsten Lehmann

Real workspace

Haven workspace full of running apps

Scroll inside the frame or jump directly to a region:

Long screenshot of a Haven Desktop workspace with ten apps running side by side: Teacher's Desk and a TeamGrid household budget, a TeamEdit report and a Mindoo Vega mind map, a TeamSlides presentation and a 3D Mindoo Cairn map of Karlsruhe, Mindoo Weather, TodoManager and Contacts, and a TeamSketchbook drawing at the bottom