In the Minecraft version 1.21.6, Mojang added the Happy Ghast, a mob that can fly slowly
and carry up to four players, making it great for large builds and hanging out with friends. However, the Happy Ghast itself is
very slow and tends to wander when no one is riding it. It's also quite large, which can get in the way.
To make the Happy Ghast usable again while keeping it balanced with the rest of the game, I coded this Data Pack.
It can disable wandering, make the Happy Ghast 3x faster, and shrink it to half of its original size.
Each of these improvements is configurable via items in survival, feel free to try it out!


My streak for Minecraft related projects goes on. This time, I wrote a full-on mod with a mod loader, fabric. This mod limits
how fast a player is able to fly with an elytra. The max speed can be configured inside a configuration file. There are two sides where my mod changes behavior: On the
server-side, it caps the player's velocity. On the client-side, it changes the prediction logic of elytra flight based on the max speed of the
server. When not changing the client-side predictions, the player may experience rubberbanding. It enables multiplayer servers to nerf the elytra and
reduce chunk-loading lag. A lightweight mod that will also be used for my own Minecraft server!

In Minecraft there are different dimensions you'll need to explore to progress the 'story' of the game, which finishes in The End dimension by killing the Ender Dragon.
It is very common in multiplayer that the server staff want to restrict entering those dimensions because of (1) slowing down story progression or (2) not being designed to have enterable
dimensions, a custom build server for example. For that, I coded this Data Pack which restricts players' access to the other dimensions by teleporting them immediately back after they try
to enter the dimension. It also has mod support and is currently the only working Data Pack based solution out there! Coding this was my first dive into making modifications for a game,
which made the process both challenging and really exciting.

As the name suggests, this is an online clone of the popular card game Cards Against Humanity. I've written
it to develop a deeper understanding of WebSockets and Games. It's written in my typical stack consisting of Svelte
on the frontend and Rust on the backend. But in comparison to one-googol,
which is a very similar project, it is way more complex and this time the frontend is hosted by GitHub and not by the backend, which
just hosts the api. This marks my 3rd "Game" I've written and I have to say it's by far the best one!

A simple app for managing your grades based on the german grades system in lower saxony. This was built in my Computer
Science lessons as a project to fortify and apply our theoretical knowledge of databases like sqlite.
Originally, there was a section planned with more analytics over all your quarters and some graphs, but as always our teacher didn't
give us enough time, so this will remain a 'when there's time for personal projects again' kind of thing.

A small clipboard extension which opens a wheel of actions interacting with your current clipboard on a configurable shortcut. It's designed to support extensions from anybody via a 2nd pointy-extensions GitHub repository. I have developed some cool ones myself, but also you can easily design some yourself. I even provide a rust api, look for that under the crate/extensions and crate/pointy_api in the main repository. Sadly, the interest from my side is currently on a halt, but if you find the idea interesting, mind trying it out!

The German elections have something called the "Wahl-O-Mat", where you can answer 38 theses and then get an election recommendation based on how other parties answered these theses.
It's incredible how shitty the source of the "Wahl-O-Mat" looks. They have some kind of custom templating engine with horrid datapoint definitions. Furthermore, a lack of features
like sharing your progress, automatically saving your progress locally, getting to compare your result to current polling results and so on increased the urge to develop something myself. So I created the "Smart-O-Mat",
a smarter and far better version. For every German fellow: Go voting and use this as advice for your election choice!

This small game emulator was built using my self-developed console-utils crate during my Informatics lesson.
Please note that it is written in German. In these lessons, we are currently covering OOP, and I wanted to explore how Rust implements object-oriented programming—both where it succeeds and where it falls short.
I'm currently waiting for my teacher's feedback, but I think she'll like it!

A few of my friends are working since 2021 / COVID-19 on a fast-paced shooter named "Plebis Online".
As I also began to develop stuff, they asked me to create a cool website which I did (hopefully). Additionally, I joined the team
and am helping them with other stuff, beyond just the Website. When the game is done, I will link it here.

This is a collaborative project where participants work together to reach a number with 100 zeros, known as a Googol. The backend was initially built in Go, but after a night of challenges, I switched back to Rust. The game is designed for large-scale participation, with my server currently capable of handling up to 18,000 concurrent WebSocket connections. It features intricate scaling with polling and, in the future, will include Cookie Clicker-style elements!

As the summary suggests, this project aims to streamline development by eliminating redundant definitions
in both the backend and frontend through static analysis of routes, functions, structs, enums and types. Utilizing the
#[metadata] procedural attribute macro and the generate! procedural macro, the project extracts
relevant information and generates the corresponding api in a TypeScript file. Currently, the project supports
the axum framework, with plans to extend support to additional backends in the future.

