A picture of Sjors van Holst playing VR in nature
A picture of Sjors van Holst playing VR in nature

Sjors van Holst


A website displaying real-time swimming conditions for Toolenburgerplas lake, using a custom temperature sensor, OpenAI API, and OpenWeather API, built with Next.js, SCSS, TypeScript, and Supabase.

I often go swimming with Wouter de Bruijn in a local lake near our homes called Toolenburgerplas. For years, Wouter and I have been thinking about creating a website to show the water temperature and whether or not it's comfortable for swimming.

This year, we finally created a temperature sensor. It consists of a 3D-printed enclosure with an antenna, Arduino 3G, internal and external temperature sensors, and batteries with a wireless charging circuit, ensuring we can charge it while underwater. This device, called ‘The Buoy,' is installed in the Toolenburgerplas.

I then created the website, which receives hourly data about the temperature. I use OpenAI API and OpenWeather's API to generate a short summary of the current swimming conditions. I've designed variants for the ‘No' and ‘Yes' pages with different doodles and colors to reflect the weather.

Wouter connected and programmed the electronics, while we both worked on the enclosure. I created the website using Next, SCSS, TypeScript, and Supabase for the database and edge functions. I've also used the aforementioned APIs to create the website. Working on this project took a while as I'm unfamiliar with hardware production, but I'm very happy and proud of the results!