Keyring
FreeA landlord and tenant portal you can run as your own. Landlords add their buildings and units, start leases, and invite tenants with a link. Tenants see their unit, pay what's due, and ask for repairs. Both sides watch it happen live: a payment lands on the rent roll the moment it's made, and a repair request's status changes on the tenant's screen the moment the landlord moves it. It ships with sign-in, a database, realtime properties, a subscription with a free trial, and a polished landing page, all running on Yard. Features A rent roll that adds itself up: occupancy, collected, and outstanding for every property, with each unit's tenants and status at a glance Units in bulk: add a whole building at once with ranges like 101-110, 2A-2F Leases with their own ledger: set the rent and the due day, schedule rent changes for a future month, and add one-off charges like deposits, late fees, and utilities. Unpaid charges can be voided Invite links that work once: each tenant gets their own link, good for 14 days, and whoever signs in with it first moves in. Up to six tenants share a lease Roommates share one bill: two people pressing Pay at the same moment still produce one payment Rent is never stored: it's worked out from the lease terms every time a ledger is read, so nothing has to run on the 1st and an amount a tenant has already seen never changes under them Simulated checkout: tenants pay with test cards, and landlords can record cash and checks. Every payment gets a receipt that never changes Repair requests with live threads: move a request from submitted to resolved, and talk it through in a thread that updates on both ends, typing indicators included Announcements to every tenant: post once and it reaches every home in the building. Pin the one that matters Losing access takes effect now: removing a tenant or ending a lease closes their open pages right away Two portals, one app: a landlord who also rents a flat elsewhere switches between portals from the top bar Light and dark themes that follow your system, with a toggle to override it Built on Yard Yard Auth: landlords and tenants sign in wiring never handles a password Hosted service: the entire backend is a single fetch handler with no server to run or scale Rooms: each property is its own realtime room. The landlord and that property's tenants connect to it, and each event reaches only the people it concerns. A property with no activity costs no compute Database: properties, units, leases, charges, payments, requests, and announcements live in the project's own SQLite database, and migrations apply themselves on deploy Pricing: one Landlord tier at $50 a month with a 14-day free trial that needs no card. Tenants never pay. When a trial ends unconverted, the landlord keeps read-only acice nothing Technical details Plain HTML, CSS, and JavaScript ES modules withository deploys as it is The server is the paywall: every landlord write checks the Landlord plan, and anything you're not part of answers 404, so ids can't be probed A payment can't land twice: each paid item is unique per lease, so concurrent payments and voids resolve to one outcome Repair-thread comments are relayed instantly and written to the database in one batch per five-second burst, not one write per comment Typing indicators are throttled to one every 2.5 seconds and never stored, which keeps metered room usage low Logs never include names, emails, addresses, amounts, or comment text, and ids are cut to 8 characters Requirements A Pro plan, for the hosted service, database, rooms, and custom landing page. Your plan must also allow a subscription tier with a free trial. Yard Auth is included. Rent payments inside Keyring are simulated with test cards: no payment provider is involved and no money moves. The Landlord plan is a real Yard subscription for whoever runs the copy.