Use cases
Your assistant builds in code now. This is where it lives.
Claude and ChatGPT make real things today: a pixel-perfect deck, an interactive report, a working dashboard, a whole app. They make them in HTML, React and Markdown, and a file like that has nowhere good to go. Profusia is the place. Four modules, one for each thing that was missing: somewhere to keep it, a way to keep it true, a door to hand it outward, and a plan that remembers what you and your assistant decided.
Each module opens to its features, and each feature opens to how it actually works. Read as far as you care to.
01 · Docs
The pixel-perfect thing your assistant just made deserves better than an attachment.
Ask Claude or ChatGPT for a board deck, an interactive pricing model or a one-page explainer and what comes back is not a Word file. It is code: an HTML page, a React app, a Markdown document. It looks exactly as intended, it responds to a click, and it is the best document you have had all year.
Then it hits the file server. SharePoint and Drive were built for Word and Excel. Paste a generated page in and it becomes a download that does not run, a link that opens a blank tab, a thing three people have three copies of. Profusia publishes it as a page instead: at one address, filed where it belongs, with a version kept on every save and a way back to the assistant that wrote it.
Seven things Docs does. Open the ones you care about.
1Published straight from the conversationOne tool call and the page is live at a private address.
Your assistant publishes over MCP, from the same conversation that wrote the thing. HTML and React pages serve as live, interactive pages; React compiles in the browser, so there is no build step and no deploy pipeline. Markdown, code, images, PDFs and Office documents sit beside them, each served the right way: a page as a page, a spreadsheet as a clean download. A file you already have drags in through an upload link, up to 200 MB, and a whole folder arrives as a folder.
How it actually works
- Renderable types are HTML, JSX, Markdown, code, images and PDF. Office documents and unrecognised types are served as downloads and are never rendered on the server.
- Nothing a page contains runs on the server, and a page may fetch only its own dataset. A strict content policy is what makes a generated page safe to host at all.
- Works with Claude, and with any MCP client. ChatGPT included, through developer-mode connectors on workspace plans.
2A version on every saveThe number you emailed last week is still there, and so is the page it was on.
Every publish of the same name is a new version underneath one unchanging address. The history is readable in the browser, each version with its date, its author and its note, and a writer can put any of them back. Nothing there deletes a version, so restoring is itself undoable. A save with no note gets one proposed from what actually changed.
How it actually works
- The share link never changes when the content does. A link handed out in March still opens the page in September, showing the current version.
- A reopened link is told what changed since it was sent, in one line, so a recipient is never reading silently updated numbers.
- Putting a version back refuses while somebody else holds the document checked out, so a restore cannot overwrite live work.
3Sites, spaces, and a front door that writes itselfFiles arrange into a site. The overview pages are generated from what is actually there.
A space is one client, one project or one team: its documents, their statuses, its own written context and its own discussion thread. The overview of a space is generated from real counts and real activity, never typed in, so a library of hundreds of pages still has a shape you can see. Six layouts to choose from: a file list, a dashboard, a showcase, a story, a handbook, a shelf.
How it actually works
- One navigation for the whole site (a rail, a top bar or minimal), so the frame stops changing as you walk around.
- Readable addresses: a space is reached at a path made of names, and every older id-shaped link keeps working.
- The Depth Map draws the whole estate at once, sized by count or storage and aged by when each thing was last touched.
4Searchable by what it saysWord, PowerPoint and Excel are indexed by their words, not just their names.
Search reads the text inside documents, Office files included, and matches a document's owner and type as well as its title, saying which one matched. The Navigator puts one box over everything a member can reach: pages, documents, plans, cards, tables and the product's own help. Where AI is switched on, a workspace-wide question is answered from your own documents, through your own visibility, and the answer ends in places you can open.
How it actually works
- A PDF is indexed by name only, and search says so rather than pretending to have read it.
- AI is off unless the workspace turns it on. Without it, search and six guided walks are the whole page, and that is a normal state rather than an error.
- An answer worth keeping becomes an ordinary document, marked as a draft, listing what it read.
5A document knows its own factsOwner, type, review date, and where it stands: draft, in review, approved, superseded.
The set that content governance actually needs, and the set a file server never had a column for. A review date is kept exactly as typed, so "end of Q3" survives and only a date that parses can become overdue. A document's state is a label other people rely on, so it gates nothing and says so. A check-out really does refuse a second writer, in one place, and an admin can always release it.
How it actually works
- Owner grants nothing. It is a word people search for, not a permission, and the product says so wherever it is shown.
- Needs attention names every document past the date somebody set to check it, with a "Still accurate" control for the writer.
- Follow a document and a new version notifies you. What you follow is visible to you alone.
6Comments on the passage, and the trip backPin a comment to the exact sentence. Send the whole document back to the assistant in one click.
A comment can be pinned to a highlighted passage or an image, drawn over the page rather than written into it. Take to AI hands the document, its comments and its context back to Claude or ChatGPT, or to Claude Code and Codex with the repository it was written from already selected, so a review becomes the next draft without anybody re-explaining what the document was for.
How it actually works
- The assistant reads the comments back over MCP next session, which closes the loop: publish, comment, revise.
- The coding half is members-only and can be switched off for the workspace and by each person.
- It stores two strings the assistant volunteered, the repository and the environment, and renders them into a link. No GitHub credential is held.
7Tended, not just storedDuplicates found by counting, filing proposed from your own words, age visible on the shelf.
A library that only grows is the pile again. The Winnow finds documents that restate one another by counted overlap and lets you keep one and mark the rest superseded; nothing is deleted. The Shelf-Mark proposes a folder, a type and a review date for whatever is sitting at the top level, using only words the workspace already uses. Patina shades the shelf by age, owner or type, so the stale corner is visible at a glance.
How it actually works
- The method is printed beside the number, so a count is never mistaken for a verdict.
- Every proposal is accepted row by row by a person. The model proposes, the server validates, a person accepts: the rule every AI-writes feature here follows.
- A written page can also be set: one of six roles per heading, applied when the page is read, the Markdown never rewritten.
02 · Live
Somewhere between a document and an app there is a page that is simply right this morning.
A generated report is correct the moment it is made and quietly wrong ever after. A full application, with a backend and a deploy pipeline, is the other extreme. Most of what a team needs sits in between: a QBR that carries this quarter's numbers, a customer dashboard that is true when the customer opens it, a weekly page that nobody has to re-export.
Live is that middle. Your assistant creates a small dataset behind the page and binds the two together. The page reads its own data at one address; the data is refreshed on a schedule by the assistant, edited by hand in a grid, or fed by a plan. The document you made once becomes a dashboard, without becoming a software project.
Six things Live does. Open the ones you care about.
1A dataset behind the pageCreate a table, bind it to a page, and the page stops being a snapshot.
A dataset is a small table with a name and a shape. Bind it to a page and the page fetches it at one address every time it is opened, so the number on screen is the number in the table. The Live module lists every table, which pages each one feeds, who keeps it, and when it last changed.
How it actually works
- The dataset address is checked against the workspace and otherwise open, which is how a bound page stays live from anywhere. The page that shows the address says so out loud, and rotating it is the revocation lever.
- A page may fetch only its own dataset. The content policy allows nothing else, so a page cannot be turned into a probe.
- A table has ceilings on rows and size, stated where you can see them, because measuring comes before deciding.
2Refreshed on a schedule, by your assistantA Claude Routine or a ChatGPT scheduled task calls in with the new numbers. No pipeline.
The refresh lives in the assistant, not here. Set up a Routine that runs on Monday at eight, gathers the week's figures and updates the dataset, and the page is current before anyone is at their desk. There is nothing to host, nothing to deploy, and no credential to another system stored.
How it actually works
- Every write keeps a snapshot, so a bad update is one undo away, from the page or from the assistant.
- The page says when its data last changed, never when it is "due": the schedule belongs to the assistant, and the product does not pretend to know it.
- The tool response teaches the assistant to offer the schedule, so a page that should stay current is offered a Routine the moment it is bound.
3Edit the rows yourselfA grid, in the browser, for the person who owns the number.
Open a table and its rows are editable in place: writers only, undo, and a stale editor refused rather than the last save winning in silence. It is deliberately not a spreadsheet. No formulas, no sorting, no column surgery, because the shape belongs to whoever created the table and the page that reads it depends on that shape holding.
How it actually works
- A save is a whole-table replace through the one write path a table has, so the schema check, the ceilings, the undo snapshot and the audit line are earned once.
- A plan-backed table refuses hand edits: its source is the plan, and editing the copy would make the dashboard lie.
4Living QBRs and customer dashboardsOne page per customer, current when they open it, at a link you handed them once.
Publish the customer's page from a template or from scratch, bind it to their dataset, and hand over one link. Next quarter the link is the same and the numbers are new. The client status page and weekly numbers templates ship this way: one ask, a live page, a dataset already bound and seeded.
How it actually works
- The quote template deliberately has no dataset. A quote's prices must not drift after it is sent.
- Each template page in the gallery previews with clearly labelled sample data, so what you see is the shape and never a claim.
- A template takes the workspace's own brand accent at publish, so the page a customer opens is already yours.
5Fed by the work itselfBind a table to a plan and the dashboard reads the real status of the real cards.
Connect a plan to a dataset and the table is generated from the cards: statuses, owners and dates as they stand. A delivery dashboard for a customer then reads from the same plan the team runs, so it cannot drift from the truth, and a document can be connected to a card so the card says what it is tracking.
How it actually works
- A plan-backed table answers only the bound page's own ticket or a signed-in member. The bare address is refused, because the work's state is not a public number.
- Live's Connections lane shows the wiring, never the content, and has no door that writes data.
6Read inside another toolThe same live page inside SharePoint, Confluence, Notion or Teams, still at one address.
An embed puts the page inside the tool the team already lives in, in a strip that frames it with its name, its freshness and a way back. Paste the link anywhere and it unfurls with a card. It is outbound display only: nothing here signs in to the host system, and there is no sync to keep alive.
How it actually works
- You pick the host platform from a list rather than typing an origin string, and the embed's origins are listed in Audience with a revoke.
- The embed carries the same provenance strip as a share link: type, owner, version and review date.
03 · Audience
Private by default. Outward with one deliberate switch.
Everything your assistant publishes here is private on arrival. Nothing is public because nothing has a door yet. That is the first half of the switch. The second half is that the same page, unchanged, can become a polished client site, a named portal or an embedded dashboard, wearing your company's name and colours, in a minute.
Audience is the room where every open door is listed: which link, which portal, which embed, how far each has reached, and one control to close it. A generated document becomes an outward-facing artifact without a web team, and it comes back inside just as easily.
Six things Audience does. Open the ones you care about.
1A site, not a pasteYour workspace is already a website. Give it your logo, your colours and a readable address.
Pages arrange into a site with your branding, your accent and your theme, on your own subdomain, with paths made of names. Layouts cover a showcase for the polished thing, a story for the narrative, a handbook for the reference. The overview pages are generated from what is there, so a site never looks abandoned, and a second site exists only when you need a separate boundary.
How it actually works
- Each workspace is its own subdomain. The browser's own origin rules keep workspaces apart, not only ours, and an automated cross-tenant suite checks the boundary on every change.
- A stranger on that subdomain sees a name, in your colours, and a sign-in. Nothing else.
- A whole space can be narrowed to a group, so an area is HR-only in one setting rather than eleven.
2A share link with a label and a revokeOne link per recipient, named on your side, closed with one click.
A share link is a deliberate act. Label it, set an expiry, add a password so the accident of a wrong forward opens nothing, and add a handling notice in your own words ("Under NDA. Please do not pass this on."). Audience lists every link with its opens, and a revoke where the row is.
How it actually works
- A share link is a bearer token: a forwarded link opens. The password fixes the accident, not the forwarding, and the product says exactly that wherever it is set.
- Tokens are hashed at rest, and the password door is ordered so that a guess cannot even learn which links exist.
- A link for yourself and a link for someone else are different kinds: your own preview link hands nothing to anyone and survives rotation.
3Portals: a named door into one spaceA client gives a name at the door. You see who came in, and can close it for one person.
A portal scopes an audience to one space or a whole site. An open portal is a link; a named portal asks each visitor for a name and counts them separately, so a supplier can give each customer their own door into their own space and nothing beside it. Revoke one visitor, or the whole portal, from the same row.
How it actually works
- Visitors are sessions, never accounts and never roles. The name a visitor gives is shown as what it is: unverified.
- The portal's scope is pruned in one place, so navigation, search, counts and overviews all inherit it. The sibling space is a flat 404, and that is tested.
4See it as they willWalk your own site as a visitor, or as one portal's audience, before you send the link.
See it as… sets your membership aside at the door and shows exactly what the outside sees, with every write refused while you look. It is the audit switch: no guessing what a client will find, no second browser, no incognito window.
How it actually works
- The marker is inert without a member session and grants nothing on its own, so it cannot become a way in.
- Leaving is one click, and the refusal pages it lands on know how to let you out.
5Reach: counted, never identifiedWhat was opened, through which door, how recently.
Reach is the ledger of what left the workspace. Opens are counted per link and per page; visitors are never identified or followed across pages, and the product does not claim to know who opened a link. What it can say, it says plainly, and what it cannot, it does not dress up.
How it actually works
- There is no cookie banner because nothing here needs one. The privacy page says exactly what is stored and for how long.
- A reopened link is told what changed since it was sent, so the reader and the sender are looking at the same version.
6Embedded where the reader already isA dashboard inside Confluence, a page inside Teams, a link that unfurls in chat.
Pick the host platform from a list rather than typing an origin string, and the page is framed inside it with its name, its freshness and a way back. oEmbed and Open Graph make a pasted link unfurl anywhere with a card. The page stays one page, at one address, whoever is looking at it from where.
How it actually works
- Outbound display only. Profusia never signs in to the host platform to read it, so there is no credential of theirs to lose.
- Every embed is listed in Audience with its origins and a revoke, like every other door.
04 · Plans
Your assistant forgets everything at the end of the conversation. The plan does not.
Every AI tool has a context window, and every serious build runs out of it. So you spend the session reminding Claude Code or Codex what you were working on, writing down what it decided, and pasting the decision back in the next morning. The tool is fast. The memory is you.
Plans is the memory. Each feature is a card with its own type, its status, its checklist, its documents and its history, and the whole cascade reads back to an assistant in one call. Hand a card to Claude Code and it opens with the repository selected and the brief already written; the work comes back to the card as documents and an honest status. Draft the plan from a brief, break a card down, say what you did in a sentence and let the plan propose the moves. It all holds on a phone, which is where a lot of this now happens: an entire app, every feature, thousands of lines of code, run from the card in your hand.
Seven things Plans does. Open the ones you care about.
1The plan is the memoryCards, statuses, decisions and documents, read back to any assistant in one call.
A plan is a cascade of cards as deep as the work needs: features, bugs, risks, decisions, ideas, each with its own word and icon. A card carries a note under an agreed shape, fields, a checklist, comments, links to what it waits on, and the documents the work produced. One call returns the whole thing to an assistant; another returns the project's direction, what was tried and abandoned, and which documents were written before the direction changed. That is the context your assistant lost, kept.
How it actually works
- A decision card's shape (what this is · options · recommendation · cost · why now) is a scaffold, never a form. Nothing is required and no card is refused for ignoring it.
- A done card keeps its documents, which is how "what were the docs for that feature" stays answerable months later.
- A change of direction is recorded as a turn, with its reason, and the documents written before it are flagged as possible drift. Nothing is inferred; an empty history says it is empty.
2Take a card to the assistant, and put the work backOne control hands Claude Code the card, the documents and the repository. The task guide tells it how to return.
Take to AI on a card builds the prompt: the card, its documents, its checklist and the plan's folder, pointing at the working guide for a single task. Claude Code and ChatGPT Codex open with the repository the document was written from already selected. The guide tells the assistant to publish its artifacts back, attach them to the card, move the status honestly and record what it decided, so the next session starts from the card rather than from a blank conversation.
How it actually works
- Nothing is installed into your assistant. The guide is text it is handed, because MCP runs one way and Profusia cannot put anything into a user's assistant.
- Activity reads "Adam · via Claude": the tool from the credential, the person from the consent that connected it. A client-supplied name cannot impersonate a member.
3Drafted from a brief, broken down on requestDescribe the app and the plan proposes the cards. Aim it at a card and it proposes the level beneath.
Describe a function, a role or an engagement and Profusia proposes the cards, with their rhythms, as a proposal rather than a plan. Aim the same at an existing card and it proposes one level of the cascade beneath it. Nothing becomes a row until a person accepts what is on the screen.
How it actually works
- The model proposes, the server validates, a person accepts. The validator drops anything it does not recognise and says how many it dropped.
- Off unless a provider is configured. The plan works entirely by hand without it, and your own assistant can build the same cascade over MCP.
4Say what you didType what happened in your own words. The plan proposes the moves and ticks; you apply them.
After a session with Claude Code, one sentence about what shipped becomes proposed status moves and checklist ticks on the cards that already exist, chosen by number from a list, so nothing invented can land. Review mode asks one question per card that has gone quiet: still on, moved, or closed. Rewind shows the plan as it stood on any date, replayed from its own history.
How it actually works
- A review is not work. Confirming a card monthly does not make it look active; it leaves the queue for thirty days and keeps saying it has not moved.
- Rewind reads the audit trail backwards, replays name, status and place, and says what it cannot know rather than guessing today's value.
5Ten views of the same truthList, Board, Timeline, Map, Flow, My work: one plan, nothing reloads.
Group and sort the List, drag cards across the Board, drag bars on the Timeline where a date parses, read the cascade on the Map, and on Flow see what waits on what: a card whose blocker has not finished reads blocked wherever it appears, whatever its own status says. My work reads every card that names you, across every plan, with the past-due and blocked lanes beside it.
How it actually works
- A relation never moves a date. There is no scheduler here and there will not be one; a plan describes how the work is going, not how somebody guessed it would go.
- View choices belong to you, not to the plan, so a new plan does not throw them away, and a link somebody sends you does not change how you work.
- "End of Q3" is kept as typed. Only a date that parses is placed on the Timeline; the rest sit honestly below it.
6From your phoneEvery surface holds on a 393-pixel screen. Run the build from the train.
Every member surface is built to a phone contract: no sideways scroll, finger-sized controls, panes that take the whole screen. Open a card, take it to Claude Code, read what came back, move the status, pin the next one. The work is one thumb away, and the plan is the same plan on the desk the next morning.
How it actually works
- The contract is a suite that runs on every change, not a promise. Five rules, in priority order, and the first is that nothing scrolls sideways.
- A card can also repeat: daily, weekly, monthly, quarterly, annually. Each period is an ordinary child card, so the series is its own archive and My work picks up the open one.
One integration, on purpose.
All four modules are driven the same way: your assistant is the only integration. Claude, and any MCP client; ChatGPT included, through developer-mode connectors on workspace plans. It publishes here, tends the live datasets on a schedule, reads the plan back next session, and puts the work where it belongs. There is no connector matrix and no pile of stored credentials to other systems.
The one narrow exception is disclosed: an opt-in, write-only sync to Google Docs and Sheets, scoped to the files Profusia itself created, with no read path into your Drive.
Pages are self-contained HTML served under a strict content policy; nothing a page contains runs on the server. Every workspace is its own subdomain, and workspace-scoped queries are checked by an automated cross-tenant suite on every change.
Invitation-only while it’s small.
A workspace needs a connector set up and a person on hand for the first week, and that is done better for ten people than for a thousand. What you can try without an account is the walk on the front page. If you would like a workspace of your own, write and say what your assistant makes for you; the reply comes from a person.
Works with Claude, and with any MCP client. Private by default; nothing here is public until you make a link for it.