← Portfolio

Case study /03

Keyline — set up your account once

A tenant account that carries details, documents and right to rent status across every application — paired with a back office where lettings staff review the file and record a decision.

Build
In-house product
Sector
Property lettings
Year
2026
Type
Web platform

The challenge /01

Renters fill in the same form for every property.

Each application asks for the same name, the same address history, the same income figure, and the same photographs of the same passport. Renters retype it under time pressure, competing with other applicants, and the errors that creep in are exactly the ones that break a right to rent check later.

Agents get the mirror image of the problem: chasing missing documents across email threads, and finding out at the referencing stage that a detail never matched the ID in the first place.

Our approach /02

Collect it once, verify it once, reuse it everywhere.

The account is the unit, not the application. A renter completes a three-step onboarding — login details, personal details and eligibility, then documents — and that verified file is what every subsequent application draws on.

Validation runs where the mistake happens rather than at referencing. Names are checked against the requirement to match photo ID, age against the eighteen-year threshold for holding a tenancy, income against the thirty-times-monthly-rent figure landlords typically look for. The renter finds out immediately, not three weeks later.

The product /03

Keyline — accounts

Keyline sign-in screen with the account proposition and three benefits on the left
The promise up front. Redress scheme and deposit protection memberships sit in the footer of the sign-in screen, where a cautious renter actually looks for them.

Keyline — onboarding, step 1

Step one of the Keyline registration wizard with password rules validating live as green ticks
Rules that resolve as you type. Each password requirement turns from a warning into a tick individually, so the renter is never guessing which of three rules they failed.

Keyline — onboarding, step 2

Step two collecting name, date of birth, postcode, right to rent status, income and consent
Eligibility, in order. Right to rent status, income and explicit consent to identity and credit checks are captured together, with the reason for each stated beside the field.

Keyline — back office

Keyline staff sign-in screen for the lettings back office
Separate door for staff. The back office runs as its own entry point where lettings staff open a tenant’s details and documents side by side and record a decision against the file.

What we built /04

Two applications over one tenant file.

  • Three-step onboarding covering login details, eligibility and document upload
  • UK-specific validation for postcode and mobile formats, with an age check for tenancy eligibility
  • Right to rent status captured at registration rather than at referencing
  • Income guidance shown inline against the thirty-times-monthly-rent benchmark
  • Explicit consent capture for identity and credit checks before any data is used
  • Repairs reporting with up to four photographs per issue
  • Emergency triage that routes gas, flooding and heating failures to a phone call instead of a ticket
  • Password reset on a one-hour expiring link
  • Back office for staff to review details and documents and record a decision

The data model is deliberately small — tenant profiles, documents and repairs — because the value is in one authoritative copy of each, not in a wide schema.

Key capabilities /05

Once Details and documents entered a single time, reused per application
Right to rent Eligibility captured at sign-up, not discovered at referencing
4 photos Per repair report, so the right trade is sent first time
Call first Genuine emergencies routed to a phone line, never a form

Tech stack /06

  • HTML / CSS / JavaScript
  • Tailwind CSS
  • Supabase (Postgres)
  • Row-level security
  • Document storage
  • Multi-step form validation

Similar problem to solve?
Start with an audit.

Book an Audit