Todas las apps

Houseshare

A landlord platform for shared households

Room-by-room letting, a rent ledger, and a portal for the people who live there.

A house let room by room to people who did not choose each other. One API serves two apps: a dense back office where the landlord does the bookkeeping, and a phone-first portal where a resident checks what they owe and whether anybody has looked at the boiler yet. Money that lands on the house is split before anyone is asked to pay it, and every refusal is a test.

The Houseshare sign-in: a blue panel carrying the name on the left, the email and password form on the right
The front door. Two apps sit behind it — the landlord’s back office and the tenant portal — and the same account opens the right one.
The Houseshare sign-in on a phone, the form filling the screen under the name
On a phone, which is where a tenant reports a broken boiler from.

Hecha para personas con nombre, no para cargos.

Antes de construir nada, se anotó por su nombre a las personas que la usarían. Cada una tiene una cuenta real, y cada pantalla se recorre como cada una de ellas antes de publicarse.

  • Amina

    Landlord

    Checks arrears before anything else. Two houses, and she knows which room is empty.

  • Bilal

    Landlord

    A second landlord on the same instance, so every ownership rule has someone to refuse.

  • Chidi

    Tenant

    Reports the boiler and wants to know a human saw it. Disputes the arithmetic when he pays late.

  • Dara

    Tenant

    Moved in halfway through a billing period, which is why her share of every bill is the interesting one.

Un hito a la vez.

Este es el plan a partir del cual se construyó la app. Cada hito está escrito con palabras sencillas, junto con la comprobación que demuestra que funciona.

