Vestian

Project Platform — Deploy & Operate

Fit-out delivery · one login, one Smartsheet backend · PMC / GC / D&B

The platform is a set of dashboards that all read and write the same Smartsheet workspace through a small Cloudflare Worker. Staff open one web address, sign in, and see only what they're assigned. This page is everything needed to put it live and run it day to day.

1 The files

Everything lives in one folder — put these eight files together and deploy them as a set.

FileWhat it isLogin
index.htmlLauncher home page — tiles to every dashboard
Vestian_Admin_Console.htmlProjects, clients, vendors, stakeholders, employees, users; creates each project's Smartsheet folder & sheetsPlatform
Vestian_Video_Dashboard.htmlVideo shoots per project (TDD, weekly, timelapse, pre-final, final, revisions)Platform
Vestian_Design_Dashboard.htmlDrawing / deliverable register by discipline, with revisionsPlatform
Vestian_TeamLead_Tracker.htmlDPR / WPR roll-up, site issues & follow-ups across assigned projectsPlatform
Vestian_EHS_Dashboard.htmlYour EHS dashboard — retrofitted onto cloud syncPlatform
Vestian_Cost_Dashboard.htmlYour Cost Workbench — retrofitted onto cloud syncPlatform
Vestian_Project_Dashboard.htmlYour Project Hub — retrofitted onto cloud syncHub's own

Keep the Worker file vestian-worker.js separately — it is deployed to Cloudflare, not into this folder.

2 One-time setup

a · Smartsheet token

  1. Smartsheet → your avatar → Personal Settings → API Access.
  2. Generate a new access token and copy it once. Treat it as secret — it goes only into the Worker.

b · Deploy the Worker

  1. dash.cloudflare.com → Workers & Pages → Create → Worker. Name it e.g. vestian-proxy.
  2. Paste all of vestian-worker.js and Deploy.
  3. Worker → Settings → Variables and Secrets → add two encrypted secrets: SMARTSHEET_TOKEN (the new token) and APP_KEY (any long random passphrase you invent).
  4. Copy the Worker URL (…workers.dev).

c · Host the dashboards

  1. Workers & Pages → Create → Pages → Upload assets. Name the project e.g. vestian.
  2. Drag the whole folder of eight files in, then Deploy site. You get https://vestian.pages.dev.

d · First run

  1. Open the address → the launcher → Admin Console.
  2. "set up the connection" → paste the Worker URL and App keyConnect & verify. This auto-creates the Vestian Workspace, the 00 · Master folder and the master sheets.
  3. Because there are no users yet, it shows "Create the first administrator" — set your own name, username and password. That's your Owner account.

3 Everyday operations

Add a person

Admin Console → Users & Roles → New user. Set a role and put ALL or a comma list of Project IDs in "Assigned Projects". They then sign in on any dashboard with those credentials and see only their projects.

Owner — CEO / MD / ManagementAdminTeam LeadMember

Add a project

Admin Console → Projects → New project. Fill client, category (PMC / GC / D&B), city, area, dates. On save it generates the ID (e.g. V-PMC-BLR-001) and creates the project's Smartsheet folder plus its seven sheets (EHS, Cost, Schedule, DPR, WPR, Video Shoots, Design Tracker). The Video, Design and Team-Lead dashboards then pick it up automatically for anyone assigned.

How data flows: every dashboard reads and writes the same Smartsheet, so cost, EHS and progress stay in sync with no lag. Edits you make directly in Smartsheet appear in the dashboards on their next refresh, and dashboard edits appear in Smartsheet immediately.

4 Two login systems (by design)

Admin, Video, Design, Team-Lead, EHS and Cost all use the shared platform login (the Users sheet you manage in Admin). The Project Hub keeps its own built-in login and roles, because its whole interface is built around them — hub accounts are managed inside the hub and are cloud-shared across the team. If you'd prefer the hub to use the same Users list one day, that's a focused change.

5 Security checklist

Rotate the token if it was ever pasted into chat or email, and keep the new one only in the Worker's SMARTSHEET_TOKEN secret — never in any HTML file.
Lock the Worker once you're live: in vestian-worker.js change ALLOW_ORIGINS = ["*"] to your real address, e.g. ["https://vestian.pages.dev"], and redeploy. This stops any other website from using your Worker.

Passwords are stored only as salted SHA-256 hashes in the Users sheet — never in plain text.

6 Updating a dashboard later

Cloudflare Pages can't replace a single file — you re-upload the whole folder. Drop the new file into your folder, then in the Pages project: Create a new deployment → drag the folder in → deploy to production. Takes a few seconds.

7 Quick troubleshooting

SymptomFix
"Connect & verify" shows an errorThe Worker isn't reachable — check the Worker URL and that both secrets are set. Verify only succeeds once the Worker is deployed.
Login says "Secure hashing unavailable"You're on a raw file:// path. Open the hosted pages.dev address instead.
It shows "Sign in" instead of "Create the first administrator"A user already exists in the Users sheet. Sign in, or clear the Users sheet in Smartsheet to start over.
A dashboard says "No projects assigned to you"Add the person's Project IDs (or ALL) in Admin → Users & Roles.
A dashboard opens connected but emptyMake sure you created at least one project in Admin first — it provisions the project sheets the other dashboards read.
Cost/EHS/Project won't syncThey share the browser's saved connection. Open Admin once in the same browser to connect, or use each dashboard's "set up the connection".
Vestian — Project Platform · Deploy & OperateKeep this page in the deployment folder as guide.html