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
Waar ik op let
Wat ik van het bouwen van OnderhoudJe heb geleerd.
-
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.
-
Een eigen API erachter
Een Fastify-API met PostgreSQL, zodat de app en de website dezelfde gegevens gebruiken.
-
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.
-
Herinneringen
Meldingen via push of e-mail, op datum of op kilometerstand.
-
Eén taal aan beide kanten
TypeScript in de app en in de API: dezelfde taal aan beide kanten.
-
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.
- 1
- 2
- feb 2025
Gebouwd met Expo
Een eigen product: website, webapp en iOS-app.
- React Native
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- Docker
Hoe ik werk
Heldere keuzes, korte rondes en iets echts om op te reageren.
-
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.
-
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.
-
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.
-
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.
-
De website en de webapp, in alpha. De iOS-app wordt uit dezelfde code gebouwd.
-
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.
-
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 | 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 | Een product met accounts, eigen logica of veel interactie. |
| Laravel | Een applicatie met gebruikers, rechten en veel data. |
