|

Wilma is een Android-app, met een bijbehorende website, die laat zien waar in Nederland wegwerkzaamheden en afsluitingen zijn. De naam is een afkorting: Wegwerkzaamheden In het Land: Maatregelen en Afsluitingen. De gegevens komen uit de open data van het NDW, de Nationale Databank Wegverkeersgegevens, en zijn ook te zien op de publieke kaart van Melvin: https://melvin.ndw.nu/public
Melvin is min of meer de aanleiding geweest om de app te bouwen. In beginsel is Melvin namelijk een erg handige website om alle werkzaamheden in Nederland op te bekijken, maar de website werkt wat lastig op een mobiele telefoon. Een app voor deze website is er niet. De data van Melvin / het NDW zit vaak verwerkt in navigatie-apps en daarin is de informatie slechts beperkt tot praktische informatie: waar is het afgesloten? Ik wilde graag in een mobiele app wat meer informatie kunnen zien, zoals de ingestelde omleiding, de plaatser van de melding, etc. Aangezien we in een tijd leven waarin AI slim genoeg is om een app te schrijven, en ik met enige programmeerkennis vanuit een C#-opleiding mij wel red met Visual Studio, besloot ik Claude in te zetten om de app te bouwen. Waarom Claude? Omdat deze door velen hoog staat aangeschreven qua programmeerwerk. En dat is ook mijn ervaring. Claude denkt veel meer als een programmeur en laat duidelijk zijn denkstappen zien.
Over de naam heb ik een tijdje nagedacht. Het moest een mensennaam zijn die ook een afkorting is, aangezien Melvin ook een afkorting is van MELden van Verstoringen in de Infrastructuur in Nederland. Diverse namen kwamen voorbij tijdens het brainstormen samen met Claude. Wil en Tom kwamen in de buurt, maar Wil vond ik een rare, te korte naam en Tom leek te veel op TomTom. Rik was te veel een verwijzing naar routes, terwijl de app geen routeplanner is. Het logo is een weg in de vorm van een W, met een stippellijn in het midden en een afsluitbalk. Het is op een ietwat speelse manier vormgegeven.
Wat kan Wilma op dit moment?
- Een kaart met werkzaamheden als rondje (op één plek) of als lijn (over een stuk weg). De kleur laat de zwaarste afsluiting zien: rood voor een afgesloten weg, oranje voor een afgesloten rijbaan, geel voor een afgesloten of verlegde rijstrook en grijs wanneer er geen afsluiting is gemeld.
- Details in tabbladen: de gegevens van de melding, elke afsluiting apart met de periode, de omleidingen (elk in een eigen kleur op de kaart) en de bron met eventuele bijlagen.
- Zoeken op melding, wegnummer, adres of plaats, en een filter op soort melding, soort afsluiting en omleiding. Met de periodeknop kies je wat er speelt: nu, vandaag, morgen, komende week, komende maand of een eigen periode.
- Favorieten (een gebied met een straal, of een zoekterm zoals een wegnummer) en opgeslagen meldingen.
- Delen als kaartje met een kleine kaart, als link of als QR-code, en navigeren naar de plek.
- Meldingen op de achtergrond: de app waarschuwt als er bij je favorieten werkzaamheden bijkomen of veranderen, met stille uren zodat je 's nachts niet wakker wordt van een afsluiting die pas volgende week begint.
- Een licht en een donker thema, en gegevens exporteren en importeren, zodat je favorieten van de app naar de website kunt meenemen en andersom.
De website laat dezelfde kaart zien in je browser, zonder iets te installeren, met een eigen documentatie en een openbare changelog van zowel de app als de website. Web-push meldingen zouden een wat lastig geheel worden en een account op de website vereisen, terwijl ik juist een zo privacyvriendelijk mogelijke website probeerde te bouwen. Daarom hebben we de web-push meldingen weggelaten. In de app zitten wel meldingen, maar ook hier worden zo minimaal mogelijk gegevens naar de server gestuurd en vinden de controles zoveel mogelijk in de app zelf plaats.
Technisch is de app gemaakt met .NET 10 MAUI en de kaartbibliotheek Mapsui. De website gebruikt PHP, MariaDB en Leaflet. Een converter op mijn eigen server haalt elke 15 minuten de feed van het NDW op en maakt er kaartvakjes van, zodat de app en de website niet allebei de volledige feed hoeven te verwerken. De kaarten, luchtfoto's en adressen komen van OpenStreetMap en PDOK.
Wilma heb ik dus gebouwd samen met Claude, de AI-assistent van Anthropic. Ik bedenk en test het project, Claude schrijft de code. Ik bouw de app zelf in Visual Studio. Deze aanpak ging razendsnel: de eerste alfaversie (0.1.0) verscheen op 16 oktober 2026, en we zitten nu sinds 24 oktober op versie 2.0.0, de eerste definitieve versie. Ik ben zwaar onder de indruk van wat Claude hierin heeft kunnen bieden. Het is vibecoding, maar op een erg nuttige manier en met toch wel enige toegepaste programmeerkennis van mijzelf.
Op dit moment is de app uit de test- en ontwikkelfase en blijf ik hem onderhouden en uitbreiden. De website draait nog als bèta, omdat daar pas later naast de statische info de kaartweergave en wegwerkzaamheden aan toegevoegd zijn. De app is te downloaden via de website. Belangrijk om te weten is dat ik geen invloed heb op de gegevens die Wilma laat zien. Deze gegevens komen dus van het NDW en dat heeft als bron veelal gemeenten, provincies en Rijkswaterstaat. Controleer dus altijd even ter plaatse in geval van twijfel of de gegevens wel kloppen.
Oh, en wat ik het mooiste vind aan de app? De intuïtieve en mooie opmaak van de app en vooral de superhandige notificaties van nieuwe wegwerkzaamheden in favoriete gebieden. |