Moo-ving: building trust mechanics into a property marketplace
Product consultant & builder
Moo-ving is a Belgian property marketplace built on a simple idea: a seller’s time is the scarce resource, so friction belongs exactly where it protects that time. Identity checks and paid viewing requests filter for serious buyers before a viewing happens.
The commit history shows how that idea became software in about a week of primary build, plus focused hardening afterwards.
Timeline
Day one: the whole thing
The first commit lands an entire marketplace: listings, auth, search. The same-day commits that follow are the production fixes. The email client crashed builds when its API key was missing, so it became lazy. The Edge Runtime rejected a dependency, so middleware slimmed down and Next.js got upgraded. Session refresh needed middleware after all, so it came back hardened.
That sequence is the build approach in miniature: land the complete shape, let production show the real requirements, and answer each one within hours with a small, named, reversible fix.
Trust as a feature
Day two brings the trust mechanics. itsme — Belgium’s national eID — ties every account to a real identity. Tenant profiles and an availability system structure the viewing pipeline. Paid viewing requests follow the same idea: a small commitment from a buyer signals they mean it, and it protects the seller’s calendar.
Most marketplaces chase listing volume. Moo-ving was deliberately engineered for fewer, better-qualified interactions, and the commits match the thesis.
Fallbacks for other people’s systems
February 13 brought Immoweb import, so a seller can pull an existing listing across. The next commit is the telling one: a paste-source fallback for when Immoweb blocks server-side fetches. The third-party dependency was treated as fragile from day one, and the fallback shipped the same day as the feature.
The same pattern runs across the fleet: webhooks are idempotent, geocoding failures degrade gracefully, scraping has a manual path. Every integration ships together with its failure plan.
Performance as a feature
February 16 closes the main build with a performance pass: maps lazy-load, API calls get deduplicated, the property detail query gets optimised, and cold-start latency on the auth pages goes away. Speed sits in the history as product work, ahead of new features, because a slow marketplace loses exactly the trust this product is built on.
The takeaway
Ship the complete shape on day one. Harden within hours. Engineer trust on purpose. Assume third parties will fail and build the fallback the same day. Treat speed as a feature. That is the whole Moo-ving story, and it repeats.
Moo-ving is live: visit the product or see the full product builds portfolio.
My time is for hire.
Two ways to work with me: a full project build, where I design, build, and ship your product with these methods, or consulting inside your team.
Keep reading
Sprints are dead for prototyping
A working prototype is now quicker to build than the meeting to discuss it. That kills the sprint as a prototyping tool, and it changes how product decisions get made.
The MVP is the easy part now
I have shipped five MVPs since February. Building them was the quick bit. Technology stopped being a moat, users are settling into fewer apps, and audience is the asset that decides who wins.