👋 Hoi, ik ben Martijn. Ik ben dé

Freelance React Developer

Met een passie voor React en TypeScript. Ik werk al ruim 8 jaar primair met React en heb meer dan 20 jaar full stack ervaring.
Martijn Hols (2023)

Over mij

Ik ben een ervaren Freelance React Developer met meet dan 15 jaar full-stack ervaring. Als Freelance React Developer en Architect heb ik aan uiteenlopende projecten gewerkt, van opzet tot doorontwikkeling. Ik ben al ruim 8 jaar gespecialiseerd in React - zoveel diepgaande React-ervaring is zeldzaam! Ik kan veel betekenen voor jouw projecten en team.

Bij de meeste opdrachten vervul ik de rol van React Architect. Ik richt me graag op technische uitdagingen, zoals:

  • Onderhoudbaarheid, standaardisering en versimpeling
  • Security (dependencies e.d.) en performance
  • UX, accessibility en i18n
  • Backend-integraties (hier komt mijn full-stack ervaring goed van pas)
  • CI/CD pipelines en DX
  • Stabiliteit en (E2E) testing

Met een focus op User Experience (UX) als Developer Experience (DX) help ik zowel eindgebruikers als ontwikkelaars optimaal te werken. Ik streef ernaar teams sterker te maken en zorg ervoor dat projecten schaalbaar en toekomstbestendig zijn.

Meer weten? Bekijk hieronder mijn projecten, ga naar mijn blog, of neem contact op voor mijn CV.

Contact | Blog (Engels)

Projecten

Grote en kleine projecten met resultaten waar ik één voor één trots op ben.
2024 - heden
Politie

Freelance Senior Front-end Ontwikkelaar @ Politie

Politie

Voor de Nederlandse Politie werk ik aan de React app van het cluster Basis Voorziening Identiteitsvaststelling (BVID). Deze app wordt o.a. door de Politie gebruikt op honderden identificatie-zuilen door het land. Meer informatie over de BVID hier.

React
TypeScript
Vite
Redux
Redux Toolkit
RTK Query
Cypress
rxjs
Enterprise
2018 - heden
You are here

Freelance React Developer / Architect @ MartijnHols

You are here

Om beter vindbaar te worden als Freelance React Developer/React Architect heb ik deze website opgezet. Uiteraard gemaakt in React, met Next.js als framework en Prismic als CMS. Ondanks dat ik een techneut ben en niet een designer, is het een eigen design.

Open Source
React
Next.js
Prismic
TypeScript
React Query
SSG
2023 - 2024
MoneyMonk

Freelance React Developer / Architect @ MoneyMonk

MoneyMonk

Als Freelance React Developer heb ik belangrijke en veelgebruikte features ontwikkeld zoals de btw-aangifte, uren, ritten en projecten modules, een abonneren modal en het inloggen scherm, met de 2FA en wachtwoord vergeten flows. Naast de SPA, heb ik ook gewerkt aan DX/architecturale verbeteringen, zoals betere error logging en afhandeling (met Sentry), CI, dependency updates etc.

React
TypeScript
Vite
Next.js
Redux
DatoCMS
Cypress
Sentry
SSG
SSR
2023
Damen Yachting

Freelance Senior Front-end Engineer @ Damen Yachting via Iquality

Damen Yachting

In opdracht van Iquality heb ik gewerkt aan een nieuwe site voor Damen Yachting. Dit project is een voortzetting van het Amels Yachting project waar ik in 2022 aan heb gewerkt, met een nieuw theme en andere benodigde wijzigingen om multi-site support toe te voegen aan het bestaande project. Er zijn ook veel nieuwe componenten toegevoegd, die specifiek voor de nieuwe Damen Yachting site zijn ontworpen.

React
TypeScript
Next.js
UX Design
Storybook
DatoCMS
GraphQL
Azure DevOps
2023
Leviy

Freelance React Developer / Architect @ Leviy

Leviy

Bij Leviy ben ik ingehuurd om mijn React ervaring te delen om de kwaliteit en kennis binnen de organisatie te verbeteren, andere ontwikkelaars te ondersteunen en begeleiden, en ter ondersteuning bij de ontwikkeling van een nieuwe module voor tijdregistratie in hun mobiele app op basis van React.

