👋 Hoi, ik ben Martijn. Ik ben dé

Freelance React Developer

Ik ben al 8 jaar gespecialiseerd in React, met veel full stack ervaring. Ik kan veel voor je projecten betekenen.
Martijn Hols (2023)

Over mij

Ik ben een ervaren Freelance Senior Front-end Developer met meer dan 15 jaar full stack ervaring. Ik ben al 8 jaar gespecialiseerd in React. Zoveel React ervaring is zeldzaam! Als Senior Front-end Developer ben ik verantwoordelijk geweest voor het opzetten en doorontwikkelen van meerdere grote projecten. Ik kan veel voor je projecten en team betekenen.

In het React landschap werk ik graag “onder de motorkap”. Zaken als UX, de projectopzet/architectuur, TypeScript, performance, accessibility, service workers, koppelingen met backend, CI/CD, complexe interacties van componenten, onderhoudbaarheid, stabiliteit, en het verbeteren van de velocity van het team boeien mij enorm. Hierbij focus ik op zowel de User Experience (UX) als de Developer Experience (DX), zodat gebruikers en ontwikkelaars optimaal kunnen werken met en aan het project.

Als Freelance Senior Front-end Developer vind ik het belangrijk om kennis te delen en het team sterker te maken (o.a. in React). Met meer dan 8 jaar React-specifieke ervaring en meer dan 15 jaar web development ervaring heb ik veel kennis over dit landschap.

Meer over mijn projectervaring en links naar verschillende voorbeelden hieronder en in mijn CV.

Download mijn CV | Contact

Projecten

Resultaten waar ik trots op ben.

MoneyMonk (2023 - 2024)

MoneyMonk

Bij MoneyMonk heb ik als Senior Front-end Developer belangrijke en veelgebruikte features ontwikkeld zoals de 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 verbeteringen, zoals betere error logging en afhandeling (met Sentry), CI, de projectmethode etc. Voor de MoneyMonk website heb ik de implementatie van het redesign voor mijn rekening genomen, waaronder de nieuwe homepage en vele conversieverbeteringen. Op de website heb ik ook Static Site Generation (SSG) geïntroduceerd.

React
,
TypeScript
,
Vite
,
Next.js
,
Redux
,
DatoCMS
,
Cypress
,
Sentry
,
SSG
,
SSR

martijnhols.nl (2022 - 2024)

You are here

Een eigen website om beter vindbaar te worden als Freelance Senior Front-end Developer. Uiteraard gemaakt in React, met Next.js als framework en Prismic als CMS. Het is een eigen design (maar ik ben geen designer). Als pronkfunctie de contactknop.

Open Source
,
React
,
Next.js
,
Prismic
,
TypeScript
,
React Query
,
SSG

Damen Yachting (2023)

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

Leviy (2023)

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

Quantore.com (2022 - 2023)

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

CED Group (2022)

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

Amels Yachting (2022)

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 Developer 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

Jetje (2021 - 2022)

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

New Faith Network (2022)

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

WoWAnalyzer (2017 - 2021)

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

PlatteTV (2020 - 2021)

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

Swiss Sense (2019 - 2021)

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

PME Legend (2019 - 2020)

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

esd.next (2016 - 2019)

ExternalStaffingDesk

esd.next is een uniek systeem om het totale inhuurproces van personeel te stroomlijnen. Het systeem is compleet en bevat functionaliteiten van vacatures 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

modelovereenkomstmaken.nl (2016)

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

When at Work (2015)

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

RedMSViewer (2010 - 2011)

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

Elite Avengers (2004 - 2011)

Elite Avengers

In 2004 was Elite Avengers het eerste grote project dat ik ben begonnen en aan werkte. Het was een op tekst gebaseerd online maffiaspel dat duizenden spelers heeft gezien. Het bestond voornamelijk in 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 eenvoudige AJAX-calls moeilijk waren, om nog maar te zwijgen van de problemen met Internet Explorer. Aangezien dit mijn eerste echte ontwikkelingservaring was en ik niemand had om hulp te vragen, was dit project boven mijn pet. Dit project heeft een enorme impact gehad op het trainen van mij om alle problemen die ik tegenkwam in mijn eentje op te lossen, te werken aan onderhoudbaarheid, mijn Engels te verfijnen, zakelijke beslissingen te nemen en om te gaan met spelers/klanten en vrijwilligers.

PHP
,
MySQL
,
Linux
,
JS
,
Photoshop