One System. One Login. Role-Based Access.
The OA dashboard ecosystem is a single unified application at server.outsourceaccess.com. One D1 database, one login, and role-based visibility. Clients, employees, and admins all log into the same URL. What they see is determined entirely by their user role and permissions.
No separate subdomains. No separate databases. No separate codebases. Just one system, one source of truth, and role-scoped views.
One D1 database houses all data. Role-based middleware scopes every query so users only see data they're authorized for. No cross-role data leaks are structurally possible.
Authentication determines who you are. Your role determines what you see. Server-side enforcement on every request with identity from session tokens, never from browser parameters.
Everyone goes to server.outsourceaccess.com. No separate subdomains to manage, no separate codebases to maintain. Simpler for users, simpler to build, simpler to secure.
Client companies are scoped by
company_id on every table. Middleware injects the filter on every query. Cross-client data leaks are structurally impossible.Cloudflare Pages for frontend, D1 for database, Workers for API logic. No local servers, no tunnels. 100% cloud-native on OA's Cloudflare account.
oa-serveroa-client-dashboards-db (ID: c2d686fc-9347-4afa-a45f-6f5957a6e353)79bf9918da35fa3f7d3a0bca83c0d0be)One Login, Six Views
Every user logs into server.outsourceaccess.com. Their role determines their entire experience: navigation, data access, actions, and dashboard layout. The server enforces this on every request.
- VA performance dashboards (Time Doctor data)
- Satisfaction history and CSAT scores
- Industry research and strategic advisory docs
- Billing and invoice history
- Owner feedback and change requests
- Resources, guides, OA Playbook access
- Client portfolio overview with health scores
- CSAT trends and satisfaction alerts
- Client feedback and action items
- Strategic advisory document access
- Upsell/cross-sell opportunity tracking
- Team performance dashboards
- TL accountability tracking
- Client escalation queue
- Resource allocation and capacity
- Quality assurance metrics
- VA assignment management
- Daily check-in tracking
- Time Doctor summaries per VA
- Weekly update submission forms
- Performance coaching notes
- Daily task assignments
- Time tracking integration
- Client-specific SOPs and playbooks
- Communication logs
- Training resources
- Company-wide KPI dashboard
- Revenue and retention metrics
- Employee performance rankings
- Client health overview
- Payroll and financial summaries
- User management, role assignment, content publishing
| Role | Can See | Can Edit | Scope |
|---|---|---|---|
| Client Owner | Own company VA perf, CSAT, billing, resources | Feedback, settings | Own company only |
| Account Manager | Assigned clients' data, CSAT, strategic docs | Client notes, advisory docs | Assigned clients |
| Operations Manager | All TLs under them, team metrics, escalations | Team assignments, escalation responses | Own team hierarchy |
| Team Leader | Assigned VAs, time tracking, daily check-ins | VA notes, weekly updates | Assigned VAs only |
| Virtual Assistant | Own tasks, time logs, SOPs | Task status, time entries | Own data only |
| CEO / Admin | Everything across all data | Everything (user creation, role changes, content push) | Full system access |
Each module is a functional area within the unified system. Modules are visible or hidden based on the user's role.
Every data source that feeds into the unified dashboard system and which roles consume it.
oa-client-dashboards-db.Authentication Is Not Authorization
The login system handles authentication (who are you?). The role-based middleware handles authorization (what can you see?). Server-side enforcement on every request, with identity derived from secure session tokens.
role field on the users table in D1 (client_owner, am, om, tl, va, admin)company_id linked to their account. Every query is automatically filtered.async function roleMiddleware(request, env) {
const session = await getSession(request, env.DB);
if (!session) return redirect('/login');
// Attach role and scope to the request context
request.user = {
id: session.user_id,
role: session.role,
company_id: session.company_id,
};
// Render the dashboard for this role
return renderDashboard(request.user.role);
}
Admin Creates Client Company
Brad (or admin) creates a new company record in the D1 database with company name, industry, plan tier, and assigned AM.
Admin Creates Client User
Creates a user account with role "client_owner" and links it to the company_id. Sets initial password.
Client Logs In
Client visits server.outsourceaccess.com, logs in with their credentials. System detects role "client_owner" and renders the client dashboard.
Scoped Data Access
All queries are automatically filtered by company_id. Client only sees their own VA performance, CSAT scores, billing, and resources.
Admin Creates Employee Record
Creates user in D1 with name, role (am, om, tl, va), reporting structure, and start date.
Role Determines View
Employee's role is set in the database. This controls what navigation, data, and actions they see when they log in.
Employee Logs In
Same URL: server.outsourceaccess.com. System detects their role and renders AM view, OM view, TL view, or VA view accordingly.
Every dashboard Sterling has built for the OA ecosystem. Click any link to open.
| Dashboard | Client | Status | Link |
|---|---|---|---|
| SSVA Dashboard | Support Services of Virginia | Live | Open |
| FiveTraks Dashboard | FiveTraks / Yardsy | Live | Open |
| Henri's Bakery Dashboard | Henri's Bakery | Live | Open |
| Dreamland BBQ Dashboard | Dreamland BBQ | Live | Open |
| Greenlight Cyber Dashboard | Greenlight Cyber | Live | Open |
| CapCon Commercial Dashboard | CapCon Commercial | Live | Open |
| Palco Enterprises (Original Design) | Palco Enterprises | Reference | Open |
| Acme Roofing Demo (Public-Facing) | Acme Roofing | Demo | Open |
| Dashboard | Type | Status | Link |
|---|---|---|---|
| Palco (Hybrid Design Template) | Internal Client Dashboard | Finalized | Open |
| Dashboard | User | Status | Link |
|---|---|---|---|
| TL Performance Dashboard | Mary Ann Palacio (16 clients) | Live | Open |
| Dashboard | Audience | Status | Link |
|---|---|---|---|
| CEO Business Intelligence | Brad Stevens | Live | Open |
| CEO Financial Dashboard | Brad Stevens | Live | Open |
| OA Constraints Engine | Leadership | Live | Open |
| OA Ecosystem Map | Strategic planning | Live | Open |
| Dashboard | Purpose | Status | Link |
|---|---|---|---|
| OA Server (Admin Panel) | User management, org tree, client management | Demo | Open |
| OA Server (Login) | Unified login page | Live | Open |
| 5-Persona Demo | Login as CEO, Director, OM, TL, or Client | Live | Open |
| Acme Roofing Demo | Static single-client mockup (/Acme) | Demo | Open |
| This Architecture Page | Master dashboard architecture map | Live | Open |
| Vertical | Industry | Status | Link |
|---|---|---|---|
| Pest Control | Pest Control Services | Live | Open |
| Lawn Care | Lawn & Landscape | Live | Open |
| Real Estate | Real Estate | Live | Open |
| Workiz | Workiz Platform Users | Live | Open |
| Restaurant | Restaurant / Food Service | Live | Open |
| Lawn Care Prospects | Prospect landing pages | Live | Open |
| Dashboard | Purpose | Status | Link |
|---|---|---|---|
| Brad's Command Center | ADHD task management | Live | Open |
| Sterling Pipeline | Sterling's active task tracking | Live | Open |
| Post-Call Dashboards | Call follow-up tracking | Live | Open |
| AI Agent Architecture | Sterling agent build plan | Live | Open |
| Network Mining | B2B prospecting strategy | Live | Open |
| Dashboard Manager | Drag-and-drop dashboard ordering | Live | Open |
Hierarchical map of all dashboards by audience. Click any card to open.
Each role has its own shareable URL. Click any card to see that role's exact dashboard view.
| URL | DNS | Status | Purpose |
|---|---|---|---|
server.outsourceaccess.com | Active | Live | Unified dashboard system (all roles) |
| URL | Status | Purpose |
|---|---|---|
oa-server.pages.dev | Live | Main unified dashboard project (login + dashboard + admin) |
client-dashboards-live.pages.dev | Live | 6 client dashboard pages (SSVA, FiveTraks, Henri's, Dreamland, Greenlight, CapCon) |
oa-dashboard-architecture.pages.dev | Live | This page (master architecture map) |
oa-dashboard-manager.pages.dev | Live | Dashboard drag-and-drop manager |
oa-portal-demo.pages.dev | Live | 10-persona interactive role demo (use #role hash for direct links) |
| Direct role URLs: #ceo · #president · #sdhead · #am · #om · #director · #finance · #tl · #va · #client | ||
| URL | Status | Purpose |
|---|---|---|
oa-portal-architecture.pages.dev | Reference | Original four-brain architecture decision document |
oa-ceo-dashboard.pages.dev | Live | CEO business intelligence dashboard |
ceo-financial-dashboard.pages.dev | Live | CEO financial dashboard |
oa-client-dashboard-demo-public.pages.dev/Acme | Demo | Single-client demo page (/Acme) |
oa-ecosystem.pages.dev | Live | Strategic planning tool (not part of dashboard system) |
oa-constraints-engine.pages.dev | Live | OA Constraints Engine |
Sequenced build plan for the unified dashboard system. Each phase is independently deployable.