
Client Portal
A branded space where your customers see their documents, requests and invoices without emailing you.
Next.js · TypeScript · PostgreSQL · Auth.js
Tenant overviewTenant1 / 6
Letting is two jobs: collecting rent and fixing things. Both go wrong quietly, arrears that nobody chased, a gas certificate that lapsed. This build surfaces each before it becomes the expensive version.
Next.js · TypeScript · PostgreSQL · Auth.js
Inside the app
23 connected functions on one schema, spanning three permission levels. Everything below is in the template before a line of customisation.
Your rent is up to date and one repair is booked for Thursday.
The agreement, the deposit and who is responsible for what.
What you reported, who is coming and when.
Every charge and payment on your tenancy, in order.
The portfolio, its occupancy and what each unit earns.
Who is behind, by how much, and what has been done about it.
Everything reported across the portfolio, by target date.
The certificates that must never lapse, counted down by days.
Every charge, notice and certificate. Retained per the statutory period.
Permissions
A tenant sees only their own tenancy. A property manager sees the portfolio, arrears and the repair queue. An administrator owns safety compliance, the part that carries legal exposure rather than just cost.
The build
23 functions, all of them live in the preview. Nothing on this list is a mockup or a roadmap item.
What you get
Letting agents, landlords and housing providers managing 20 to 2,000 units.
Access and evidence
Most lapsed safety certificates were not forgotten, the tenant could not give access and nobody followed up. Tracking access attempts separately from expiry is what turns a lapse into something you can actually defend.
Related

A branded space where your customers see their documents, requests and invoices without emailing you.
Next.js · TypeScript · PostgreSQL · Auth.js

Planned maintenance, breakdown work orders, spares and downtime against every asset.
Next.js · TypeScript · PostgreSQL · Tailwind

General ledger, payables, receivables and bank reconciliation on one double-entry schema.
Next.js · TypeScript · PostgreSQL · Recharts
Questions
Yes. The repository, application code, database schema, migrations, seed data and deployment configuration, is transferred to your organisation on delivery. There is no licence key and nothing that calls home.
As many as you like, pricing is per application, not per unit or per tenant, which is the usual way property software gets expensive as a portfolio grows. Every tenant can have a portal login at no extra cost.
It records what is charged, what was paid and what is outstanding, and drives the arrears chase. Collecting the money goes through your payment provider or bank feed, which is a standard integration in a fitted build. We do not sit in the payment flow.
It gives you the mechanisms: certificate expiry tracked to the day, access attempts recorded, escalation that starts a month out, and documents retained. Whether you are compliant depends on your jurisdiction's specific duties and how you act on the warnings. We scope the certificates and notice periods your regime requires in a fitted build.
That is the usual route. A fitted build sets up your property and unit structure, tenancy types, charge schedules, repair priorities and targets, certificate types, branding and up to two integrations, typically in one to three weeks.
Hosting only, paid to your own cloud provider, roughly $50 to $200 a month, rising mainly with photo storage from repair reports.
A fitted build adjusts fields, stages, roles and integrations to how your team already works. One scoping call, a fixed price, one to three weeks.
