rafael maretti
All products

Papa Rent

Find the listing. Reach the source.

Prototype

The problem.

Dutch social and mid-rent housing is spread across many portals. People need to discover relevant listings and reach the right application page before the opportunity closes.

What I built.

A Dutch housing-search prototype that brings listings, saved searches and alerts into one app.

My role
Product concept, research and system design
For
People seeking social or mid-rent housing in the Netherlands

How it connects.

Fast listing detection with separate detail enrichment, saved-search matching and original-provider applications.

Papa Rent workflowListing linkPublic sourcesCollect + normaliseEnrich detailsListings + eventsSaved radarsMatch new listingsInbox + push + emailApp + listing detailApply at source
Public sourcesCollect + normalise
Collect + normaliseListings + events
Collect + normaliseEnrich detailsSeparate queue
Enrich detailsListings + eventsDetail updates
Listings + eventsMatch new listingsNew events
Saved radarsMatch new listingsSearch preferences
Match new listingsInbox + push + email
Listings + eventsApp + listing detailFeed + facts
Inbox + push + emailApp + listing detailListing link
App + listing detailApply at source
Read the connections as text
  • Public sources → Collect + normalise
  • Collect + normalise → Listings + events
  • Collect + normalise → Enrich details: Separate queue
  • Enrich details → Listings + events: Detail updates
  • Listings + events → Match new listings: New events
  • Saved radars → Match new listings: Search preferences
  • Match new listings → Inbox + push + email
  • Listings + events → App + listing detail: Feed + facts
  • Inbox + push + email → App + listing detail: Listing link
  • App + listing detail → Apply at source

Built in stages.

The prototype began with Rafael’s own housing search.

iOS, Android and web are the target platforms; a static web export is documented.

National coverage, measured alert latency and native-device validation remain unverified.

Inside the product.

Open a module to see its capabilities,
decisions and boundaries.

Collection & listing dataBring fragmented housing supply into a common listing format.

Source adapters

Source registry and adapters for public JSON, HTML and supported rendered pages

Collection controls

Repeated collection, conditional requests, per-source load limits and run-health records

Normalised fields

Normalised rent, location, area, rooms, segment, allocation model and deadline

Detail enrichment

Separate detail enrichment for costs, eligibility and links, plus PDOK geocoding

Listing events

Events for new, updated, price-changed, removed and reappearing listings

Partial feeds

Partial-feed handling and conservative removal checks

Radars & eligibilitySave what matters to a person’s housing search.

Radar wizard

Radar wizard for municipality or province, segment, maximum rent, rooms and tags

Saved-search controls

Create, edit, pause or delete saved radars

API filters

API filters also support radius, dwelling type, allocation model and excluded labels

Shared matching

Shared matching logic between the API and collection engine

Versioned classification

Versioned market-classification rules

Eligibility context

Household, income and age information shown with listing eligibility criteria

Alerts & inboxTurn a matching new listing into a useful notification.

New-listing matching

New-listing events matched to saved radars

Notification inbox

Notification inbox with read state and listing links

Delivery channels

Implemented push and email senders

Notification controls

Duplicate prevention, quiet hours and daily digest logic

Device health

Grouped push notifications and removal of invalid device tokens

App & listing detailScan the feed, understand a property and continue at its source.

Listing feed

Listing feed with saved-radar filters

Property detail

Detail view with map, housing facts, allocation model and eligibility

Provider application

Original-provider application link opened in an in-app browser

Map previews

Map-based previews instead of copied property photos

Languages

Dutch and English interface

Target platforms

Expo frontend for iOS, Android and web; static web export documented

Account & preferencesKeep search preferences and account controls together.

Authentication

Email-and-password registration, login and persistent sessions

Profile preferences

Profile preferences for language and eligibility information

Alert settings

Per-radar push, email and quiet-hour settings

Push registration

Device registration and notification permission flow

Account controls

Account-data export, account deletion and sign-out

Tools & systems.

TypeScript / Expo / React Native / Hono / PostgreSQL / PGlite / Drizzle / Better Auth / Expo Push / Resend / PDOK

Where the project stands.

  • Listing coverage and alert-speed targets are not published achievements.
  • Closing-soon reminders and registration nudges remain unimplemented.
  • Applications stay with the original provider; the system does not bypass technical access barriers.

Keep exploring.

Good BridgeFilmBamScheinman