Marktplaats + Owner-app
Property Plaza
Langetermijnverhuur op Bali, zonder commissie op de huur.

Het probleem
Langetermijnverhuur op Bali loopt vaak via Facebook-groepen, WhatsApp en makelaars. Dezelfde villa duikt in meerdere groepen op, degene die antwoordt is niet altijd de eigenaar, en een nepadvertentie kan er precies zo uitzien als een echte tot de borg is overgemaakt. Een huurder heeft een paar foto's en een prijs om op af te gaan.
Wat er gebouwd is
Drie kanten, één platform. Huurders krijgen een tweetalige website waar een gratis account elke foto van elke advertentie laat zien. Eigenaren krijgen een app waarmee een pand in drie stappen online komt en waarin ze de identiteitscontrole doen en huurders antwoorden. Daaronder zitten een API, een backoffice waar medewerkers de advertenties beoordelen die eigenaren indienen, en een importtool voor makelaars met veel panden.
Property Plaza is een verhuurplatform voor langetermijnverhuur op Bali. Huurders zoeken in het Engels of Bahasa Indonesia en sturen een bericht naar de persoon achter een advertentie. Met een gratis account leg je één contact per week, en niemand rekent commissie over de huur. Eigenaren zetten hun pand online vanuit een app op de telefoon, bevestigen wie ze zijn met een identiteitscontrole en wachten tot het Property Plaza-team de advertentie goedkeurt. Het is gebouwd door een team, in vijf codebases. Ik bouwde de Owner-app en werkte aan de rest mee.
Wat het bijzonder maakt
Een gratis plan met een limiet die de server bewaakt
Een gratis account ziet elke foto van elke advertentie en kan één pand per week benaderen. Het betaalde Achiever-plan maakt daar vijftien van. Er wordt per pand geteld, niet per eigenaar, de teller begint elke week opnieuw, en antwoorden in een gesprek dat je al had geopend kosten niets. De limiet wordt in de API gecontroleerd, niet alleen op de pagina.
Een badge die alleen zegt wat gecontroleerd is
Een ID Verified-eigenaar heeft drie controles doorstaan: het document is echt, er was een levend persoon aanwezig en het gezicht komt overeen met het document. Het is geen registercontrole, en de tekst zegt dat ook. De API bewaart een gehasht nationaal ID-nummer (met een sleutel) en het documentnummer versleuteld met AES-256-GCM. Links naar beelden en video, het adres en de machineleesbare zone van het document gaan eruit voordat er iets wordt opgeslagen, en wat overblijft wordt na 30 dagen gewist. De regels die van een uitslag goedgekeurd, afgewezen of voor een mens maken staan in één bestand, en de flow kent geen betrouwbaarheidsscore.
Een advertentie komt niet half gecontroleerd online
Indienen vanuit de app mislukt op de server zolang de advertentie geen eigendomsdocument, geen live referentiefoto en geen besluit over vergunningen heeft. Daarna wacht hij op beoordeling: concept, klaar voor goedkeuring, online. De referentiefoto moet live ter plaatse worden genomen, met een locatiestempel.
Een Owner-app in drie stappen
Een eigenaar kiest uit negen soorten panden: villa, appartement, kamer, commercieel, café of restaurant, kantoor, winkel, shell core of grond. Daarna volgen foto's en verificatie, en dan publiceren. Een advertentie kan op pauze zolang het pand verhuurd is en later weer worden hervat, dus niemand hoeft te verwijderen en opnieuw te beginnen. Huurders schrijven in een ingebouwde chat met snelle antwoorden en pushmeldingen. Credits betalen voor diensten in de echte wereld, zoals fotografie en verificatie ter plaatse, en ze worden op de website gekocht, niet in de app.
AI die wordt gecontroleerd, met een mens aan het eind
Makelaars met veel panden kunnen die importeren in plaats van elk pand over te typen. Een AI-model (Claude) schrijft de advertentietekst opnieuw op basis van de brongegevens, en het model geldt als het onbetrouwbare deel van de keten. Wat het teruggeeft moet eerst door automatische controles: geen merknaam van de makelaar die doorlekt, geen opvulzinnen, een maximale lengte, en highlights die alleen uit de voorzieningen van de bron mogen komen. Die controles kunnen niet bewijzen dat elke zin klopt, dus een mens keurt elke taal goed voordat de tekst wordt gebruikt.
Gebouwd om gevonden te worden, eerlijk over de cijfers
De publieke pagina's worden server-side gerenderd in het Engels en Bahasa Indonesia, met gestructureerde data, sitemaps en een llms.txt voor AI-assistenten. Locatiepagina's en gidsen komen uit een CMS (Sanity). De gidsen dateren hun eigen cijfers: een leaseprijs zegt uit welke advertenties hij komt en op welke dag, en een huurschatting zegt wanneer die op vraagprijzen van makelaars is gebaseerd in plaats van op de eigen advertenties van Property Plaza.
Techniek
- NestJS 10
- Next.js 14 and 15
- Expo 55 + React Native
- PostgreSQL
- TypeScript
- React 18
- Tailwind CSS
- next-intl
- Google Maps
- React Native 0.83
- React 19
- Expo Router
- NativeWind
- TanStack Query
- Prisma 6
- Redis
- Socket.IO
- AWS S3
- Didit
- Stripe
- Xendit
- Claude (Anthropic API)
- Sanity
- Vercel
- Railway
- Sentry
- Expo EAS
In beeld
De website


De website op een telefoon



De Owner-app
Voorbeelddata: een demo-account van een eigenaar, geen echt account.




Veelgestelde vragen
Property Plaza is een verhuurplatform voor langetermijnverhuur op Bali. Huurders zoeken op de website in het Engels of Bahasa Indonesia en sturen een bericht naar de persoon achter een advertentie. Eigenaren zetten hun pand online en beheren het in een app op de telefoon. Niemand rekent commissie over de huur.