Ediarum is a suite of software packages developed at the Berlin-Brandenburg Academy of Sciences with the aim of allowing users to easily edit the XML files that form the basis of our critical editions. Before I wrote Ediarum Webdav, we were storing the XML files in eXist-db, an XML database. This created some problems. For one, the files were not automatically checked into Git version control. Additionally, eXist-db would on occasion crash, and recovering the latest state of the XML files could be challenging if not, on occasion, impossible. Finally, eXist-db appeared to, on occasion, remove semantically relevant whitespace from the XML files we gave it to store. In dialogue with my colleagues, I developed Ediarum Webdav with a simple goal in mind: deliver the XML files (from a Git repository on a server) over Webdav to Oxygen, the XML editor we use at the Academy, and automatically commit any changes to the files to version control. Using Laravel PHP, I slapped together a user management and project management console, and integrated an open source PHP webdav library, as you can see on its github page.
I started working with the Kishib research team in April 2025. They are a team of archaeologists whose goal is to build a complete database of all known, legitimately acquired, ancient cylinder seals from Near Eastern cuneiform societies. I inherited from them a MySql database of about 20,000 seals, which they had, up until that point, managed directly via a MySql client. I had the assignment to build out their technical infrastructure for data input. The result is a CRUD application suited (hopefully!) to their needs. It handles both manual form input, as well as data import from excel files. Building a CRUD application for complex data entities takes time and requires close coordination with the subject matter experts. Recently, with the LLM tool Claude Code, I have been able to increase my development velocity of the online editor. As of this writing (February 2026), Claude feels revolutionary, in comparison to ChatGPT or Github Copilot, which provide good assistance for writing software, but don't seem to shift the entire paradigm the way a really good agentic software like Claude Code seems to do.
Ediarum Backend, currently in development, is a tool to map XML data to a database, be it a Sql Database or a Fulltext Search Engine. I wanted to build a software that is faster, simpler, and more reliable than the XML database we currently use at the Berlin-Brandenburg Academy of Sciences. The software consists of an intuitive UI built with Vuetify that allows the user to define what data (via XPath) to pull from which files, and then a backend Rest API, written in Kotlin, that saves those mappings and pushes the data to a database.
I developed the website for Corpus Coranicum, a research project on the Quran, together with a colleague at the Berlin-Brandenburg Academy of Sciences. Our assignment was to update the existing website that had been around for years. That site and its codebase had atrophied over the years, so we decided for a complete rewrite. We made a Laravel application that pulled data from the existing MySql Database and functioned as a JSON Rest API. We then built the frontend as a Vue/Typescript SPA that consumed the Rest API.
For almost three years, I worked with about eight other developers in a team at PWC Deutschland. Our goal was to build various software applications that auditors could use to streamline their process for auditing companies. One of these applications was the checklist management component of ALI – Checklisten 2.0. It allowed auditors to construct and modify various lists of topics they had to address in a standard audit. I spent a year just doing frontend development with VueJs, and, for a pilot project, Elm, and then I switched to backend development with Java Spring Boot.
I built this prototype six years ago as a way to demonstrate that I can write SPA's in React and not just Vue. This small frontend application allows teachers and students of German to easily mark the main parts of a sentence. Since writing this, I have dreamed of building a full-fledged Javascript-based XML editor, since it turns on the same idea, namely: classifying elements of flowing text. But that would be a very big project, and the folks at Oxygen seem to be doing a great job at that.
May 2021
Hired as a research software engineer
Berlin-Brandenburg Academy of Sciences and Humanities
Wissenschaftliche Mitarbeiter (Research Associate), responsible for providing technical infrastructure for diverse research projects
October 2020
Promoted to Senior Associate Software Engineer
PwC Germany
June 2018
Hired as an Associate Software Engineer
PwC Germany
Frontend and Backend development in a cross-functional agile team.
October 2016
Hired as an Academic Technology Solutions Assistant
University of Chicago IT Services
Develop features for the university LMS (Learning Management System).
Help university instructors with using LMS.
December 2015
Received my PhD in German Literature
University of Chicago
The (grandiose and opaque) title of the dissertation: Infinite Mind: Morality, Self-Expression, and Imagination in German Idealist Thought