Digital Dance Studio ↑
This is a project I started to check out Claude Code and AI assisted development in general.
It started as a reimplementation of the Dance trainer,
but has grown so much it has its own page.
It's a WPF application but has a planned server part with a microservice architecture connected through a Masstransit event bus in active development.
Addressable led strips controller ↑
I have several WS2812 addressable led strips that I can control using ESP32 microcontrollers running my own software (in C++).
When using these as normal ambient lights, I simply use the WLED software. This also runs on ESP32s and uses a web interface or smartphone app for configuration; It's easy and fancy.
Led Player
However, since I wanted to be able to do fast updates (1ms or even faster) and potentially make specific complex patterns, WLED was insufficient and I wrote my own program using the FastLED library.
Basic building blocks, such as a simple solid colour for the entire segment, gradients, pulses, etc
can be combined together in a tree structure, called a led plan.
Nodes in the tree structure can be combined as a sequence (one after the other), by dividing into segments, or by blending them together.
When a plan is played it calculates the right colour for every single led on the strip, for that specific moment in time.
Handheld device
On top of that, I also made a handheld remote controller that can be used to set the entire strip to a specific colour.
The device, also utilizing an ESP32, has several physical sliders, buttons and a display.
The buttons can be used to navigate through some menu's and adjust the settings.
The sliders are the main way to set the colour values and brightness, but since the sliding potentiometers I used are of low quality,
I also made it possible to lock the sliders and use the buttons for precise control.
Other functionalities are:
- Switching between RGB/HSV modes.
- An auto update mode.
- Persisting a colour to be applied at boot.
- A preview rectangle on the display.
On startup, the ESP32 will look for a specific Wi-Fi network. If it doesn't find it, it will create it.
The commands are sent as UDP packages. The display is interfaced with using SPI.
Dance Trainer ↑
This is a tool to facilitate training dance sequences from a video.
A speed control and a toggle to mirror the video allow the user to make it easier to copy the moves of the video.
Closer inspection can be done using the frame step buttons.
The main feature is that it can use a webcam to record the user while playing the video, allowing a side-by-side comparison.
In the side-by-side view the playback controls are synchronized for both videos.
This application is written in C#, using WinUI3.
Leuven Volley website↑
I made a website to make organising sessions for my
volleyball group easier.
Regular participants can see an overview of planned sessions and sign up for them.
If the session is full already, they will be placed on a reserve list.
If someone from the main list leaves someone from the reserve will take that place and get an email notification about it.
It's also possible to make private sessions only visible for people of a specific group, or by invitation.
Since a lot of international students join, the website is fully bilingual.
To support players bringing friends, it's possible for someone with an account to add a name to the list.
He can also remove that guest name if necessary.
Any user can organise sessions, not just me. In fact, it's mostly other people that are organising nowadays.
The website was hosted on various cloud platforms in the past, but now on a friend's server cluster.