<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JavaScript on Wouter Brunenberg</title><link>https://brunenberg.github.io/tags/javascript/</link><description>Recent content in JavaScript on Wouter Brunenberg</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 24 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://brunenberg.github.io/tags/javascript/index.xml" rel="self" type="application/rss+xml"/><item><title>birdsandbe.es Daily Puzzle</title><link>https://brunenberg.github.io/projects/birdsandbees/</link><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><guid>https://brunenberg.github.io/projects/birdsandbees/</guid><description>&lt;p&gt;&lt;a href="https://birdsandbe.es"&gt;Play the game at birdsandbe.es!&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="overview-"&gt;Overview 🗺️&lt;/h2&gt;
&lt;p&gt;This is a daily puzzle game I made because I had some of those in my daily routine (Wordle, enclose.horse, daily LinkedIn games). I initially got the idea because I was having dinner and for some reason I was imagining how the objects on the table would have to be placed in order for light/lasers coming from the side to cover as much area as possible. I immediately wrote down the idea and started working on it the day after that. In about 2 weeks of working on it whenever I felt like it, I had a finished product, a puzzle generator and an algorithm I could use to quickly find the optimal solution(s) for any puzzle I gave it.&lt;/p&gt;</description></item><item><title>Quote Normalizer Browser Extension</title><link>https://brunenberg.github.io/projects/quote-normalizer-browser-extension/</link><pubDate>Sun, 29 Jun 2025 00:00:00 +0000</pubDate><guid>https://brunenberg.github.io/projects/quote-normalizer-browser-extension/</guid><description>&lt;h2 id="overview-"&gt;Overview 🗺️&lt;/h2&gt;
&lt;p&gt;This is a project I made for fun, because I thought it would be nice to always have the same kind of quotes on websites. I could not find a solution that offered that service, so I made it myself in a few hours. I had never created a browser extension before this, so I was excited to try it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/quote-normalizer/"&gt;Install link for Firefox&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="technologies-used-"&gt;Technologies Used 🛠️&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;HTML/CSS&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="showcase-"&gt;Showcase 📸&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://brunenberg.github.io/images/projects/quote_normalizer_example.gif" alt="Example of the application in use"&gt;&lt;/p&gt;</description></item><item><title>Image Hunt Challenge</title><link>https://brunenberg.github.io/projects/image-hunt/</link><pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate><guid>https://brunenberg.github.io/projects/image-hunt/</guid><description>&lt;h2 id="overview-"&gt;Overview 🗺️&lt;/h2&gt;
&lt;p&gt;This was an assignment for the subject &amp;ldquo;Cloud Services&amp;rdquo;. The goal was to create an API-first microservices backend for an image-challenge application. In this application an admin would start a challenge based on an image of a certain location, participants would have to take an image as similar as possible to get a high score.&lt;/p&gt;
&lt;h2 id="technologies-used-"&gt;Technologies Used 🛠️&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Node.js + JavaScript&lt;/li&gt;
&lt;li&gt;Express (HTTP API)&lt;/li&gt;
&lt;li&gt;MongoDB + Mongoose (data storage)&lt;/li&gt;
&lt;li&gt;RabbitMQ (message bus)&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;Traefik&lt;/li&gt;
&lt;li&gt;Imagga API&lt;/li&gt;
&lt;li&gt;Postman&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="showcase-"&gt;Showcase 📸&lt;/h2&gt;
&lt;h4 id="docker-container"&gt;Docker container&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://brunenberg.github.io/images/projects/image_hunt_docker_container.png" alt="Docker images"&gt;&lt;/p&gt;</description></item></channel></rss>