Loading dashboard…
Select your access level to continue
100 Branch Expansion · Live Dashboard
Once connected, any update your team makes in Google Sheets will appear here within 5 minutes automatically.
This uses Google Apps Script (free, tied to your existing Google account) as a tiny live backend, polled every ~12 seconds. Steps:
Script to paste:
function doGet(e){return ContentService.createTextOutput(getSheet_().getRange('A1').getValue()||'{}').setMimeType(ContentService.MimeType.JSON);}
function doPost(e){getSheet_().getRange('A1').setValue(e.postData.contents);return ContentService.createTextOutput(JSON.stringify({ok:true})).setMimeType(ContentService.MimeType.JSON);}
function getSheet_(){var ss=SpreadsheetApp.getActiveSpreadsheet()||SpreadsheetApp.create('PMO Sync Store');var sh=ss.getSheetByName('SyncState');if(!sh){sh=ss.insertSheet('SyncState');sh.getRange('A1').setValue('{}');}return sh;}
⚠️ "Anyone" access means anyone with this URL can read/write the data (no login check) — same trust model as the rest of this dashboard. Fine for an internal team; don't store sensitive personal data here.
Create a free project at console.firebase.google.com → Add project → Build → Firestore Database → Create database (start in test mode) → then Project settings → General → scroll to "Your apps" → Web app (</>) → copy the config values below. Once this is filled in on your device, tasks/branches/checklist/staffing you edit here sync live to every other logged-in teammate.
⚠️ In Firestore, set security rules to allow read/write (test mode, or scope to this app) since this dashboard uses a shared team passcode rather than individual logins — anyone with the deployed URL and this config could read/write the data. Fine for a trusted internal team; do not put sensitive personal data (IDs, bank info) in this dashboard.
Dental_Clinics_PMO_Dashboard_v2.xlsxpmo-web-dashboard folderpmo-web-dashboard folder onto the Netlify pagehttps://magical-name-123.netlify.app