Skip to content
Sander

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.

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

Often in the same projects

  • React Native
  • Next.js
  • 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 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 A product with accounts, logic of its own or a lot of interaction.
Laravel An application with users, permissions and a lot of data.