Hey! My name is Piet Brömmel. I am a Data Scientist at Fraunhofer IML and I live in Düsseldorf, Germany. You can reach me by email at piet.broemmel@gmail.com.
I love programming and doing side projects. I am interested in open data, statistics, machine learning, and generative art.
Links: GitHub, Huggingface
This project implements an AI-powered chatbot that integrates with the Signal messenger, allowing users to interact with various AI models (Gemini and Flux right now) through Signal messages.
Links: GitHub
A project to create textures by placing cutouts onto a grid with various transformations and randomness. The cutouts are created using Flux.1 [dev] (a text to image model) and the background of each image is automatically removed using another model.
Links: GitHub
Statistics about the Podcast: "Die sogennant Gegenwart". In each episode they play a small game in the beginning. Using an LLM API, I extracted short descriptiones and the scores of each game and aggregated them for some interesting statistics.
Links: GitHub
A simple GitHub Action tool that runs weekly to check if specified websites or parts of websites have changed. If changes are detected, the GitHub Action fails, triggering a notification for me.
Links: GitHub
A small repo to download Factorio Friday Facts and save them as markdown files and use an LLM (Claude 3.5 Sonnet) to generate new blogposts with the older ones as few shot examples and new topics.
Links: GitHub
This website inspired by the design of www.michaelfogleman.com.
This is a simple website to generate complex patterns using bitwise operations. It works by evaluating a formula like (x ^ y) % v for every pixel value, where x and y are the coordinates and v is an additional flexible value. If the result of the formula is 0, the pixel is colored white; otherwise, it remains uncolored.
Static, simple and opinionated websites for labeling images for computer vision applications. There is a website to label bounding boxes in images for object detection and one for labeling images for classification. Everything is done locally in the browser without using the internet.
Links: GitHub, Object Detection Website, Image Classification Website
This is a simple website to generate generative art using a substitution system. It works by using a random color palette and generating random replacement rules for each color. The replacement rules are a 2x2 grid of random colors from the color palette. A starting 2x2 grid is created, and the replacement rules are applied multiple times to transform the starting grid, doubling the size of the grid in each iteration.
I think it's pretty impressive that it is possible today to create realistic looking images using just a prompt. This inspired me to experiment with one of these models to create images similar to the ones I generated with my factorio-blueprint-visualizer project. I gathered a dataset and finetunes the Stable Diffiusion XL model using LoRA technique. With this model, a prompt like "pastel drawing of factorio, symetry" can create a new and imperfect image inspired by the orginial ones.
Links: Huggingface, Dataset
Did you ever wonder which artist you listened to the most in your entire years where you used spotify? Well I did. And since you can download your entire streaming history as a few files from spotify it's also possible. This is an online tool where you can open these files and explore your own listening habits. All statistics are only computed locally in the browser.
An earlier version of this website inspired by the design of billwurtz.com.
I love the game Factorio, and I really like the look of blueprints after tweaking them for perfection or factories after growing them for many hours. That's why I built an online tool to artfully visualize these factories and blueprints using randomized styles. You can open the website and paste a blueprint string or book to visualize it.
Inspired by Michael Fogleman's Physarum Simulation, I created a dataset of physarum images using the tool he built. I used this dataset to create multiple generative AI model using a residual autoencoder. The videos are created by interpolating between vectors in the latent space of the autoencoders. This technique is also called "latent walk" and works quite well for autoencoders.
A small script to create protein ribbons SVGs for plotting on a pen plotter using fogleman/ribbon.
Links: GitHub
Implementation of Impossible Architecture from Anders Hoff in python for plotting.
Links: GitHub
René Omenzetter and I created an art exhibition plotting ~550 unique apples and hanging them as a grid on walls. We used a random subset of hand-drawn apples from people around the world who played the Google Quick, Draw! game. The drawings were plotted with a pen plotter, mimicking the people who drew those apples.
Links: Website