Level one
Clients
Each client gets a clean address of their own, for example /trassig-corp. Everything filed under a client is visible to that client.
The place every client goes to find everything I have given them. One address, permanent, and the archive belongs to them rather than to my inbox.
The Client Portal is a client-facing deliverable store. The structure is clients, then engagements, then deliverables as items inside an engagement. A deliverable holds any number of named links and any number of uploaded files, PDFs today, viewable in the app and downloadable.
There are no hosted HTML deliverable bodies and there is no notes field. The brief replaced notes: a dedicated client-facing section covering the client's goals and business details, kept separate from anything internal, so a client can see that the context behind the work has actually been thought through.
It is unlisted. There is no public entry point, it is not for sale, and this page describes it rather than demonstrating it.
Deliverables scattered across email threads, Drive links and Slack messages decay fast. Six months after delivery the client cannot find the audit, so they ask me, and I become the retrieval system for my own work. That is a poor use of both of us and it quietly makes the work look smaller than it was.
The portal makes the archive the client's, permanently, at one address. Everything I have handed over is in one place, in the order it was delivered, findable by somebody who was not in the original meeting.
Four moments it exists for.
Three levels of structure, plus the brief that sits alongside them.
Level one
Each client gets a clean address of their own, for example /trassig-corp. Everything filed under a client is visible to that client.
Level two
Work is filed under an engagement, so a two-year relationship reads as a sequence of engagements rather than one undated pile of files.
Level three
Items inside an engagement. Each one holds multiple named links and multiple uploaded files, viewable in the app and downloadable.
Alongside
A client-facing section covering the client's goals and business details, separate from anything internal, so the business context is visible to the person it is about.
Three decisions worth naming. There are no per-item permissions, deliberately: everything filed under a client is visible to that client, and the only control is turning the portal off, because a permission system invites the question of what is being withheld. Every address renders the same sign-in screen whether or not that client exists, so nobody can enumerate which clients are real. Contact records were dropped entirely, because the portal lists one point of contact and that is me.
Active clients. That is the entire audience. It is not a public product, it is not for sale, and nobody outside an engagement has a reason to have an account.
This page exists so a prospect can see what they would get and how the work is kept, not so anyone can sign up. There is no demo login and no live client address linked from here.
Live, in use, and deliberately closed.
Status and access
Deployed on the edge, with a hosted Postgres backend and file storage behind it.
Stack
There is nothing to buy here. Clients get a portal because every engagement produces documents, and documents that cannot be found six months later may as well not have been written.