Client portals
Client portal development
Every “can you send me the contract again?” is a message someone on your team has to answer. A portal answers it before it is asked.
Built and running at Lawang Estate, a property developer selling villas and land. The figures below are theirs.
01 · What it is
A client portal is not a second system. It is the same data your team already keeps, seen through a door with its own rules: the client sees their contracts, their payments and their documents, and nothing that belongs to anybody else. If the portal keeps its own copy of the file, the two will disagree within a month and the client will be the one who notices.
More detail
The part that decides whether a portal gets used is not the design. It is getting in. We learned that on a live project: nineteen accesses granted by hand, one used. The bottleneck was the invitation email, not the client. Access now works the other way round — if the client has a record and at least one contract, they can log in with their own email, and the rule is checked at the moment they arrive.
Permissions are enforced in the database, not in the screen. Hiding a button is not security; a client who cannot see another file must be unable to read it even with the address typed by hand.
02 · Seen working
Lawang Estate — the buyer portal
Sample data in the shape of the real tool. No names, no amounts.
What a buyer sees when they log in: their documents, what is paid and what falls due.
| Doc | Type | Status | Payment | Due |
|---|---|---|---|---|
| CTR-118 | Plot blocking agreement | Signed | Paid | — |
| CTR-121 | Construction contract | Signed | Milestone 2 of 5 | 15 days |
| INV-204 | Invoice | Issued | Receipt pending | Overdue |
| RCB-090 | Receipt | Available | — | — |
| DOC-033 | Build progress report | New | — | — |
IN PRODUCTION
Each buyer of a villa or a plot opens their own file: contracts, signed copies, payment schedule and receipts, read live from the same database the office works on. Access is a rule checked at the door — a buyer record plus at least one contract — instead of an invitation someone has to remember to send. The database refuses to return anyone else’s rows.
MODULES · 7
- Self-service access
- Row-level isolation
- Contracts and signed copies
- Payment schedule
- Receipts
- Build progress
- Language per buyer
03 · How it flows
- 01SignThe buyer signs a contract.
- 02RuleRecord plus contract means access.
- 03Log inWith their own email, no invitation.
- 04Their fileOnly their rows, enforced by the database.
- 05CopiesSigned documents and receipts to download.
04 · What’s included
| # | Component | What it means |
|---|---|---|
| 01 | Access | Login by email, granted by a rule — a record plus a contract — instead of a manual invitation. |
| 02 | The file | Contracts, payment schedule, receipts and documents, read live from the system your team uses. |
| 03 | Isolation | Row-level rules in the database: a client can only ever read their own rows. |
| 04 | Documents | Signed PDFs and receipts downloadable the moment they exist. |
| 05 | Payments | What is due, what is paid and when, from the same record the office invoices from. |
| 06 | Languages | The portal in the client’s language, independent of the team’s. |
| 07 | Audit | Who entered and what they opened, kept on your side. |
05 · Questions
Do our clients need to install anything?
Can a client see another client’s file?
Does it replace our internal system?
Can clients upload documents too?
What does it cost?
Start a project
Have something worth building well?
Tell us what you are working on. We reply in English or Spanish, usually within a day.