Hi there! 👋
My name is Moritz and I'm a multi-purpose developer with a passion for aesthetically and functionally well-designed software, orbital mechanics and blueberry muffins. In my free time, I love to do any kind of creative work such as building apps, producing electronic music or playing the piano.
Diving deep into Vue and various other development tools, I build digital bridges between the vast universe of Earth Observation data and web users to make intricate space insights feel like backyard stargazing.
I work on multiple projects at EOX, most notably the Earth Observation Dashboard, where I implement features and fix bugs in our graphical front-end for ESA, NASA and JAXA on a daily basis. Furthermore, I develop a renderer for scrollytelling stories as a micro-app, which shows how ESA is working to help the environment by displaying the official stories of the Green Transition Information Factory in a storytelling format.
The EO Dashboard (eodash) is an initiative that utilizes Earth Observation (EO) satellite data to monitor various global challenges, including the impacts of the COVID-19 pandemic on the environment and human society. It serves as a collaborative platform where multiple space agencies share data and insights to provide real-time information on key indicators, assisting decision-makers and the public to gain a clearer insight into the situation.
My embedded renderer for scrollytelling stories, built upon the Intersection Observer API.
This is an micro-app which lives in an iframe
and receives various commands, including the scrollytelling data, over its PostMessage API and even allows passing Vue components defined as JSON directly into the scrollytelling engine if there is potential to avoid redundancy.
A geospatial variation of the classic Minesweeper game made to be integrated into eodash
and adapted to take GeoTIFF files as input, randomizing subboxes in the same aspect ratio to provide some variation in game boards.
![Screenshot 2024-04-19 at 16 29 27](https://private-user-images.githubusercontent.com/94269527/324139619-2d770f27-b7ea-4ab6-89ae-86b0e3892079.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0NjYyNDYsIm5iZiI6MTcyNDQ2NTk0NiwicGF0aCI6Ii85NDI2OTUyNy8zMjQxMzk2MTktMmQ3NzBmMjctYjdlYS00YWI2LTg5YWUtODZiMGUzODkyMDc5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDAyMTkwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNiMjBmZWQyNWZlNTVmMDk4ZTdkYzFkMmQwN2U2Yjc2YWJhYjc3Y2FlNjI3NWZmN2FkYmUxNzI5ZjRiNzZkNjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7ysqOJ_qzQPOpCae6elBSSQsasvtvlo0Z2poDPTRmVU)
The EOxElements
repository provides a library of common web components for Earth Observation, such as maps, a layer switcher and more, where I am responsible for the general EOX style and implement new functionality and layouts for various components in the library.
A dynamic, object-oriented language with patterns, classes and multiple dispatch.
Mag is based on the Magpie language by Robert Nystrom, who is a language engineer at Google with a blog and a lot of amazing ideas. His various blog posts are what started and inspired this project, and I plan on continuing his legacy even if the original codebase ceases further development.
However, since there are a few syntactical differences to the original Magpie language, the two languages are source-incompatible and thus have different names. In particular, Bob's implementation substitutes the dot commonly used for calling methods on objects with a space (usually a meaningless character), which I find rather unintuitive, especially for new programmers.
Moreover, this project serves as great exercise for the creation of programming languages.
A game using LED controllers equipped with accelerometers. As players move their controllers, the LEDs respond: stay below a movement threshold, and the LEDs remain green. Exceed that jolt threshold, and the LEDs shift towards red. The objective is to induce movements in other players' controllers to push their LEDs to red, while carefully avoiding such jolts for your own. The "territory mode" expands on this by letting teams "tag" others with their unique color.
The concept is based overflo's ghoust
game, and especially the Last One Standing game mode is derived from the original version.
- Distance detection with centimeter accuracy on ultra-wideband capable platforms like the ESP32-WROOM development boards with a mounted DWM3000 for
LEDswarm
games, and angle calculation using controller distances and the Pythagorean theorem.
Undoubtedly, Rust! While it might play hard-to-get initially, the safety and concurrency guarantees it provides are unparalleled. It's like having a vigilant guardian angel by your code's side.
While solo ventures like my language project mag
hold a special place, the vastness of space (and code) always feels better when shared. I'm eager to collaborate and join forces with fellow cosmic adventurers!
Still gazing at the stars, looking for that one fun celestial mystery about myself! 😉