I am a Backend developer focusing on .NET, employed @ Routty.
I use this domain (and subdomains) for my personal projects.
Hope I can link some cool stuff later.
Link to some cool stuff below.
If you really want, you can contact me via LinkedIn.
Als je ooit een btw-nummer hebt aangevraagd, zoals ik een tweetal jaar geleden, herken je dit scenario
hoogstwaarschijnlijk.
Jij of je boekhouder heeft al het nodige papierwerk ingediend bij de Kruispuntbank van Ondernemingen, en
je wacht ongeduldig op je ondernemingsnummer zodat je eindelijk aan de slag kunt.
Nog voor je het officiële document met je gloednieuwe btw-nummer in de bus ontvangt,
krijg je al reclame en spam toegestuurd.
Dit betekent dat nog vóór de KBO je inschrijving heeft afgerond, derden al toegang hebben tot de lijst met
nieuwe ondernemingen in België.
Naar mijn mening wordt de spits afgebeten door de Interprofessionele Federatie voor Zelfstandige
Werknemers.
Zij sturen gewoon een factuur voor een lidmaatschap, in de hoop dat onwetende starters niet beseffen dat
dit een volledig optionele aansluiting is.
Zelf vond ik het wel bijzonder dat andere bedrijven zo snel toegang hebben tot nieuwe gegevens in het KBO,
dus dat wil ik ook wel eens bekijken!
Blijkt dat je heel de database gewoon kan downloaden, zo gezegd zo gedaan.
Fast forward naar een vergadering van een VZW waarin ik actief ben en het gaat over onze reclameboek, we
hebben de sponsorlijst van vorig jaar, een zorgvuldig geselecteerde lijst van lokale bedrijven die ons
willen sponsoren in ruil voor wat reclame op onze evenementen.
We bespreken of we nog bedrijven kunnen toevoegen en we spreken af als we eens gaan rondrijden.
In mijn hoofd gaat een belletje ringkelen, weet je nog de KBO database die ik gedownload heb?
Heb een export gemaakt van alle bedrijven in mijn dorp, deze was niet perfect, want er stonden ook andere
VZW's in maar ook internationale holdings etc, deze zijn best onwaarschijnlijk om te sponsoren dus na een
tiental types te filteren heb ik een lijst met alle bedrijven in mijn dorp die eventueel willen sponsoren.
Dit was wel een succes, we hebben nieuwe en meer verborgen bedrijven/ondernemers gevonden en zo onze kas
wat kunnen aandikken!
While browsing Reddit, I stumbled upon a community called
GoodreadsLunatics
, a place where people post pictures of
the most forward-thinking individuals from LinkedIn. You know
the type and probably have some people like that on your feed.
You know where people can also share their forward opinions?
That’s right,
Goodreads! A mostly okay platform where people can rate
the books they read, write optional reviews, and engage in some
social aspects, like any other social media.
A game where you get a funny review, and you need to guess which book it is! Lame? Maybe. But what I was really interested in was Blazor, the new web framework from Microsoft that allows me to stay within my Microsoft technology cave.
Goodreads has an API, surprisingly, but it’s pretty limited in functionality and did not provide the large datasets I was looking for. So, scraping it was! I found a list of the 100 most-reviewed books and scraped 30 one-star reviews, then 30 two-star reviews, and so on up to five stars. Is the scraper technologically advanced? No. There were some minor hurdles due to loading times and anti-scraper measures, but nothing too difficult. In no time, I had all the information from the 100 most-reviewed books, along with some handpicked books I personally had read. The reviews followed as well. That’s 111 books times 30 reviews for each rating (5), resulting in a nice catalog of reviews. I started with a SQL Server database.
With almost 16,000 reviews, I still had to filter out the funny ones. Reviews in other languages or long-winded sincere reviews were not needed. So, to follow the AI Hype, I wrote an AI review program in C# using Semantic Kernel, which was surprisingly straightforward. First, I hooked it up to a local LLM, which did the job just fine, but its idea of "funny" was not really what I was looking for. I switched out my local LLM with OpenAI's ChatGPT. Still using Semantic Kernel, I was scared of an outrageous credit card bill, but to my surprise, after some testing and rating all the 16K reviews, my bill was less than 5 EUR—a surprise, to say the least.
Blazor is like the middle child of Microsoft. It doesn’t get enough attention, but I hope it survives, unlike all the other UI frameworks from Microsoft. I’m a backend developer at heart, but we plow through it. With frameworks like Bootstrap or MudBlazor, it becomes bearable, and we have a functioning interface with some simple logic to show, load, and get some feedback from the user. I’ll keep this section short because I haven’t found anything new here. I still like Blazor, I guess?
I let AI do the grunt work by rating each review. Then I built a simple admin panel to manually approve each review. The classification was not really good enough to just pump into the game and be done with it. I built in a mechanism to ask the user if the review was funny and planned on integrating an ELO-like system where subsequent negative feedback lowers your score more than just one and vice versa—just like chess. But let’s wait until I get some real user interaction.
I know some Azure services are free, but I wanted to use Docker with Docker Compose. I have a NAS at home, which worked fine, but unfortunately, my internet speed isn’t too great and was very slow to load the covers of the books. So, I rented a Hetzner server for 3.50 a month, and after some intro to Linux and refreshing my command-line skills, I got it up and running, migrated the data, and set up a Cloudflare tunnel to get it working.
This project took a long time, not because it was hard or too much
work but because I was busy with other projects, some freelancing,
and life in general. I’m glad I picked it up, and it is in a state
where it is functional. Of course, you can build and build and
build, but I am just going to launch it and see how it goes.
Thanks for reading.
⚠️ Note: This project is no longer live unfortunately