Here you’ll find a selection of open-source projects I’ve created or contributed to, as well as personal and professional work. As soon as I find the time I’ll add games and digital art projects.
There’s a list of featured projects and a chronological list of projects. Also I try to actively maintain all of my open-source projects, if they’re not marked as deprecated.
SDLDoom 1.10 compiled to WebAssembly using Emscripten.
A simple microfrontend architecture for explaining/showcasing the concept.
100% free Japanese Phrasebook app, built for travel and offline usage. Add it to your Home screen and access 670+ essential phrases in 19 topics. Requires no Internet connection and offers speech synthesis, so you know how to pronounce Japanese phrases correctly.
Corsair using RxJS, Immutable.js and WebGL/three.js.
Breakout using Functional Reactive Programming and RxJS.
This WordPress plugin allows you to lazy-load your images while showing the dominant color of each image as a placeholder – like Pinterest or Google Images.
manu.ninja is the personal blog of Manuel Timelthaler. Jekyll, then Gatsby 1-2, then 11ty.
SDLDoom 1.10 compiled to WebAssembly using Emscripten.
Examples of JavaScript module bundlers and task runners for my lectures and workshops, focusing on JS, HTML/CSS (Sass) and Vue.js.
A simple microfrontend architecture for explaining/showcasing the concept.
snow.js is a module that exports a snow() function, which you can pass the number of snowflakes you’d like and an HTML element where they should be drawn.
Prototype for a collaborative real-time presentation software, meant as a self-hosted alternative to Google Slides. Built during a 24-hour hackathon in a team of three people using Firebase, Preact, TypeScript and Feathers.
Nightwatch/Cucumber plugin for Vue CLI 3.
Source plugin for pulling blog posts, authors, categories, tags, and content fields into Gatsby from ButterCMS.
Personal wedding website with guest management, built using VuePress, Storyblok and Netlify Functions.
Vue.js dictaphone component to record audio from the user.
Essential WebGL examples, adapted from MDN and Learning WebGL.
100% free Japanese Phrasebook app, built for travel and offline usage. Add it to your Home screen and access 670+ essential phrases in 19 topics. Requires no Internet connection and offers speech synthesis, so you know how to pronounce Japanese phrases correctly.
Example project for my lectures showing how to use Vue.js core libraries and tooling with GraphQL. A companion project sets up a serverless GraphQL backend via Graphcool.
Corsair using RxJS, Immutable.js and WebGL/three.js.
ARTUR (Autonomous Robot Playspace) is a game designed for the Deep Space 8K at Ars Electronica Center. It made its debut at the Ars Electronica Festival 2017 in Linz, Austria. The web interface allows visitors to take part in the game by spawning new items for the players.
A complete example on how to send push notifications, using Service Workers, Notification API, Push API and Google’s and Mozilla’s push messaging services.
three.js example showing how to add a comment box or annotation box to a WebGL object as seen on Sketchfab.
A take on the original design by Humans since 1982, where 24 analogue clocks form a digital clock.
Provide color stops for a gradient that loosely resembles the original image. This package only contains the basic algorithms to use in any JavaScript application.
Provide color stops for a gradient that loosely resembles the original image.
A “droplet effect” pull-to-refresh animation using SVG, CSS and JavaScript.
A Laravel 5 wrapper for LightnCandy for using the Handlebars (and Mustache) template engine. It allows you to use the same templates in different languages (like PHP and JavaScript) on the client and server.
Simple Electron app providing a GUI for a command-line utility.
A command-line utility for creating sprite animations from image sequences.
Grunt plugin to generate an SVG icon system (based on <symbol>) of a specified folder.
Snippets showcasing the differences between quantization techniques.
Breakout using Functional Reactive Programming and RxJS.
This WordPress plugin allows you to lazy-load your images while showing the dominant color of each image as a placeholder – like Pinterest or Google Images.
three.js example using an OBJ/MTL loader, orbit controls, nearest-neighbor filtering and a pure white ambient light to showcase pixel art textures.
manu.ninja is the personal blog of Manuel Timelthaler. Jekyll, then Gatsby 1-2, then 11ty.
Radiated Pixel’s Clementine, the skill-based brain-twisting platformer, on iOS, Android or Windows Phone. Can you run further than your friends and beat their high scores?! The microsite lists all-time high scores of players.