Skip to content
View spectrachrome's full-sized avatar
  • EOX IT Services GmbH
  • Vienna, Austria
  • 06:31 (UTC +01:00)

Organizations

@EOX-A @eurodatacube @mag-language @LEDswarm

Block or report spectrachrome

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
spectrachrome/README.md

banner

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.

👩‍💻 Mission Statement

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.

🛰️ Work experience

EOX

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 eodash Earth Observation dashboard is a feature-rich platform to monitor various global happenings that can be observed with remote sensing by satellite, including the monitoring of airborne chemicals like methane, CO2, N2O, traffic of cars, trucks and ships, and even inflow of sunlight to solar panels – I implemented an adjustable circle dial, allowing you select a range of hours during the day and adjust it to see the map update in real-time showing the influx of light at particular locations during that time period.

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

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.

🙆‍♂️ Personal Projects

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 controller game where people interact, collaborate and conspire against each other using handheld lights that react to movement, orientation and proximity.

The concept is based overflo's ghoust game, and especially the Last One Standing game mode is derived from the original version.

🌱 Learning & Explorations

  • 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.

💡 Tech love at first sight?

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.

👥 Are you a lone astronaut or part of a crew?

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!

🎉 Fun Fact?

Still gazing at the stars, looking for that one fun celestial mystery about myself! 😉

🛠️ Technologies & Tools

Front-End Development

Vue.js Vuetify Vite Flutter React

Scripting & Automation

Shell Script, Python Dart

Version Control

Git GitLab CI GitHub Actions Gitea

Virtualization & Containers

Docker

Design Tools

Affinity Designer Affinity Photo Blender Adobe Photoshop

Editors

Visual Studio Code, Xcode

📊 GitHub Stats

Your Name's GitHub stats Top Langs

🤝 How to Connect

LinkedIn

Pinned Loading

  1. eox-ar-spa eox-ar-spa Public

    Demonstrator app for GeoTIFF rendering with Augmented Reality, with Vite and Vue to simplify the integration of some dependencies only available as ES modules.

    Vue

  2. microscrolly microscrolly Public

    An embedded renderer for scrollytelling stories, built upon the Intersection Observer API and used to render the pages of ESA's Green Transition Information Factory

    Vue 4 1

  3. eox-minesweeper eox-minesweeper Public

    A geospatial variation of the classic Minesweeper game, based on satellite imagery provided by ESA

    JavaScript 1