A powerful and user-friendly in-memory database crate that extends Rust's standard data types, such as as
the Table type, and the macro system for generating data types, interactions, and data operations. It features
efficient search and join! functions for seamless data management and rust's beautiful type system
for creating the database table. Give it a try and experience the simplicity and performance of this innovative database solution!

This project was created after I created eta from which I learned a lot. It's a terminal-based project editor with syntax highlighting, great performance and very useful and powerful shortcuts. So please give it a try!

The summary basically is enough to explain this project: A dashboard of all my websites.
I am here going to explain further how it came to this project. I bought some time ago the domain nwrenger.dev and wanted to host under that domain some websites,
which btw was harder than I thought because of DNS, the provider and GH-Pages. Nevertheless, the idea of an overview of all my websites began to grow, and now here we are!

Developed at the request of a friend who wanted a sound-sharing platform but never ended up uploading anything... So please, if you have content to share, go ahead and upload it. What gets uploaded won't be deleted. Have fun! Note: Not everything will stay there indefinitely, so please don't upload illegal material!

As explained in the summary, this is a code editor made in egui which focuses on efficiency.
Furthermore, this was created due to the lack of performance seen in VSC, the most used code editor, and my curiosity of
how a project editor app works and how hard is it to create one, which I now know it is VERY HARD.

This is a UI build for the flipperzero, a small IoT device which was mainly hyped due to it's hacking capabilities. The idea itself came from building a Flipperzero App myself and seeing how unnecessary, difficult that was. Nevertheless, the workflow when using this is to create a UI using the website and then use a Rust crate which converts the UI data and your own custom functions into a flipperzero compatible binary.

This project was initiated by writing Python during my Computer Science lessons. The thing is that Rust itself (the std library) does'nt have a very “nice” way of retrieving user input.
In comparison, python has the super simple input function which can do that very easily!
Therefore, I decided to develop this crate which main point is to be very developer friendly with providing high functionality!

Like many schools, mine also has a library where students can read and borrow books. My brother and I developed this piece of software to address this need. Originally, the library's software was a Windows application, but now it has been transformed into a comprehensive website plus server with OAuth for authentication. This update was made to eliminate the need for Windows/PC and to simplify the user interface for younger students.

The "Schulen im Chaos" (Schools in Chaos) project, which I was invited to develop the infrastructure and website for, focuses—as the summary suggests—on sharing notes on various school subjects, such as Mathematics, Physics, Computer Science, etc. It's important to note that the current scope of this project is limited to German schools only, due to the significant differences in school systems worldwide.

As a family member of mine is in a Dogsports Club and they had nobody managing their website, I got to being their webmaster. Nevertheless, I also redesigned the Website because the old one was designed years ago and looked horrid for modern standards. On that note, I have to say that Wordpress was an experience of itself and am proud to say, that after enough sleepless hours, it works and looks great!

Developed for a project week (a school-wide activity for a week, in my case we were our own state), this project unfortunately didn't meet expectations, but that's a tale for another time! Here, authorities could access an overview of all citizens, including the unemployed, as well as a record of crimes committed by citizens. The aim was to assist authorities in state management by eliminating the need for extensive paperwork, which is typically essential in bureaucratic processes.

You are aCtuAlLy currently viewing my portfolio. Feel free to explore the project source code to understand
how I built this website and provide feedback on areas for improvement. This portfolio style emphasizes simplicity with a
touch of design and fun. My portfolio/personal website has evolved significantly over time, even going back to a
Rust / Handlebars version ,
so don't hesitate to revisit and see what has changed!

This project marks my first attempt at writing in Rust, and the original version is available under the "old" branch. After gaining more experience and developing my own CLI crate console-utils, I expanded the project into a procedurally generated text adventure with a total of 16 different endings. Have fun exploring them!

Before I am explaining the origins/need of this bot, please note that the black bars in the picture are there to protect personal information, nothing more, nothing less!So, this bot was created for a discord server which I am also a part of. It can track birthdays (second message seen in the picture), copy messages from a channel (first message seen in the picture), give users automatically roles on certain conditions, ... This was created as a drop-in replacement of Mee6, which did some very shady stuff lately.

This was the first big project I worked on, marking the start of my programming journey! Crastination is a simple platformer where I aimed to create an immersive and intriguing story.
However, I didn't enjoy the development process, and the update to Godot 4 was the last straw—leading me to stop developing games altogether.
The idea itself was interesting: A game about procrastination. Why is it so hard for people to tackle difficult or ambiguous tasks? How can you overcome that?
But in the end, I tried to reach for the stars, only to realize I didn't yet have the skills nor the desire to to reach them.