React
Create React App
Cordova
2022 - 2023
Quantore

Freelance Senior Front-end Engineer @ Quantore via Iquality

Quantore

In opdracht van Iquality heb ik voor de Quantore Extranet website een aantal verbeteringen doorgevoerd om Extranet in hun bestaande CMS op te kunnen nemen. Ik heb onder andere gebouwd: een integratie met Auth0 voor de authenticatie, site search met Algolia, en nieuwe CMS secties voor de afgesloten pagina's.

React
Gatsby
Auth0
Algolia
GraphQL
styled-components
2022
CED Group

Freelance Senior Front-end Engineer @ CED Group via Iquality

CED Group

In opdracht van Iquality heb ik een nieuw platform opgezet op basis van Next.js en DatoCMS voor de ontwikkeling van drie nieuwe websites voor de CED Group. Als lead developer van het project heb ik de architectuur van dit project opgezet, de integraties geïmplementeerd en een groot deel van de pagina's en componenten gemaakt.

React
TypeScript
Storybook
Azure DevOps
Node.js
Next.js
DatoCMS
GraphQL
Emotion.js
Styled components
2022
Amels

Freelance Senior Front-end Engineer @ Amels Yachting via Iquality

Amels

De nieuwe Amels Yachting website zit bomvol animaties en videos. Dat is te zien; de portfolio pagina's behoren tot de meest visueel aantrekkelijke pagina's op het web. Bezoekers krijgen hiermee een geweldige ervaring tijdens het ontdekken van de Amels superjachten.

Iquality heeft mij als Senior Front-end Engineer ingehuurd voor ondersteuning bij de opzet van een nieuw framework op basis van Next.js en React, en het bouwen van deze uitdagende website. De portfolio pagina's bevatten (na alle optimalisaties) meer dan 35MB aan grafische elementen, waarvan een groot gedeelte above the fold nodig is. Om te zorgen dat gebruikers ongeacht hun internetsnelheid een goede ervaring krijgen, heb ik verschillende laad-mechanismes gebouwd. Bijvoorbeeld bij de image sequence, die bestaat uit ruim 200 afbeeldingen. Eerst wordt elk 40e frame ingeladen, vervolgens elke 20e, dan elke 10e, enzovoorts. Hierdoor heeft de gebruiker steeds meer frames per second beschikbaar en krijgt de gebruiker geleidelijk de voor hem best mogelijk ervaring.

React
TypeScript
Next.js
Storyblok
Azure DevOps
Cypress
Emotion.js
Algolia Search
Cloudinary
GraphQL
Scrum
CSS animaties
static rendering/prerendering
2021 - 2022
Jetje

Oprichter @ Jetje

Jetje

Jetje is een start-up dat ik ben gestart met een compagnon. We ontwikkelen een app ter ondersteuning van dienstverlening, met onder andere chat en (video)bellen geïntegreerd. Onze eerste oplossingsrichting is coaching, maar we denken veel groter. De app is primair een React webapp met Node.js backend, in TypeScript met GraphQL voor volledige type-safety van begin tot eind. Het is voorzien van een uitgebreide integration test suite, inclusief Cypress voor end-to-end tests. Er is ook een React Native app voor (chat) notificaties. Bekijk de Jetje en Geef 'm van websites voor meer informatie over het platform, of neem contact met mij op.

React
React Native
TypeScript
Next.js
Create React App
GraphQL
Apollo Client
Node.js
Apollo Server
service worker
GitHub Actions
Docker
GraphQL code generation
Jitsi
Yarn workspaces
Cypress (E2E testing)
Prismic
SSR
Static Site Generation
LighthouseCI
2022
New Faith Network

Freelance Front-end Ontwikkelaar @ New Faith Network via DutchChannels

New Faith Network