13 hitos, 13 completados

  1. 1

    The portfolio

    completados

    A landlord adds a house and the rooms in it, and sees only their own.

    Cómo lo comprobamos

    1. Given 'amina' has no properties
    2. When 'amina' adds a house with three rooms
    3. Then the house appears on her portfolio with three vacant rooms
    4. When 'amina' adds a fourth room to it later
    5. Then the house is let by four rooms
    6. And 'bilal' cannot see it on his portfolio
    7. And 'bilal' is refused when he reaches for it directly
  2. 2

    A room is let

    completados

    The landlord creates a tenancy for a room, and the room stops being empty.

    Cómo lo comprobamos

    1. Given 'amina' has a house with a vacant room
    2. When 'amina' agrees a tenancy with 'chidi' for that room and activates it
    3. Then the room shows as occupied by 'chidi'
    4. And the tenancy carries the agreed rent, deposit and notice period
    5. And a second tenancy for the same room cannot be activated while one is active
  3. 3

    The rent ledger

    completados

    Charges accrue, payments settle them oldest-first, and arrears fall out of the arithmetic.

    Cómo lo comprobamos

    1. Given 'chidi' has an active tenancy with two unpaid monthly charges
    2. When 'amina' records a payment covering one month
    3. Then the older charge is settled and the newer one is still outstanding
    4. And 'chidi' shows as one month in arrears rather than two half-months
    5. When 'amina' records a payment larger than what is left owed
    6. Then the extra money is held as credit against the tenancy
  4. 4

    The tenant portal

    completados

    A second frontend where a tenant sees their room, their tenancy and what they owe — and nothing else.

    Cómo lo comprobamos

    1. Given 'chidi' and 'dara' hold tenancies on rooms in the same house
    2. When 'chidi' opens the portal
    3. Then he sees his own room, rent and balance
    4. And he can read the month behind what he is told he owes
    5. And he cannot see what 'dara' pays for her room
    6. And he is refused when he reaches for the landlord's arrears view directly
  5. 5

    The monthly rent run

    completados

    Charges raise themselves on the due day, reminders go out by queue, and nobody chases by hand.

    Cómo lo comprobamos

    1. Given 'chidi' has an active tenancy whose rent is due today
    2. When the monthly rent run executes
    3. Then a charge for this month exists against his tenancy
    4. And running it a second time does not create a second charge
    5. And the arrears sweep enqueues a reminder once the charge is overdue
    6. And 'chidi' receives that reminder by email
  6. 6

    Something is broken

    completados

    A tenant reports a fault and watches the landlord's triage land on their screen without reloading.

    Cómo lo comprobamos

    1. Given 'chidi' has an active tenancy in a house owned by 'amina'
    2. When 'chidi' reports a broken boiler as urgent
    3. Then it appears on the triage queue of 'amina'
    4. And it is invisible to 'bilal'
    5. And when 'amina' marks it seen, the open screen of 'chidi' updates without a reload
  7. 7

    Splitting the bills

    completados

    One energy bill becomes a fair share on each resident's statement, with the arithmetic shown.

    Cómo lo comprobamos

    1. Given a house owned by 'amina' has two occupied rooms and one empty room
    2. And 'dara' moved in halfway through the billing period
    3. When 'amina' enters a quarterly energy bill split per head
    4. Then 'chidi' is charged a full share and 'dara' a part share for her days
    5. And the empty room's share is carried by 'amina' rather than the residents
    6. And 'chidi' can see how the split was calculated without seeing what 'dara' pays in rent
  8. 8

    The deposit and the move-in check

    completados

    Take the money, record the condition, and get both signatures while everybody is still friendly.

    Cómo lo comprobamos

    1. Given 'amina' has activated a tenancy for 'chidi' and recorded his deposit
    2. When 'amina' completes a move-in inventory check for the room
    3. Then the tenancy shows the check as awaiting the signature of 'chidi'
    4. And once 'chidi' signs it from the portal, neither of them can edit it
    5. And the deposit is never applied to an outstanding rent charge
  9. 9

    The move-out

    completados

    Notice, check, deductions, response, settlement — a durable process that survives the weeks it takes.

    Cómo lo comprobamos

    1. Given 'chidi' has an active tenancy with a signed move-in check
    2. When 'chidi' gives notice and 'amina' completes the move-out check
    3. And 'amina' proposes a deduction naming the item it relates to
    4. Then 'chidi' sees the proposed deduction and the deadline to respond
    5. And when he accepts, the deposit is settled and the tenancy ends
    6. And the room returns to vacant while its ledger history stays readable
  10. 10

    Nothing expires quietly

    completados

    Certificates and contracts with expiry dates, and something watching them so the landlord does not have to.

    Cómo lo comprobamos

    1. Given 'amina' has uploaded a gas certificate expiring in thirty days
    2. When the nightly expiry sweep runs
    3. Then 'amina' receives a reminder naming the property and the date
    4. And 'chidi' can read that certificate for the house he lives in
    5. And 'chidi' cannot read the licence documents of 'amina'
    6. And uploading a newer certificate supersedes it without deleting the old one
  11. 11

    The house assistant

    completados

    A landlord asks a question in words and gets an answer from their own data, under their own permissions.

    Cómo lo comprobamos

    1. Given 'amina' has two houses with one room in arrears
    2. When 'amina' asks the assistant who is behind on rent
    3. Then the answer names that tenancy and the amount from the ledger
    4. And it cites the charges the figure came from
    5. And the same question asked by 'bilal' returns nothing about the houses of 'amina'
  12. 12

    Three languages, one right-to-left

    completados

    English, German and Arabic across both apps — and the RTL pass that finds the real layout bugs.

    Cómo lo comprobamos

    1. Given 'chidi' has set his language to Arabic
    2. When 'chidi' opens his statement in the portal
    3. Then the layout is mirrored and the money column stays aligned
    4. And the arrears reminder he receives by email is in Arabic
    5. And no screen in either app renders an untranslated string
  13. 13

    Tools and versions

    completados

    The portfolio as MCP tools an outside agent can drive, and a function contract that changes safely.

    Cómo lo comprobamos

    1. Given an outside client is connected over MCP as 'amina'
    2. When it asks for the vacant rooms in the portfolio of 'amina'
    3. Then it receives them from the same function the app calls
    4. And it is refused the portfolio of 'bilal'
    5. And changing a versioned contract is reported as breaking before it ships

Tu negocio, con su propia app.

Pikku Studio es gratis y funciona en tu ordenador. Empieza con las hojas de cálculo, carpetas y chats que ya tienes.