Johann Jacobsohn

Work ExperienceShow irrelevant

2025 — now
Senior Fullstack developer at aiomatic
2021 — 2025
Fullstack JavaScript developer at Open-Xchange
2020 — 2021
Software developer at customQuake
2020 — 2021
Project "Development of a minified SO₂ camera" at Hamburg Innovation
2019 — 2020
Scientific assistant with the Lehrlabor of the Uni Hamburg (project Junosol)
2018 — 2019
Scientific assistant at the Institute of Geophysics at the Uni Hamburg
2008 — 2019
Software developer and team lead at Satzmedia
2006 — 2008
Software developer at Internet Products
2006 — jetzt
Sporadic freelancing as a software developer

EducationShow irrelevant

2018 — 2019
Research associate at the Institute for Geophysics
2016 — 2021
School of integrated Climate System Sciences (SICSS)
2015 — 2017
Doctoral scholarships at the University Hamburg
2014 — 2021
Doctoral studies at the Institute of Geophysics, Uni Hamburg
2014
Diploma of Geophysics, Thesis: »Intraplate volcanism and mantle plume dynamics: results from analogue experiments« PDF
2011
Internship at RWE Dea in the department »Geo Data & Applications/Geo Databases«, in close coordination with contractors of Halleyburton/Landmark.
2010
Internship in the »Section 2.3, Earths Magnetic Field« with Prof. Dr. Vincent Lesur of the German Research Centre for Geosciences, Potsdam
2011 — now
Member of the work group »Physics of magmatic Systems« of Prof. Dr. Matthias Hort, Institute of Geophysics, Uni Hamburg
2008 — 2014
Studies of Geophysics at Institute of Geophysics, Uni Hamburg
2005 — 2008
Studies of Physics at the Department of Physics, Uni Hamburg
2005
Abitur

Current Projects

Everymail myAccount

Timeframe
March 2024 - now
Current State
active
Technologies
React, Typescript, Kubernetes

MyAccount is a relatively large internal Typescript/React Application, deployed to the internal kubernetes cluster. It will allow potentially hundreds of thousands of users to administrate email mailboxes and is a key part in introducing Open-Xchange to end-user business.

OX App Suite

Timeframe
2021 - now
Current State
active
Technologies
A11Y, Vue, Backbone
Link

https://www.open-xchange.com/products/ox-app-suite

App Suite is a large software suite used by hundreds of millions of users every day. While working on App Suite, I have been responsible to maintain and enhance the existing code base, develop new features, writing unit and end-to-end tests, and handling requests from both internal and external customers. To ensure the long term viability of our product, I have been leading the initiative to transform our legacy backbone codebase to Vue.js. I have also been one of the leading developers to ensure accessibility of App Suite and at Open-Xchange.

Fun Projects
Filter by technology...

Aside from the many small and large projects I worked on for clients, there are a large number of privat, fun and usually open source projects I worked on throughout the years - purely for fun, skill, and no profit. This is a small sample of these projects I found interesting to share.

Papersurfer

Timeframe
Since August 2020
Current State
completed
Technologies
Python
Link

Python Packaging Index (pip)

We use the Slack-alternative Mattermost as a shared repository for scientific research papers in our workgroup, so I decided to write a TUI (Text User Interface) to retrieve and display that data, as well as augment it with additional resources. Available for use from the Python Packaging Index (pip).

SlideSurfer

Timeframe
October 2020
Current State
discontinued
Technologies
NextJS, TypeScript, React, SWR, SASS, Material UI

A simple platform to create, view, share and giving social distant talks. Also an experiment to create websocket-like features with simple REST and SWR. And another pretends to play with NextJS and Typescript. Set aside for the moment, and probably forever.

TicketSurfer

Timeframe
Oktober 2020
Current State
discontinued
Technologies
Javascript, CSS3, Typescript, NextJS, React, REST, SWR

I got tired of synchronizing three browser tabs to see Slask convos, redmine tickets and associated bitbucket pull requests, so I build an app to show all three in one unified, synchronized custom view. It interfaces with the REST apis of all three services (ticket, code review, chat) simultaneously and is guaranteed to be up-to-date per SWR. Features both server- and client-side rendering and improved styling. Also my first venture in the fascinating world of serverless architectures.

Coding & Review Tipps

Timeframe
Juni 2019 to February 2020
Current State
Completed
Technologies
Jupyter Notebook
Link

coding-tipps.pdf, review-tipps.pdf

