Projecten (31)
01-2026 – 11-2026+Freo.nl (Rabobank)📍 Eindhoven · Frontend + LeadReactNext.jsVitepnpmTypeScriptPlaywrightCSS ModulesUX
Bij Freo (Rabobank) werkte ik via Iquality aan het opschalen van een bestaande Storybook/Next.js-webapp, zodat die vier merken bedient vanuit één technische basis: Freo.nl, Sprankr.nl, Defam.nl en Lendris.nl. De uitdaging was helder: drie nieuwe websites live binnen drie maanden, zonder uiteindelijk vier losse codebases te moeten onderhouden.
In de financiële sector zijn toegankelijkheid, veiligheid en compliance niet onderhandelbaar. We losten dit op met een design system met thema's: Figma → Style Dictionary → Storybook → Next.js. Design tokens worden vertaald naar merkspecifieke CSS, terwijl gedeelde componenten centraal blijven. Elk merk houdt zijn eigen identiteit; package-updates en technische schuld blijven op één plek.
Naast het architectuurwerk breidden we de codebase uit met a11y-tests (inclusief contrastchecks) en unit tests: een strakke combinatie van design systems, frontendarchitectuur en een harde deadline.
10-2023 – 11-2025+Beslist.nl📍 Arnhem · Frontend + LeadReactTypeScriptJestApolloSassdataLayerUXReact Router
Na het vertrek van de lead frontend developer werd ik gevraagd terug te keren bij Beslist.nl, waar ik in 2022 ook al had gewerkt. Naast het bouwen van nieuwe features speelde ik een belangrijke rol in het herontwerp van de hoofdwebsite, met een gebruiksvriendelijkere en modernere interface als resultaat.
Ook was ik verantwoordelijk voor de communicatie tussen het UX/SEO-team en het development-team. Ik bracht een nieuwe teamdynamiek op gang, waarin we goede codestandaarden handhaafden en infrastructuurwijzigingen samen oppakten.
Verder werkte ik aan diverse zoek-endpoints op basis van vectoren en AI (kunstmatige intelligentie), voor zowel REST- als GraphQL-interfaces.
08-2025 – 11-2025+My Active Age📍 Arnhem · FrontendHTMXTailwind CSSJavaScriptHTML
Ik werkte mee aan de app van My Active Age, die gebruikers inzicht geeft in hun bloedwaarden en slaappatronen, en persoonlijke taken biedt om hun gezondheid te verbeteren.
De oorspronkelijke frontend was gevibecoded met Bootstrap en jQuery, lastig te onderhouden en inconsistent in stijl. Ik herstructureerde hem met een moderne architectuur op basis van HTMX, Tailwind CSS en vanilla JavaScript, terwijl de solide Django-backend intact bleef.
Met AI-ondersteunde refactoring zette ik de jQuery-code om naar schoon JavaScript. Ik liet HTMX de meeste GET- en POST-requests afhandelen, zodat er zo min mogelijk JavaScript nodig is, en verving Bootstrap stap voor stap door Tailwind, voor een overzichtelijkere en beter onderhoudbare UI.
02-2025 – 07-2025+GrandVision BV📍 Schiphol/Amsterdam · FrontendReactNext.jsTypeScriptJestViteCSSStorybook
Bij GrandVision BV werkte ik aan een design system in Storybook, waarin ik meer dan 30 unieke thema's bouwde en onderhield voor hun wereldwijde netwerk van opticiens. Het systeem is gebouwd met React en gebruikt Vite voor het efficiënt genereren van stijlen en het buildproces.
Daarnaast werkte ik aan een Next.js-project voor meer dan 30 werkmaatschappijen (OPCO's) in verschillende regio's. Daarvoor bouwden we een robuuste multi-tenant-architectuur, waarmee code efficiënt gedeeld wordt terwijl elke OPCO zijn eigen merkspecifieke aanpassingen houdt.
09-2023 – 10-2024+Plein.nl📍 Maarssen · FrontendVueTailwind CSSTwigJavaScript
Bij plein.nl begon ik als frontend developer met een dubbele focus: frontendtests introduceren en de bestaande codebase moderniseren. Daarbij stapten we over van jQuery, Handlebars en Moment.js naar plain JavaScript.
Voor een nieuw project leidde ik de overstap naar een tech stack met Tailwind CSS, Twig en plain JavaScript. Het doel was een moderne, intuïtieve webshop voor een nieuw sublabel binnen het plein.nl-ecosysteem.
Met Vue 3 en Pinia voor state management bouwden een collega en ik een nieuw, modern checkoutsysteem. Naast de basisfunctionaliteit kunnen gebruikers er meerdere adressen in toevoegen, wijzigen en verwijderen.
03-2023 – 09-2023+Four Digits📍 Arnhem · Frontend + FullStack + LeadReactTypeScriptNext.jsTailwind CSS
Bij Four Digits werkte ik aan een Next.js-project: een website met meerdere talen en meerdere sites, gebouwd met React Server Components. Next.js is een populair React-framework voor server-side gerenderde (SSR) webapplicaties, wat zorgt voor betere performance, SEO en UX.
Mijn hoofdtaak was het bouwen van de meertaligheid en de multi-site-functionaliteit: ondersteuning voor meerdere talen, landen en domeinen, terwijl code en resources tussen de sites gedeeld worden.
Daarnaast zette ik de nieuwste features van Next.js in, zoals React Server Components, om de performance te verbeteren en het ontwikkelen eenvoudiger te maken doordat componenten op de server gerenderd worden.
04-2022 – 01-2023+Beslist.nl📍 Arnhem · FrontendReactTypeScriptJestApolloSassdataLayerUX
Beslist.nl is een populaire vergelijkingssite met meer dan 400.000 bezoekers per dag. Als onderdeel van het development-team was ik verantwoordelijk voor de productoverzichten en landingspagina's. Daarbij configureerde ik de Apollo-server en stylede ik de componenten, met veel aandacht voor het optimaliseren van de Core Web Vitals voor een betere positie in Google. Door te focussen op gebruikerservaring en performance wilden we bezoekers een soepele en efficiënte winkelervaring bieden. We streefden naar 100% testdekking.
01-2022 – 03-2023+Acato📍 Utrecht · FrontendReactStorybookWordPressSassPHP
Bij Acato droeg ik bij aan de ontwikkeling van NL Design System, een componentenbibliotheek speciaal voor overheidswebsites met hoge eisen aan toegankelijkheid. De bibliotheek is gebouwd met Storybook, een populaire tool om UI-componenten los van elkaar te ontwikkelen.
Binnen dit project was ik verantwoordelijk voor het bouwen en integreren van componenten in de nieuwe hoofdwebsite van de gemeente Den Haag. Die website is gebouwd in WordPress met een blokgebaseerde editor. Ik zorgde ervoor dat de componenten voldeden aan de toegankelijkheidseisen en naadloos werkten binnen de bestaande infrastructuur van de website.
Met mijn bijdrage aan NL Design System en de website van Den Haag hielp ik de gebruikerservaring en toegankelijkheid van de site te verbeteren.
10-2021 – 12-2021+Automotivated📍 Arnhem · FullStackReactGatsbystyled-componentsGraphQLStrapiYarn WorkspacesUX
Voor Automotivated hielp ik een boilerplate te bouwen voor websites van autodealers. Elk component is te overschrijven via de themes-functionaliteit van Gatsby. Zo ontstond een boilerplate die direct een volledig werkende webapp is, waarbij je elk component kunt overschrijven of schaduwen.
07-2020 – 10-2021+Emico📍 Rhenen · FrontendReactApolloEmotionGraphQLTypeScript
Ik werkte aan verschillende e-commerce-PWA's, allemaal met een headless Magento-backend en een frontend in React met Apollo.
06-2021 – 07-2021+Fabrique📍 Amsterdam · FrontendSassJavaScriptNunjucksGSAP
Fabrique bouwde een website voor een van hun klanten: een digitale tentoonstelling van kunstwerken. Het was mijn taak om de frontend te bouwen met Nunjucks-templates, die de backend-developers koppelden aan hun Django-backend. Voor de scrollanimaties gebruikte ik GSAP. Een van de eisen was dat de website voldeed aan WCAG 2.0 niveau AA.
11-2019 – 03-2020+Hipex📍 Rhenen · FullStackReactGatsbyGraphQLstyled-componentsNetlify CMS
Voor Hipex bouwden we een statisch gegenereerde website met Markdown-bestanden als backend via Netlify CMS.
07-2018 – 07-2019+Terberg Leasing📍 Utrecht · FrontendReactReduxstyled-componentsStorybookTypeScriptCypressJest
Tijdens de bouw van de nieuwe justlease.nl-website werd ik gevraagd aan te sluiten bij het projectteam om met dezelfde codebase een vergelijkbare website te bouwen voor een ander label van Terberg Leasing: 'plus'. Met de bestaande tech stack zette ik de nieuwe website voor 'plus' op, met React, styled-components, Redux en veel andere moderne tools. Daarnaast bouwde ik nieuwe features in de gedeelde ReactJS-library voor zowel de Justlease- als de Plus-website.
03-2019 – 06-2019+Four Digits📍 Arnhem · FrontendSassCypressWebpackDjango templatesJavaScript
Four Digits herbouwde de beheertool voor een van hun grote klanten: een omvangrijk systeem waarin medewerkers van een organisatie voor maatschappelijk werk al hun werk, notities en administratie vastleggen. Ik hielp met alle frontend-templates (Django), Sass-stylesheets en JavaScript, en bouwde herbruikbare componenten die de backend-developers in de jaren daarna konden blijven gebruiken.
10-2018 – 12-2018+Goed idee media📍 Arnhem · FullStackGraphQLGatsbystyled-components
In de zomer van 2018 nam ik de tijd om me te verdiepen in GatsbyJS, een static site generator voor React-componenten met data uit GraphQL. Het is een interessante manier om websites te bouwen en een oplossing voor veel performanceproblemen. Ik bouwde een nieuwe website voor goedideemedia.nl en onderzocht hoe we deze aanpak konden koppelen aan onze bestaande projecten in KeystoneJS.
05-2018 – 12-2018+Justlease.nl (Terberg Leasing)📍 Utrecht · FrontendWordPressTimberTwigACFSassKnockoutJS
Terwijl er gewerkt werd aan een nieuwe website voor Justlease.nl, sloot ik aan bij het scrumteam om de bestaande WordPress-website te onderhouden. Omdat de nieuwe website langzaam vorderde, gebeurde er ook in de WordPress-site veel werk: we verbeterden de bewerkervaring voor het marketingteam met Advanced Custom Fields en zetten de frontend om naar Twig-templates met Timber. Ik maakte nieuwe layouts en paste veel stijlelementen aan, omdat we onderdelen van de nieuwe ontwerpen al in de bestaande website testten.
2017+Goed idee media📍 Arnhem · FullStackReactCMS developmentMongoDB
Samen met mijn collega Laurens ben ik diep in KeystoneJS gedoken, met het idee het als ons standaard-CMS te gaan gebruiken. Met KeystoneJS kunnen we JavaScript-templates in React schrijven die ook op de server gerenderd worden: één codebase voor alles. We bouwden een page-router die werkt met dynamische slugs en andere features, waarmee we KeystoneJS, normaal gesproken alleen een Node.js/MongoDB-platform, omvormden tot een echt CMS.
2016+DTC Media (nu PowerKraut)📍 Doetinchem · FrontendSassshtml
DTC Media had hulp nodig bij het aanpassen van een groot aantal shtml-templates vanwege nieuwe wetgeving in de automotive. Als ervaren automotive-developers hielpen we onze collega's graag.
2016+Ab Mulder BV📍 Ugchelen · FullStackCMS developmentAPIsExpressMongoDBUX
Voor Ab Mulder BV bouwde ik een kleine KeystoneJS-applicatie (gehost op Heroku) om hun webshopdata te beheren. Ik maakte een Mongo-model dat via KeystoneJS te bewerken is en via Express als JSON wordt aangeboden.
2016+Autobedrijf Wijnne📍 Nijmegen · FullStackCMS developmentLESSMustache
Wijnne is een lokale autodealer die ik heb geholpen met het herontwerp van hun website, van concept tot livegang. Wijnne.nl is een complete website met veel diensten voor de eindgebruiker, slimme routes door de site en een zakelijke login. Wijnne beheert alles zelf via het onderliggende CMS.
2016+Avira GmbH📍 Arnhem · FrontendHTMLLESSGrunt
Voor Avira (het bedrijf achter de virusscanner) maakte ik vanaf nul de templates voor hun vernieuwde controlepaneel voor e-mailbeveiliging. Met Styleguide.js exporteerde ik alle stijlen als documentatie voor de (Django-)developers. Daarnaast maakte ik e-mailtemplates met Foundation Email.
2016+eBay / Nieuweautokopen.nl📍 Amsterdam · FrontendReactLESSJSONReact BootstrapRedux
Voor eBay bouwden we een landingspagina om leads voor private lease te genereren. Ik maakte de layout met ReactJS en LESS, met JSON voor de autogegevens en Redux voor de app-state (de configuratie van de auto).
2015 – 2016+DCDW📍 Ede · FullStackWordPressWooCommerceLESSHTML
Paul de Vries is een autoriteit in de automotive. Op zijn persoonlijke blog DCDW.nl deelt hij zijn visie op de auto-industrie. Ik bouwde zijn WordPress-blog en voegde een WooCommerce-shop toe voor de verkoop van zijn boeken en meer.
2015+ViaLora.nl📍 Markelo · FrontendUXHTMLCSSRedesign
ViaLora.nl is een reisbureau dat zijn conversie wilde verhogen met een vernieuwd ontwerp. Na jaren van nieuwe features was het ontwerp een rommeltje geworden, en ik werd gevraagd om het op te schonen. We vervingen veel van het roze (ze houden echt van roze) door blauw om de call-to-actions te laten opvallen, en legden de focus op USP's en contactgegevens. ViaLora.nl is gebouwd in Symfony PHP.
2015+Kunstbedrijf Arnhem📍 Arnhem · FrontendHTMLLESSMustacheReact
Ik heb het nieuwe ontwerp van Kunstbedrijfarnhem.nl omgezet in een volledig responsive website, met webfonts en schaalbare afbeeldingen zodat alles er ook op Retina-schermen scherp uitziet. Ik gebruikte LESS als CSS-preprocessor en Mustache om de PHP-data om te zetten in HTML-templates. Delen van de website worden gerenderd met ReactJS.
2015+AutoBedrijf Boks📍 Apeldoorn · FrontendHTMLLESSCSS animationsMustachejQueryBackboneAPIs
Autobedrijf Boks is een grote autodealer in Apeldoorn die zijn website wilde vernieuwen. Ik bouwde de nieuwe site met Bootstrap en Mustache, met autogegevens en reviews uit meerdere externe API's. Met slideshows die goed werken op mobiel maakte ik het winkelen op de telefoon prettiger. De zoekfunctie is gebouwd in BackboneJS met Handlebars-templates.
2015+Ab Mulder BV📍 Ugchelen · Concept + FrontendConceptWireframingHTMLLESSSEOMustache
Ab Mulder BV is een autodealer met meerdere vestigingen in het oosten van Nederland. We bouwden een volledig nieuwe responsive website. Ik begon met een wireframe en functioneel ontwerp, waarin ik alle wensen van de klant vertaalde naar de benodigde schermen. Onder mijn begeleiding werkte onze partner Dezzign dit uit tot een ontwerp. De site is gebouwd met Bootstrap, Less, Mustache-templates, BackboneJS, Handlebars en fonticons. De nadruk ligt op de navigatie: elke pagina leidt naar een volgende, en de hele website moedigt bezoekers aan om contact op te nemen met Ab Mulder BV.
2014+Box Consultants📍 Waalre · Concept + FrontendHTMLLESSMustacheMultilanguageConcept
Box Consultants vroeg mij hun meertalige website te vernieuwen. Samen met Dezzign maakte ik een strak en zakelijk ontwerp dat goed past bij hun werk. Het resultaat is een volledig responsive website met Mustache-templates, gevuld met meertalige teksten.
2014+We-R Parts📍 Vaassen · FrontendHTMLLESSMultilanguageMustache
We-R Parts verkoopt onderdelen voor Aziatische auto's en is een grote speler in de regio. We hebben een Nederlandse, Engelse en Duitse versie van dezelfde website voor ze gebouwd. Achter de login kunnen gebruikers de productdatabase doorzoeken via een zoekmachine in BackboneJS.
2013+Bandshirt.nl📍 Arnhem · FrontendHTMLLESSResponsiveRetina
Voor Bandshirt.nl heb ik de stylesheets gemaakt, in een tijd dat responsive webdesign nog nieuw was. Met media queries bepaalde ik of er Retina- of gewone afbeeldingen geladen moesten worden. Dankzij een iconfont ziet Bandshirt.nl er ook op mobiel strak uit.
2013+Nieuweautokopen.nl📍 Amsterdam · FrontendUsabilityUX
Een aantal maanden heb ik regelmatig de usability en user experience van de hoofdwebsite van Nieuweautokopen.nl getest. De website veranderde voortdurend en werd alleen functioneel beheerd, dus het was aan mij om te bewaken dat hij bruikbaar bleef. Mijn bevindingen bundelde ik regelmatig in verbeterplannen voor het development-team.
