Work / Olle

Olle

Rental homes matched to newcomers, before they arrive

The problem

People moving to a new country usually have to find a home from abroad, in a language they do not speak yet, without knowing which neighbourhoods suit them. Landlords and developers, meanwhile, have no simple way to reach them before they arrive.

What Olle does

Olle matches newcomers with rental projects:

  • A short onboarding asks where you come from, which languages you speak, your household and when you plan to move.

  • You then see projects that fit: by language spoken, community, city, rooms and price, with every unit's rent, deposit and availability.

  • You can reserve a unit and pay the advance before you land.

Property managers run their projects from an admin panel, and the platform owner oversees everything from a super-admin panel.

The Olle home page with the onboarding questionnaire

Onboarding: country, language and household, in five languages.

My role

I built Olle's first version end to end: the database, the backend and API, the public site, and both panels. A teammate later added the translations into five languages, a new onboarding step and some super-admin tools.

Three apps, one backend

The public site is also the API. The admin and super-admin panels are separate apps whose browsers only ever talk to their own server, which forwards requests to the API. Signing in to a panel hands its server a token through a shared secret, so the token never reaches the panel's browser. Each role has its own session cookie, so a manager and the platform owner can be signed in side by side without overwriting each other.

The property manager's dashboard

The property manager's dashboard: active projects, available units, users and reservations awaiting payment.

Sign-in by phone

Renters sign in with a one-time code by SMS. Codes are hashed, expire after ten minutes and lock after five attempts, and every new code cancels the previous one. Every SMS is logged with the gateway's response, so support can see exactly why a message did not arrive. In development the code is shown on screen instead of sent, so the team can test without an SMS account.

Reservations that cannot double-book

Reserving a unit runs in a single database transaction that checks the project is active, the unit is available and no other reservation is open on it. Two people clicking the same flat at the same moment cannot both get it.

The property manager's projects list

Projects in the admin panel, with status, city, units and quick actions.

The platform owner's view

The super-admin panel manages admins, every project and reservation, and the reference data the matching depends on: languages, communities and cities.

The super-admin dashboard

The super-admin dashboard.