During the "JUNOSOL - Jupyter-notebooks for self-organized learning" project I trained students, produced screencasts and wrote documents on code, including tipps on how to write good code and tipps howto write good code reviews in the context of scientific Jupyter notebooks.

git-fix

Timeframe
July 2019
Current State
completed
Technologies
git, bash, bitbucket api, gitlab api, redmine api
Link

bitbucket snippet

A fun little project to write a git command to sync redmine tickets to gitlab or bitbucket pullrequests and make working with a git flow model a tiny bit easier. git-fix interfaces with the REST Apis of redmine, gitlab and bitbucket to automatically create and populate a pull request from a redmine ticket. Credentials are stored in the git config infrastructure, a pretty neat approach I've reused in other projects.

SO2 Control

Timeframe
2013 bis 2019
Current State
In production
Technologies
C, C++

A long standing large hardware/software system to coordinate different sensors for scientific UV imaging entirely written in C. Interfaces with cameras, spectrometers, motors and thermo sensors. Embeded in a larger ecosystem of different hardware and software projects. Deployed on multiple field campaings on different volcanoes.

Is Johann Dead Yet?

Timeframe
June to October 2016
Current State
discontinued (weird idea anyway)
Technologies
C, Javascript, Espruino
Link

github

Since the university doesn't believe in air conditioning I've build a small app in the summer of 2016 that continuously monitored my office's room temperature and tried to predict whether I am still alive - or not. I used an Espruino (a kind of Javascript bases Arduino) that send temperature date from an attached thermoprobe to my desk PC, which created a static Dropbox webpage. The project died when Dropbox discontinued that service.

SystemdTray

Timeframe
February to March 2016
Current State
completed
Technologies
C++, QT5, dBus
Link

github

I needed a small programm to monitor systemd processes and display a tray indicator icon, so I wrote one. My first deep dive into dBus and QT5.

Arduino Motorcontroller

Timeframe
May to September 2015
Current State
Completed
Technologies
C, Arduino, Hardware, Electrical Engineering
Link

github

I needed a (cheap) stepper motor controller assembly that manages stepper motors with both a manual switch as well from a serial interface and also monitors end breaker sensors. My first electrical engineering project to containing both the Arduino firmware as well as the CAD electronic hardware.

Kaffeesatz

Timeframe
February 2013 to August 2014
Current State
completed
Technologies
HTML5, CSS3, NodeJS, Websockets, REST, Express, MongoDB
Link

Project page, github

A fun project for everyone dealing with paper tally lists. A neat touch tally app synchronizes and updates itself and is installable on iOS and with Firefox. A simple backend administration interface allows to manage users, beverages and prices, balance accounts. Everything is real-time synchronized thanks to a websocket server.

Mensa App

Timeframe
2011 - 2014
Current State
defunct
Technologies
NodeJS, Phonegap, Javascript, CSS3, EnyoJS, Mocha, React, VueJS, Mojo, MongoDB
Link

Website

One of my biggest solo-projects so far. An App to display, filter and organize the weekly and daily mensa menu at the hamburg university (and some other local universities). Not just one App, but a baker's dozent. Variants existed for Palm/HP Mojo, Enyo, Android Tablet (back on Android 3), Android Phone (Android 2+), iPhone, iPad, Blackberry Playbook, Nokia N40, Win7 Phone, FirefoxOS, Chrome Webstore, and even as a Win7 Web Slice. At its peak, it had thousands of active installations from different app stores and even a small community. Written in JS/CSS in a multitude of frameworks with a NodeJS Backend Service.

Enyo-BBUI

Timeframe
July to November 2013
Current State
abandoned
Technologies
Javascript, CSS3, EnyoJS, bbui.js
Link

github

EnyoJS is a framework for building native-quality HTML5 apps that run everywhere and bbui.js is a BlackBerry UI look and feel JavaScript toolkit for WebWorks. Enyo-BBUI aims to bridge these two to create native-quality HTML5 Apps on Blackberry 10 devices and was featured on the official Enyo-Blog.

HTML Quine

Timeframe
September 2008
Current State
completed
Technologies
HTML5, CSS3
Link

"Source"-CSS, HTML-Quine, blog post

A Quine is a program that renders its own source code. Back in 2008 I discovered that I could write a "Source"-CSS and even an HTML-Quine. I probably wasn't the first one to discover this, but I still like to think I was, I even wrote a blog post about it.