Luxury Interior Studio Client Portal & Project Tracker

A private project space where interior studios publish concept versions, clients make item-level decisions, and both track milestones and procurement exceptions.

SaaS WorkflowProfessional ServicesTiered monthly subscription by active client project
MVP time6-9 weeks
DifficultyHard
Infra cost$5-$84
RevenueSubscription
Review the decision summary
12,385 views
Updated August 2, 2026

Decision snapshot

Is this worth validating?

Build this if

The studio already manages concepts and procurement but needs a single client-facing approval record.

Avoid this if

The buyer expects full accounting, construction scheduling, 3D design tools, or automated vendor purchasing.

Validate first

Run one active project through a concept decision cycle and measure approval turnaround, repeated questions, and disputed selection history.

Problem and target customer

Why this exists

Customer problem

Active design projects lose a reliable decision history when concept decks, selection approvals, delivery changes, and milestone updates are scattered across inboxes and spreadsheets.

Who pays

High-end residential interior studios managing active projects with clients who expect a polished, private review experience.

Business model

Monthly studio subscription based on active projects

Editorial note

Interior clients need to know exactly what they reviewed and what happens next. Numbered concepts and item-level decisions turn aesthetic feedback into an operational record without flattening the studio's presentation.

Procurement belongs in the portal only at the client-visible status boundary. Purchase orders, margins, and vendor operations can remain in existing studio systems until a validated integration is justified.

Choose your next step

What do you need next?

Evaluate the operating tradeoffs quickly, or inspect how to build the MVP.

Evaluation preview

What would it take to run?

Directional infrastructure estimates for the current 500 approval requests assumption. Open the full calculator when you are ready to change it.

Open full cost and deployment
ManagedSelected
$10-$35/ month

Run the web app and Postgres as managed services with capacity for the first approval requests.

Lowest operating effort
Lean self-hosted
$5-$12/ month

Operate the app, database, and scheduled jobs on one small server with manual backups.

Lowest baseline cost
More control
$40-$84/ month

Separate application and data capacity, add managed database backups, and retain room for a worker.

Most separation and control

Build blueprint

Build the first paid use case

Product goal

Who it serves and what it must change

Target user
A high-end interior design studio and its active residential clients.
Problem
Concept imagery, selections, purchasing status, milestones, and approvals spread across presentations, email, and spreadsheets, making the agreed version hard to identify.
Measurable outcome
A studio can publish a concept version, a client can approve or comment on each decision item, and both can see which purchases and milestones are waiting without consulting email.

MVP scope

What ships now and what waits

Included

  • Private project dashboard
  • Versioned concept boards with decision items
  • Client approve, reject, or comment actions
  • Procurement item status and expected-date tracking
  • Project milestones and studio announcements
  • Project-scoped message thread

Excluded

  • Public portfolio and lead generation
  • Vendor purchase-order automation
  • General accounting
  • 3D rendering
  • Construction scheduling

UX and user flow

Screens, actions, and states

Project Home

Summarize the current concept, pending decisions, milestones, and procurement exceptions.

Open pending decisionView milestoneRead update
Concept Board

Present a versioned design direction and individual selection items.

Review itemCompare detailApprove itemRequest change
Procurement

Show client-visible ordering, shipping, delay, and delivery states.

Filter statusOpen itemAcknowledge delay
Milestones

Explain project phases, target dates, completion, and dependencies.

Open milestoneView updateSee dependency
Studio Console

Publish concept versions and manage client-visible project status.

Create versionAdd decision itemUpdate procurementPublish announcement

Primary flow

  1. Studio creates a project and invites client participants
  2. Studio publishes a numbered concept board with decision items
  3. Client approves items or requests changes with contextual comments
  4. Studio records procurement and milestone updates tied to approved selections
  5. Both sides review pending decisions and exceptions from the project home

Loading, empty, and error states

  • Project setup
  • Active
  • Concept draft
  • Awaiting client review
  • Partially approved
  • Revision needed
  • Approved
  • Not ordered
  • Ordered
  • Delayed
  • Delivered
  • Project complete

Core entity outline

Entities and business rules

DesignProject

Defines studio ownership, client participants, project status, and visibility.

Fields
studio_id, name, client_name, status, start_date, target_end_date
Relations
Has ConceptVersions, Has ProcurementItems, Has Milestones
ConceptVersion

Freezes a numbered board and its client decision window.

Fields
project_id, version_number, title, status, published_at
Relations
Belongs to DesignProject, Has ConceptItems
ConceptItem

Represents one furniture, finish, fixture, or direction requiring a client decision.

Fields
concept_version_id, name, category, description, image_key, decision_required
Relations
Belongs to ConceptVersion, Has ItemDecisions
ItemDecision

Appends a client's approval, rejection, or change request to one item.

Fields
concept_item_id, client_user_id, decision, comment, decided_at
Relations
Belongs to ConceptItem
ProcurementItem

Tracks the client-visible lifecycle of an approved selection.

Fields
project_id, concept_item_id, vendor_name, status, expected_on, client_visible_note
Relations
Belongs to DesignProject, May reference ConceptItem
Milestone

Shows a named phase, target date, dependencies, and completion.

Fields
project_id, name, target_date, status, client_visible_note
Relations
Belongs to DesignProject, May depend on other Milestones

Business rules

  • Publishing freezes a ConceptVersion and its item content.
  • A client decision is append-only; a replacement decision must reference the prior one.
  • Procurement items may be created only from studio-confirmed selections.
  • Vendor cost and internal margin fields never appear in client responses unless explicitly marked visible.
  • Completing a milestone with incomplete dependencies requires a studio warning and reason.