Voor de videoplatformen WithLove en New Faith Network heb ik in twee korte maanden de landing- en onboardingpagina's opnieuw opgezet met React, Next.js, Prismic, TypeScript en Cypress. Met de wijzigingen kan het ontwikkelteam sneller, stabieler en toekomstbestendig verder ontwikkelen aan de sites, is de tracking verbeterd met nieuwe events en de performance de best mogelijke.

React
TypeScript
Next.js
Gatsby
GraphQL
Prismic
Cypress
Netlify
GitHub Actions
SSG
Yarn workspaces
2017 - 2021
WoWAnalyzer

Oprichter @ WoWAnalyzer

WoWAnalyzer

WoWAnalyzer ben ik in 2017 gestart vanuit de behoefte analyse van het spel World of Warcraft te automatiseren. WoWAnalyzer geeft spelers automatisch op basis van hun speelstijl inzichten en suggesties ter verbetering. Het is primair een React app. Binnen de app heb ik een framework ontwikkeld zodat andere ontwikkelaars eenvoudig de analyse konden uitbreiden. Het is een immens populaire project geworden met in één maand meer dan 550,000 unieke bezoekers (januari 2021) en meer dan 200 ontwikkelaars die iets hebben bijgedragen, allemaal onder mijn leiderschap. Het project is volledig Open Source. WoWAnalyzer is als voorbeeld van feedback geven opgenomen in het boek The Engagement Game, en een lecture en artikel. Sinds eind 2021 is WoWAnalyzer overgenomen door RPGLogs.

Open Source
React
TypeScript
Redux
Node.js
Express
Docker
GitHub Actions
Yarn workspaces
2020 - 2021
PlatteTV

Freelance Lead Front-end Developer @ PlatteTV via Emico

PlatteTV

PlatteTV is een van de grootste TV-winkels van Nederland. Als Front End Lead Developer heb ik een belangrijke rol vervuld bij de bouw van hun splinternieuwe webshop. Ik heb het project van de grond af aan opgezet en samen met de project lead de projectaanpak (o.a. SCRUM methodiek) vormgegeven en het team geleid. Dit ambitieuze project is gemaakt in onder andere React met TypeScript, GraphQL, Apollo Server, en vele microservices met onder andere Magento 2 en Pimcore als backend.

React
TypeScript
Node.js
GraphQL
Apollo Client
Apollo Server
Apollo Federation
microservices
Docker
GitHub Actions
GitLab CI
Service Worker/PWA
Lerna
Yarn workspaces
Cypress
Magento
Scrum
JIRA
SEO (e-commerce)
static rendering/prerendering
2019 - 2021
Swiss Sense

Freelance Lead Front-end Ontwikkelaar @ Swiss Sense via Emico

Swiss Sense

Swiss Sense is een grote boxsprings en matrassen beddenwinkel. Voor Swiss Sense heb ik onder andere de boxspring configurator gemaakt, een opzet gemaakt om de app incrementeel te migreren naar React, microservices gemaakt en groot onderhoud aan het microservices framework, de CI versneld en Magento 2 in Docker aan de praat gekregen.

React
TypeScript
Node.js
GraphQL
Apollo Client
Apollo Server
Apollo Federation
microservices
Docker
GitHub Actions
GitLab CI
Lerna
Yarn workspaces
Cypress
Scrum
JIRA
SEO (e-commerce)
static rendering/prerendering
2019 - 2020
PME Legend

Freelance Senior Front-end Ontwikkelaar @ PME Legend via Emico

PME Legend

De officiële webshops van het bekende heren kledingmerk PME Legend, en bijbehorende merken Vanguard, Cast Iron en Just Brands. Dit waren de eerste grote React projecten bij Emico. Samen met een klein team hebben we deze webshops van de grond af aan gebouwd. Binnen korte tijd heb ik mijn vaardigheden bewezen en werd ik verantwoordelijk voor een groot deel van de architectuur. De opdrachtgever was zeer tevreden met de nieuwe webshop, wat een flinke conversie stijging met zich meebracht en duizenden gelijktijdige bezoekers aankon (o.a. van commercials rond het EK 2020).

