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 seven files together and deploy them as a set.

FileWhat it isLogin
index.htmlLauncher home page — tiles to every dashboard—
Vestian_Project_Dashboard.htmlYour Project Hub — projects, clients, vendors, stakeholders, employees, users; creates each project's readable Smartsheet folder & sheetsHub's own
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

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 seven files in, then Deploy site. You get https://vestian.pages.dev.

d · First run

  1. Open the address → the launcher → Project Hub.
  2. "set up the connection" → paste the Worker URL and App key → Connect & verify. This auto-creates the Vestian Workspace, the state store, the readable 00 · Master registers folder and the master sheets.
  3. Sign in with the default administrator (ADMIN / 1234) and change the password from My Account. Then add your real users under Admin → Users.

3 Everyday operations

Add a person

Project Hub → Admin → Users → New user (or create the login straight from an employee record). Assign them to projects on each project's team. They then sign in on any dashboard with those credentials and see only their projects.

Admin / ManagementTeam LeadPMSiteClient

Add a project

Project Hub → Projects → New project. Fill client, category (PMC / GC / D&B), city, area, execution start and go-live dates. On save the Hub creates the project's readable Smartsheet folder (<ID> · Client — City) plus its readable sheets — Requisites & Documents, Daily Progress (DPR), Weekly Progress (WPR), EHS, Cost, Schedule, 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 One shared login

All dashboards — Project Hub, Video, Design, Team-Lead, EHS, Cost and the Weekly Report — sign in against the same user list, managed in the Project Hub under Admin → Users (and mirrored to the readable 00 · Master → Users sheet). Each person signs in with their username / employee code and password and sees only the projects they're assigned to.

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