Architecture and data flow

Components, integrations, and controls

Client portal

Displays project status, concept decisions, procurement updates, milestones, and messages.

Studio console

Publishes concept versions and controls all client-visible information.

Project API

Enforces studio ownership, participant access, publish rules, and append-only decisions.

Postgres database

Stores versions, decisions, item states, dependencies, and visibility flags.

Private media storage

Serves concept images through project-scoped signed URLs.

Integrations

  • Required: private object storage for concept imagery and attachments.
  • Optional: transactional email for invitations and pending-decision reminders.
  • Optional automation may mirror approved selections to an existing procurement system after a decision is recorded.

Data flow

  1. A studio member creates a DesignProject and invites named client participants.
  2. Publishing a ConceptVersion exposes signed concept media and opens decisions.
  3. Client actions append ItemDecisions without changing the published item.
  4. Studio staff create or update procurement records from approved selections.
  5. Project Home aggregates pending decisions, delayed items, and milestone changes.

Failure handling

  • If a media URL expires during review, refresh authorization without losing the client's draft comment.
  • If two client decisions arrive for the same item, preserve both and show the latest as current.
  • If an external procurement notification fails, retain the approved item and expose retry status to staff.

Security

  • Require project membership for every private route and media URL.
  • Keep studio-only fields out of client serializers.
  • Expire invitations and signed media URLs.
  • Record actor, timestamp, and version for every publish and decision action.

Rate limits

  • Throttle invitation sends and comment posting.
  • Limit signed media URL generation per project member.
  • Batch project-home aggregation to avoid repeated asset queries.

Deliverables and acceptance

Definition of done for the MVP

Deliverables

  • Studio and client applications
  • Project invitations and permissions
  • Versioned concept board
  • Append-only decisions
  • Procurement and milestone tracking
  • Private media and audit tests

Acceptance criteria

  • Publishing a new concept does not alter the prior version or its decisions.
  • A client outside the project cannot retrieve metadata or signed media URLs.
  • A decision records the exact item and concept version reviewed.
  • A failed notification leaves the approval available for staff retry.
  • Client responses never contain fields marked studio-only.

Recommended stack

Enough technology for the first version

Web portals

Next.js and TypeScript

Supports separate studio and client navigation with server-rendered project summaries.

Data and authorization

Postgres with row-level policies

Fits project membership, immutable versions, decisions, and field visibility.

Media

S3-compatible private storage

Protects concept imagery while issuing short-lived project-scoped links.

Notifications

Node worker and email provider

Sends invitations and reminders without making delivery part of approval truth.

Why this is sufficient

The core is a permissioned decision ledger around visual assets, so relational versioning and strict media access matter more than AI, search, or a broad project-management framework.

Not required for the MVP

LLM APIPayment processor in the MVPMaps APIReal-time collaboration engine
Next stepTurn the blueprint into an execution plan

Copy the build prompt, model the operating cost, and choose where to deploy.

Build and ship

Execution

Build, price, and deploy the MVP

Once the blueprint is clear, use the prompt, cost model, and deployment options to start building.

Build prompt

Copy this into a builder

Use Lovable to validate the visual hierarchy and approval interactions, then implement project permissions and immutable decision history server-side before inviting clients.

Build prompt

Your build prompt is ready

Open the prompt pack whenever you are ready to take this blueprint into your builder.

Based on the blueprintReady for your builderFollow-up steps included

Cost calculator

Model the MVP operating cost

A technical run-cost estimate for the first production version. Team, acquisition, payment fees, and business COGS are excluded.

Estimated monthly total$10-$35

$20-$70 per 1,000 approval requests

Approval requests per month500 approval requests
Selected pathEasiest
Pricing checkedAug 2, 2026

Usage assumptions

Use beta workload metrics when available.

Infrastructure approach
Run the web app and Postgres as managed services with capacity for the first approval requests.
Cost breakdown

$10-$35 per month

Low and high values allow for usage variance and plan headroom.

Managed Railway deployment

Run the web app and Postgres as managed services with capacity for the first approval requests.

5K approval requests included, then $5-$15 per 5K approval requests
$10-$35

Included

  • Web runtime and database
  • Concept image storage allowance
  • Scheduled reminders
  • Basic logs and backups

Not included

  • Studio labor
  • Vendor purchasing
  • Payment fees
  • 3D rendering
  • Accounting integrations

Pricing basis

The estimate combines the selected infrastructure path, required operating modules, selected optional modules, and usage above included monthly allowances. Taxes and regional uplifts are excluded.

Deployment options

Pick the operational tradeoff

Choose based on operating preference, not only the headline price.

EasiestRecommended

Railway

Deploy the interior project client portal with managed runtime, Postgres, environment variables, and logs in one project.

About $10-$35/month at beta usage

Good fit

  • Fast handoff
  • Managed services
  • Simple scaling

Limitation

Usage-based compute can become less predictable as traffic grows.

Cheapest

Vultr

Run the app, worker, and database on one small Vultr VPS with Docker Compose and explicit backups.

About $5-$12/month before backup add-ons

Good fit

  • Low fixed cost
  • Simple server
  • Predictable bundles

Limitation

The operator owns database maintenance, monitoring, and recovery drills.

More control

DigitalOcean

Separate application, worker, data, storage, and backup responsibilities as the workload grows.

About $40-$84/month for separate app and data capacity

Good fit

  • Service isolation
  • Managed database option
  • Capacity headroom

Limitation

More components increase setup and operational work.