Appbricx
Features

Build

  • Coding agents and MCP
  • UI components and hooks
  • Templates
  • Verify testing
  • Builder console

Data

  • Postgres database
  • Data API
  • Realtime

Users

  • Row-level security
  • Sign-in and auth
  • Organisations and teams
  • Payments

Logic

  • Workflows and jobs
  • Server functions and webhooks
  • AI in your app
  • Integrations

Ship and own

  • Backups and rollback
  • Hosting and domains
  • Self-host and export
All features
ShowcaseTemplatesIntegrationsPricingDocs
Log inStart free
  • Features
  • Showcase
  • Templates
  • Integrations
  • Pricing
  • Docs
  • Log in

Build

  • Coding agents and MCP
  • UI components and hooks
  • Templates
  • Verify testing
  • Builder console

Data

  • Postgres database
  • Data API
  • Realtime

Users

  • Row-level security
  • Sign-in and auth
  • Organisations and teams
  • Payments

Logic

  • Workflows and jobs
  • Server functions and webhooks
  • AI in your app
  • Integrations

Ship and own

  • Backups and rollback
  • Hosting and domains
  • Self-host and export
  1. Home
  2. Templates
  3. Apps
  4. Client portal

Client portal

A portal an agency, studio or consultancy shares with its clients. The agency runs projects, shares deliverables for review, swaps files and sends invoices; each client's people sign in and see only their own organisation's projects, files, invoices and messages, enforced in Postgres with organisation scope. Approvers sign off a deliverable or ask for changes, and every decision is kept with who made it and when. Workflows thread every review and share into the project's messages, email the client's contact, flag overdue invoices daily and send a weekly review summary.

Invite-only. The agency team runs projects and billing; client contacts see only their own organisation and approve work.

Use in AppbricxFree. Already have an account? Log in
View the files
Client portal on desktopClient portal on a phone
  • Client portal on desktopDesktop
  • Client portal on a phonePhone
  • Client portal sign-in screenSign-in
  • Client portal sign-in on a phoneSign-in on a phone

What's inside

Client overview: projects, what's waiting for review and what's to pay. Project pages with deliverables, files, invoices and a message thread. Reviews: approve or ask for changes, with a kept record of every decision. Files shared both ways, invoices with payment links and overdue flags. Agency pages for clients, client contacts, client access and the studio team.

Tables

  • agency name, email, title, avatar
  • client name, email, job_title, phone, avatar
  • organisation name, website, industry, logo, billing_email, account_lead_id, primary_contact_id, status
  • membership organisation_id, client_id, access_level, status
  • project organisation_id, name, summary, status, start_on, due_on, budget, progress, …
  • deliverable project_id, organisation_id, title, description, file, link, version, revises_id, …
  • approval deliverable_id, organisation_id, client_id, decision, urgency, comment
  • message project_id, organisation_id, body, author_name, author_side
  • shared_file project_id, organisation_id, name, file, link, category, shared_by, note
  • invoice organisation_id, project_id, number, description, amount, currency, issued_on, due_on, …

Roles

  • agency Agency team, staff
  • client Client, staff

Pages

  • /overview Overview (client)
  • /projects Projects (agency, client)
  • /projects/:id Project (agency, client)
  • /deliverables Deliverables (agency, client)
  • /deliverables/:id Deliverable (agency, client)
  • /reviews Reviews (agency, client)
  • /files Files (agency, client)
  • /invoices Invoices (agency, client)
  • /clients Clients (agency)
  • /clients/:id Client (agency)
  • /contacts Client contacts (agency)
  • /access Client access (agency)
  • and 2 more

Rules on every write

  • project Progress is a percentage
  • deliverable This must belong to the project's client
  • deliverable The client reviews deliverables
  • approval This review can't be recorded
  • message This must belong to the project's client
  • shared_file This must belong to the project's client
  • shared_file Attach a file or paste a link
  • invoice This must belong to the project's client
  • invoice Check the invoice

How its workflows run

Each one is a server workflow in your project: it runs on its trigger, with retries, and its runs show in the builder's log.

  1. Stamp a message and tell the other side

    When a row changes: message created. Then: Look up project, then Update message, then Notify, then Send email.

  2. Ask the client to review a new deliverable

    When a row changes: deliverable created. Then: Look up project, then Update deliverable, then Create message.

  3. Apply a client's review

    When a row changes: approval created. Then: Look up deliverable, then Update approval, then Create message.

  4. Stamp a shared file

    When a row changes: shared_file created. Then: Look up project, then Notify, then Update shared_file.

  5. Email a new invoice to the client

    When a row changes: invoice created. Then: Send email.

  6. Flag overdue invoices and remind

    On a schedule: schedule daily 09:00 over invoice. Then: Look up invoice, then Update invoice, then Send email, then Notify.

  7. Thank the client when an invoice is paid

    When a row changes: invoice updated, when status is paid. Then: Update invoice, then Send email.

  8. Weekly review summary for the studio

    On a schedule: schedule weekly fri 16:00 over approval. Then: Send email.

Set it up

It starts a new project, with its data, roles and sign-in ready.

  1. Start the project

    Use the button above, or ask your coding agent with the Appbricx MCP server connected (quickstart).

  2. Sign in as each role

    The demo logins open each role's home. Change what you like in plain words or in the contract.

  3. Deploy

    When dev looks right, deploy. Production gets a snapshot first, so you can roll back.

Use it with your coding agent

The agent creates the project, builds it and signs in as each role.

Prompt
Start a new Appbricx project from the Client portal template (slug "client-portal") with use_template. Call it "My Client portal", then sign in as each role, verify it and tell me what to change first.
MCP call
{
  "tool": "use_template",
  "arguments": {
    "slug": "client-portal",
    "name": "My Client portal"
  }
}
CLI
appbricx templates use client-portal --name "My Client portal"
Kind
App
Category
Collaboration
Version
1.0.0
Files
templates/client-portal
Published by
Appbricx, free

Goes well with

  • Huddle

    Realtime team chat: public and private channels, live messages, typing indicators, who's online, unread counts and @mentions.

    App · Collaboration
  • Margin

    Live document review: comments in the margin, replies, reactions and resolve, who's viewing, and edits that appear for every reader as they're saved.

    App · Collaboration
  • Corkboard

    Multiplayer sticky-note board for retros and planning: notes you add, edit, drag between lanes and vote on, live for everyone, with who's on the board and who's editing which note.

    App · Collaboration

Make it yours in plain words.

Start freeAll templates
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPUI components and hooksTemplatesVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authOrganisations and teamsPaymentsWorkflows and jobsServer functions and webhooksAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcaseTemplatesIntegrationsPricingFor coding agentsSelf-hostBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use