I have been professionally creating digital tools, desktop applications, web experiences, mobile apps and video games for desktop, mobile and other platforms for more than 10 years.
Since owning my first computer as a child, I’ve been experimenting with, developing, and programming digital media. And since that day, I am curious and excited to see how technical possibilities open ways for solutions and use cases that benefit our work, daily life and free time.
This web page should give you a better impression of what I do, so please be invited to have a look at the various projects I worked on below.
And if you want to reach out, do not hesitate and contact me! I am currently searching for projects so feel free to send me an email or connect via LinkedIn.
CV:
PDF Version
For Breakpoint One I developed a software infrastructure that enabled us to create big cross-platform projects (AR/VR/Mobile/Desktop) in Unity very quickly and in a maintainable way for the whole team.
We shipped a suite of educational apps named MINT-VR Labs for the BHT that f.e. taught students how to code sequences in a programmable pizza factory and contextualized higher university math by parsing and visualizing terms as 3D mountains to understand expression simplifing & differentiating as well as normal calculation.
In co-operation with MR4B we also created the cross-platform 'DIY', a VR/desktop training scenario editor, allowing to create and share own educational VR learning experiences.
Besides the big projects we had fun creating dragons flying around in stadiums in real life (AR) and of course, developing a casual VR multiplayer game named Koloss, in which giant titans try to destroy their castles spectacularly.
During the development of Dash Cup Kickers, I quickly realized the need for a workflow for asynchronous & networkable/recordable side effects and tasks, which were really tiring and error-prone to write in the traditional way, when working with game engines.
The organization of game projects leads to a different workflow that is normally used in classic software development, which is quite code (file) heavy. And that is how the action principle (and the first prototype library) was born.
Those insights and ideas lead me to develop the infrastructure and library for Breakpoint One, which would then be battle-tested and extended on new projects for bigger teams working with git. Since I also needed this for my favorite game engine Godot, I took all this experience and re-designed a new concept with those workflow principles in mind and created the Rokojori Action Library.
The library is designed for all game developers - from designers to programmers - to collaborate on projects more easily. It is focused around the editor itself and gives all developers quickly an overview how things are wired up.
On top of that, it comes packed with GPU-accelerated rendering components, procedural asset generation and implementations of a lot of common techniques known from Masahiro Sakurai's Creating Games channel to complete the Godot core engine with features to polish and finish video games.
Another exciting journey was working on Trillian, the autonomous car of TomTom, which was used to test, develop and market the features of TomTom's HD/Orbis Maps.
I was responsible for creating the 3D streets editor that was needed to virtually test and real-world drive the autonomous vehicle. Technically it was a very interesting task combining dynamic web technologies for a desktop app (Electron) with a native c++ backend.
It visualized several sensor data types like point clouds and could edit traffic lights and signs, as well as generic data. Additionally it was used to create streets by importing sensor data and align lanes automatically. For the Trillian development, the autonomous/driving team got a custom map format that allowed them to add and adjust special driving data like center splines for the lanes.
For test drives and reviewing we also developed a live view app for mobile browsers, that showed in real time the processing data and 3D view the vehicle would produce including Trillian's planned trajectories & goals.
During my time at Native Instruments, I did a lot of research. I ported native C++ synthesizers to the web (ASM.js/Emscripten), created patented interaction hardware controls and designed many hardware and software prototypes.
One main research project was the creation of a prototype DAW that allowed us to quickly explore new workflows for NI's DAW Maschine.
Besides the research work I also implemented DSP effects for products like the Replika VST plugin, where I developed the pitch shifter.
When applying to NI, I created my own VST synthesizer inspired by Massive, code name '2Masssive'. It is a 2D wavetable synthesizer, interpolating 4K wavetables freely in 2 dimensions. It could automatically create and polish wave tables from other sources and uses infinite bezier curve envelopes/LFOs and a lot of DSP effects and filters.
I have been using HTML since its very beginnings where it was a pixelated-text-with-images-framework, nobody thought it could do "real" applications. Nowadays a lot of applications have highly complex HTML versions, sometimes even as native versions hidden in a wrapper.
While studying, I started to do my first commercial projects, which were basic websites or animated business-card-style flash applications. Later, when HTML5 was establishing, I started to create more complicated web apps like a tie/cloth editor for freely designing and editing ties & cloths.
The backends changed over the years as well the frontends. I am happy that there is so much choice now to select the right tool for the right task. In my projects, PHP is still (or again) a choice for simple backend functionality on cheap consumer servers, while Node.js serves for advanced services and tasks.
Frontend-wise there were, are and probably will be a lot of religions. From the old days with Java, Flash and Silverlight transitioning over with jQuery/HTML5 to Angular, React and Vue (and all the others).
I founded my own JS/TS front-end religion by creating a framework for my needs: a runtime/declarative component-template workflow similar to slots and a ton of helpers. For 3D, I am totally on three.js, one of the best libraries I have worked with.