DoorLink — a visitor taps their phone against the tag above a doorbell
CASE STUDY / REAL-TIME PLATFORM

DoorLink — the doorbell that reaches you anywhere.

A tag above the doorbell that a visitor taps with their phone. Their call reaches the household wherever they are, over video, audio or chat. No camera on the wall, no wiring, and nothing for the visitor to install. I lead the architecture, the backend and the infrastructure, and run the team that builds it.

CLIENT
Zipp Labs B.V. · DoorLink
ROLE
Technical lead · Architecture, backend, infrastructure
TIMELINE
2025 — ongoing
STATUS
● Live

A parcel, an engineer, a neighbour. The doorbell answers exactly one way: it makes a sound in a room you may not be standing in. The products built to fix this all took the same route — a camera on the wall, pointed at the street. That tells you what happened, records everyone who walks past, and is still often too slow to catch a courier before they have written the card and gone.

The brief was to make the door reachable without turning it into a surveillance point, and to do it without an electrician: no mains wiring, no chime replacement, and nothing the visitor has to download, install or sign up for. Whatever answered the door had to work for a courier who has ninety seconds and no interest in your product.

NFCNo cameraNo wiringVisitor installs nothingBattery powered

Key decision — Token-first visitor flow

The visitor never authenticates. Tapping the tag opens a web page carrying a token that identifies the door, not the person. No account, no app, no install — a courier is in a call seconds after tapping. Everything the visitor touches is a browser page, which is why the product works for someone who will use it exactly once.

Key decision — Media platform, not a media stack

Moved the real-time layer onto LiveKit, replacing an earlier SIP-based approach. Carrying our own signalling and media path meant owning NAT traversal, codec negotiation and mobile call lifecycle forever — none of it product. The API keeps all business logic and the clients stay interchangeable; the media platform is a component we can reason about instead of a subsystem we maintain.

Trade-offs accepted

No camera means no record of who called — a deliberate product boundary, and the preview the resident sees comes from the visitor's own phone once they start contact. Session state lives in memory rather than a shared store, which is right for the current device count and is the first thing that changes at scale. The tags use secure NFC whose keys cannot be rotated casually, because rotating them invalidates every tag already programmed and mounted on a wall.

DOORLINK · product sitePRODUCT · doorlink.io
ZIPPLABS · platformZIPP LABS · platform
FIELD · real-time

DoorLink is in production: tags are programmed and mounted, the apps are in both stores, and the platform runs across six services with continuous delivery from GitLab. I own the architecture, the API and the infrastructure, and lead the developers building the web and mobile clients.

The part I care about most is not in the product. It is a documentation system of sixty-plus files with a decision log, a compatibility matrix across API, web, mobile and shared packages, and an additive-only contract rule — so a mobile release cannot silently break against an older API. Status is tracked against that, so what is done and what is not stay separable.

0
Visitor installs
no app · no account
6
Services
api · web · mobile · media · nfc · docs
2
Mobile platforms
one codebase
60+
Documented decisions
decision log · matrix
TypeScriptExpressPostgreSQLReactReact NativeExpoLiveKitNFCDockerGitLab CI
CONTRACT
Additive-only between services

API, web, mobile and the shared package move on a compatibility matrix. Breaking changes follow a protocol rather than a hope that everyone deploys at once.

GATES
The pipeline says no

Contract tests, web end-to-end, mobile end-to-end and a risk gate on sensitive paths. A commit touching them without acknowledgement fails in seconds, not in review.

RELEASE
Mobile is coordinated, not improvised

Versioning and API compatibility are decided before a build, and over-the-air updates are separated from changes that genuinely need a native build.

SECURITY
Findings tracked to closure

A standing review program with numbered findings, invariants and remediation playbooks — including secret rotation and a documented rule that NFC master keys are never rotated casually.

Next case studies

Keep reading.

Build something real

Have a system that needs architecting?

No sales pitch, no agency layers. I'll read your situation and reply within 24 hours with whether I'm the right fit.

Start a project See all work