Sluip — PWA voor fietsers waarbij privacy voorop staat
Persoonlijk project
About
Sluip is een op privacy gerichte PWA voor fietsers, gebouwd met vanilla JS, Leaflet-kaarten en IndexedDB-opslag. De app richt zich op forenzen in Nederland, de EU en de VS die op zoek zijn naar een alternatief voor Strava zonder surveillance. De app biedt live routeweergave, overlays met windgegevens, het taggen van woon-werkverplaatsingen, GPX/CSV-export, een lichte en donkere modus, het delen van routeafbeeldingen en volledige offline ondersteuning — en dat alles zonder dat er een account, server of enige vorm van tracking nodig is.
Het verhaal achter de naam
In Nederland kent elke fietser wel een sluiproute — een zijweg, een kortere weg, het rustige pad door de wijk dat het drukke kruispunt omzeilt. Het woord is afgeleid van ‘sluipen’ (zich stil verplaatsen) en ‘route’: de manier waarop een lokale fietser rijdt wanneer hij de wegen goed genoeg kent om een betere route te vinden. Sluip is naar dit idee vernoemd. Het is een fietsapp voor de rit die u daadwerkelijk elke dag maakt – uw woon-werkverkeer, uw vertrouwde route – zonder dat u wordt gevolgd, geprofileerd of gevraagd wordt een account aan te maken. Uw routes blijven op uw apparaat, uw gegevens blijven van u, en de naam blijft Nederlands: praktisch, alledaags, privé.
Hoe spreekt u het uit?
Begin met „sl“, zeg vervolgens „oy“ zoals in „boy“, maar met afgeronde lippen, en sluit af met een „p“.
Sluip-promotie
Het is ontwikkeld volgens de WCAG AAA-richtlijnen, zowel in het lichte als in het donkere thema, wat strengere eisen stelt dan de EAA vereist. Dat was geen marketingbeslissing. Het gebruikelijke argument tegen een ontwerp waarbij toegankelijkheid voorop staat, is het budget, en Sluip is de kleinste schaal waarop dat argument van toepassing kan zijn: één ontwikkelaar, één bestand, één prijs. Als AAA hier haalbaar is, gaat het bezwaar inzake het budget niet op voor een team met voldoende financiering.
De beperking was juist het punt
Sluip heeft geen bouwpijplijn, geen server en geen afhankelijkheidsstructuur. Dit begon als een kostenafweging en groeide uit tot een beslissing ten gunste van de toegankelijkheid: er kunnen geen regressies optreden als gevolg van een leveranciersupdate, aangezien er geen leveranciersupdates zijn. Elke beslissing met betrekking tot de toegankelijkheid was in de eerste plaats een ontwerpbeslissing, en pas daarna een technische beslissing.
Wat AAA daadwerkelijk eiste
Beide thema’s zijn ontworpen volgens de AAA-contrastdrempels — het donkere thema vereiste twee herzieningsrondes, omdat de meeste ‘dark mode’-kleurenpaletten weliswaar voldoen aan de AA-norm voor hoofdtekst, maar onopgemerkt tekortschieten bij formulierbesturingselementen
Alle interactieve bedieningselementen hebben een minimale afmeting van 44×44 CSS-pixels; het bedieningselement voor het pauzeren van de rit is 56×56, omdat fietsers vaak handschoenen dragen
De status van de rit — actief, gepauzeerd, beëindigd — wordt aangegeven door een pictogram en een tekstlabel, nooit alleen door kleur
Volledige toetsenbordbediening, zodat een route met een schermlezer kan worden bekeken voordat u naar buiten gaat
De reële grenzen
Er is geen synchronisatie via de cloud. Raakt u uw telefoon kwijt, dan bent u ook uw ritgeschiedenis kwijt. Dat is een bewuste afweging: hoe eenvoudiger het systeem, hoe minder storingsmogelijkheden er zijn voor de gebruiker — en zowel privacy als toegankelijkheid vallen onder die beperking. Het grootste probleem bij AAA was helemaal niet visueel; het ging erom haptische feedback betekenisvol te maken voor gebruikers met motorische beperkingen, aangezien haptische feedback niet gestandaardiseerd is tussen verschillende apparaten. Elke haptische aanwijzing gaat gepaard met een zichtbare animatie.