Ons Straatje
Project

Ons Straatje

Role:
Designer, Strategist, Developer
Key contributions:
Concept, Brand and visual design, Front-end development, Back-end development, Self-hosted deployment
Realization:
2025
Technologies:
Next.js, TypeScript, Tailwind CSS, PostgreSQL, Drizzle ORM, MinIO / S3, Mapbox
URL:

Overview

Most Dutch streets work the same way. There is a WhatsApp group where someone asks if anyone has a ladder, where lost cats are reported, and where photos of unfamiliar cyclists circulate when bikes start going missing. There is an annual straatfeest, the street barbecue, which is when you finally meet the family who moved into number 22 last spring. Neighbors feed each other's cats, water plants when someone is away, and keep an eye on each other's parcels.

Ons Straatje is a small website built for that kind of street. It is a private directory for one block: every household with a portrait, a short bio, and as many photos as the residents want to upload. Only the people who live there can see it.

The first version was a wall of printed A4 sheets at the annual barbecue, so newcomers could put faces to names. The wall came down at the end of the night. The site is what stayed.

Open the demo

Ons Straatje homepage with the map of the street on the left and a hero photo over a list of households on the right

Access without passwords

Residents sign in through a private invite link shared in the neighborhood WhatsApp group. There are no accounts to set up and no passwords to remember. Once a device has been used, it stays signed in. If a link is shared too widely, the admin can revoke it and issue a new one.

The result is that onboarding a whole street takes a single WhatsApp message.

Resident list view showing portraits, names and short bios for everyone on the street

Edit your own listing

Every resident can rewrite their bio, add or reorder photos, and update names as a family changes. They can take their listing offline with a single toggle and bring it back later. There are no comments, no feed, no algorithm.

A household detail card sliding over the map, with portrait, address and bio for one of the households

Quiet by default

The whole site is set to noindex, so search engines cannot find it. There are no analytics, no third-party scripts, no tracking pixels. The only data on the server is what residents have chosen to put there.

Every change is snapshotted before it is saved, so any edit can be reverted from the admin panel in two clicks. The same applies to revert itself, which means accidental rollbacks are also recoverable.

Mobile is the default

Most opens happen on a phone, in the same WhatsApp thread the invite came through. The map and the household list collapse into a single column on small screens, the photos stay tappable, and the edit form works one-handed.

Mobile view of the homepage with the map of the street on top and the hero photograph below

Built to be reused

The codebase already runs more than one street. Configuration is a handful of environment variables: street name, city, hero image, map center. A new neighborhood can come online with a fresh database and a Docker compose up. The stack is Next.js, PostgreSQL, and S3-compatible object storage, hosted wherever you want.

If you would like this running for your own street, get in touch.