React Native developer · Leeuwarden

# Hoe ik met Expo en React Native bouw

Ik ben developer in Leeuwarden en bouw apps met Expo en React Native: één codebase voor iOS en het web. OnderhoudJe, een digitaal onderhoudsboekje voor je auto, is zo gebouwd. Dit is hoe ik dat aanpak.

- Expo
- Leeuwarden, NL
- 1 project
- Bijgewerkt 8 okt 2026

## Waar ik op let

Wat ik van het bouwen van OnderhoudJe heb geleerd.

1. 01
### Eén codebase, twee platformen
De webapp en de iOS-app van OnderhoudJe komen uit dezelfde code. Wat ik één keer bouw, werkt op beide.
2. 02
### Een eigen API erachter
Een Fastify-API met PostgreSQL, zodat de app en de website dezelfde gegevens gebruiken.
3. 03
### Beginnen met één veld
OnderhoudJe start met het kenteken. Merk, model, bouwjaar en apk-datum komen van de RDW, zodat je niets hoeft over te typen.
4. 04
### Herinneringen
Meldingen via push of e-mail, op datum of op kilometerstand.
5. 05
### Eén taal aan beide kanten
TypeScript in de app en in de API: dezelfde taal aan beide kanten.
6. 06
### Eerst live, dan uitbreiden
OnderhoudJe staat in alpha live als website en webapp, gratis voor twee voertuigen. De iOS-app wordt uit dezelfde code gebouwd.

## Hoe zit OnderhoudJe in elkaar?

OnderhoudJe is een digitaal onderhoudsboekje voor een auto, motor of camper: onderhoud, kosten, facturen en de apk op één plek. Het begon in februari 2025 als studieproject en staat nu in alpha live op onderhoudje.nl.

Het begint met één veld: het kenteken. Merk, model, bouwjaar en apk-datum komen van de RDW. Daarna leg je per voertuig vast wat er gebeurt, een beurt, nieuwe banden of een reparatie, met het bedrag, de kilometerstand en de factuur. Herinneringen komen via push of e-mail, op datum of op kilometerstand.

De webapp en de iOS-app komen uit één Expo-codebase, met React Native en TypeScript. Daarachter draait een API in Fastify met een PostgreSQL-database, die ook de website van gegevens voorziet. Twee voertuigen zijn gratis.

codebase voor web en iOS

1

voertuigen gratis

2

begonnen als studieproject

feb 2025

## Gebouwd met Expo

Een eigen product: website, webapp en iOS-app.

[Bekijk al het werk](https://sanderr.nl/nl/projects/)

- [OnderhoudJe Product, design & development · 2025 Expo · React Native · Next.js · TypeScript · Node.js · PostgreSQL · Docker](https://sanderr.nl/nl/projects/onderhoudje/)

Vaak in dezelfde projecten

- React Native
- [Next.js](https://sanderr.nl/nl/nextjs/)
- TypeScript
- Node.js
- PostgreSQL
- Docker

## Hoe ik werk

Heldere keuzes, korte rondes en iets echts om op te reageren.

1. ### Vind de echte behoefte
Voordat ik een stack kies, maak ik het doel, de gebruiker en de kleinste versie die het bouwen waard is helder.
2. ### Bouw precies genoeg
Ik kies de simpelste stack die past en werk dan snel toe naar iets dat echt genoeg is om te testen en te verbeteren.
3. ### Verfijn de ervaring
Responsive gedrag, subtiele beweging, toegankelijke keuzes, leesbare code en een helder CMS maken van een werkende build een product dat af is.

## Vragen

Wat ik er vaak over hoor.

1. Met één codebase bouw ik de webapp en de iOS-app tegelijk. Voor een product dat ik alleen maak, is dat het verschil tussen één ding onderhouden of twee.
2. De website en de webapp, in alpha. De iOS-app wordt uit dezelfde code gebouwd.
3. Ik kies de simpelste vorm die past. Iets dat je af en toe opzoekt, is een website. Iets dat je bij je hebt en dat je moet herinneren, zoals het onderhoud van je auto, is een app.
4. Een API in Fastify met een PostgreSQL-database, en de RDW als bron voor de voertuiggegevens.

## Welke stack wanneer

Ik kies de simpelste die past.

| Stack | Wanneer |
| --- | --- |
| [WordPress](https://sanderr.nl/nl/wordpress/) | Inhoud die iemand zelf beheert: een site, een portfolio, een blog. |
| Expo | Iets dat je bij je hebt en dat je moet herinneren: een app. |
| [Next.js](https://sanderr.nl/nl/nextjs/) | Een product met accounts, eigen logica of veel interactie. |
| [Laravel](https://sanderr.nl/nl/laravel/) | Een applicatie met gebruikers, rechten en veel data. |

---

- [Sander de Vries for agents](https://sanderr.nl/llms.txt)
- [Sitemap](https://sanderr.nl/sitemap.xml)
- [Contact](mailto:hello@sanderr.nl)