React
TypeScript
Node.js
GraphQL
Apollo Client
Apollo Server
Apollo Federation
microservices
Redux
Docker
GitHub Actions
GitLab CI
Service Worker/PWA
Lerna
Yarn workspaces
Cypress
Scrum
JIRA
SEO (e-commerce)
static rendering/prerendering
2016 - 2019
ExternalStaffingDesk

Lead Developer @ esd.next

ExternalStaffingDesk

esd.next is een uniek systeem om het totale inhuurproces van personeel te stroomlijnen. Het systeem is compleet en bevat functionaliteiten van het vinden van kandidaten en CV parsing tot en met facturatie en automatische boekingen. Ik heb dit systeem samen met een compagnon van de grond af aan ontworpen en gebouwd in PHP met een React SPA. Een belangrijk uitgangspunt was de gebruiker volledige controle geven over het systeem. Dit hebben we onder andere gedaan door vrijwel alle velden optioneel te maken en middels monitoring regels zorgen dat alles compliant is en blijft. Het systeem wordt vaak vergeleken met grote systemen als Nétive en Salesforce en als een hele verademing ervaren. Bezoek de esd.next marketing pagina voor meer informatie.

React.js
Redux
PHP
Docker
MariaDB
TravisCI
2016
modelovereenkomstmaken.nl

Lead Developer @ modelovereenkomstmaken.nl

modelovereenkomstmaken.nl

Met een paar eenvoudige stappen kan je hier geheel gratis binnen 15 minuten een overeenkomst maken op basis van een modelovereenkomst van de Belastingdienst. Deze tool, dat ik binnen 4 weken heb gebouwd, bestaat uit een React applicatie met minimale PHP backend. Gebruikers kunnen eenvoudig en snel het juiste contract selecteren en deze middels een interactief contractformulier invullen en opslaan.

React.js
Redux
PHP
Docker
MariaDB
TravisCI
2015
When at Work

Software Ontwikkelaar @ When at Work

When at Work

When at Work is een iOS app dat op basis van geofencing automatisch bijhoudt wanneer je op locatie bent om zo je tijdregistratie grotendeels te automatiseren, met mogelijkheden om het handmatig aan te passen, automatisch rekening te houden met zaken als lunchtijd en projecten te scheiden. Ik heb deze app volledig zelfstandig gebouwd als onderdeel van mijn afstuderen bij de HAN.

Swift
iOS
XCode
App Store
2010 - 2011
RedMSViewer

Software Ontwikkelaar @ RedMSViewer

RedMSViewer

Voor Wageningen Food Safety Research (toen RIKILT), heb ik de RedMSViewer gemaakt. Dit was een Silverlight applicatie dat RedMS (reduced mass spectrometer) bestanden kan weergeven voor wetenschappelijk onderzoek. Deze bestanden worden getoond in chromatogrammen, spectra en heatmaps, en zijn volledig navigeerbaar. Er kunnen tot 100 bestanden gelijktijdig worden ingeladen door vele performance optimalisaties en gebruik van multithreading. Voor meer informatie over de applicatie, zie dit boek.

C#
Silverlight
IIS
2004 - 2011
Elite Avengers

Oprichter @ Elite Avengers

Elite Avengers

Dit was het eerste grote project dat ik heb opgericht. Het was een tekstgebaseerd computerspel waar duizenden spelers op af zijn gekomen.

Het bestond voornamelijk uit PHP4 met een vleugje JS. Het toevoegen van JS was een grote uitdaging, aangezien dit vóór de release van libraries zoals jQuery was, waardoor zelfs basiszaken zoals AJAX-calls moeilijk waren, om nog maar te zwijgen van de problemen van Internet Explorer. Aangezien dit mijn eerste echte ontwikkelingservaring was en ik niemand had om hulp te vragen, ging dit project boven mijn pet.

Dit project heeft een belangrijke impact op mij gehad en mij al vroeg getraind om alle problemen die ik tegenkom zelfstandig op te lossen, langdurige onderhoudbaarheid in acht te nemen, mijn Engels te verfijnen, zakelijke beslissingen te nemen, om te gaan met spelers/klanten en vrijwilligers, en het opzetten en groeien van de daarbijbehorende community.

PHP
MySQL
Linux
JS
Photoshop