React Native developer · Leeuwarden

# How I build with Expo and React Native

I am a developer in Leeuwarden and I build apps with Expo and React Native: one codebase for iOS and the web. OnderhoudJe, a digital service book for your car, is built that way. This is how I go about it.

- Expo
- Leeuwarden, NL
- 1 project
- Updated 8 Oct 2026

## What I look after

What building OnderhoudJe taught me to do.

1. 01
### One codebase, two platforms
The web app and the iOS app of OnderhoudJe come from the same code. What I build once works on both.
2. 02
### An API of its own behind it
A Fastify API with PostgreSQL, so the app and the website use the same data.
3. 03
### Start with one field
OnderhoudJe starts with the licence plate. Make, model, year and inspection date come from the RDW, so there is nothing to type over.
4. 04
### Reminders
Notifications by push or e-mail, by date or by mileage.
5. 05
### One language on both sides
TypeScript in the app and in the API: the same language at both ends.
6. 06
### Live first, then more
OnderhoudJe is live in alpha as a website and a web app, free for two vehicles. The iOS app is built from the same code.

## How is OnderhoudJe put together?

OnderhoudJe is a digital service book for a car, motorbike or camper: maintenance, costs, invoices and the periodic inspection in one place. It started in February 2025 as a study project and is now live in alpha at onderhoudje.nl.

It begins with one field: the licence plate. Make, model, year and inspection date come from the RDW, the Dutch vehicle authority. After that you log per vehicle what happens, a service, new tyres or a repair, with the amount, the mileage and the invoice. Reminders come by push or e-mail, by date or by mileage.

The web app and the iOS app come from one Expo codebase, with React Native and TypeScript. Behind it runs an API in Fastify with a PostgreSQL database, which also feeds the website. Two vehicles are free.

codebase for web and iOS

1

vehicles free

2

started as a study project

Feb 2025

## Built with Expo

A product of my own: website, web app and iOS app.

[View all work](https://sanderr.nl/projects/)

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

Often in the same projects

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

## How I work

Clear decisions, short loops and something real to react to.

1. ### Find the actual need
Before choosing a stack, I clarify the goal, the user and the smallest version worth building.
2. ### Build the right amount
I choose the simplest stack that fits, then move quickly into something real enough to test and improve.
3. ### Refine the experience
Responsive behaviour, subtle motion, accessible choices, readable code and a clear CMS turn a working build into a finished product.

## Questions

What I often hear about it.

1. With one codebase I build the web app and the iOS app at the same time. For a product I make on my own, that is the difference between maintaining one thing or two.
2. The website and the web app, in alpha. The iOS app is built from the same code.
3. I choose the simplest form that fits. Something you look up now and then is a website. Something you carry with you and that has to remind you, like the maintenance of your car, is an app.
4. An API in Fastify with a PostgreSQL database, and the RDW as the source for the vehicle data.

## Which stack when

I choose the simplest one that fits.

| Stack | When |
| --- | --- |
| [WordPress](https://sanderr.nl/wordpress/) | Content someone manages themselves: a site, a portfolio, a blog. |
| Expo | Something you carry with you and that has to remind you: an app. |
| [Next.js](https://sanderr.nl/nextjs/) | A product with accounts, logic of its own or a lot of interaction. |
| [Laravel](https://sanderr.nl/laravel/) | An application with users, permissions and a lot of data. |

---

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