NORCAL SBDC + MySBDC
Client Dashboard Documentation & Implementation Guide
PROJECT OVERVIEW & CORE OBJECTIVES
Consolidate 18+ regional SBDC websites into one unified platform
Consolidate 18+ regional SBDC websites into one unified platform with a client portal (MySBDC) that remembers each client, feels local, and automates the busywork. Optimize for ADA, mobile, and EN/ES; make Neoserra, LearnWorlds, Zoom, Constant Contact work together with one source of truth per data type.
Forms
- SSO login/signup. Join/641 intake (multi-step, autosave, EN/ES)
- Milestone submission (Funding, Hire, Revenue; 3-step mini-wizard)
- Newsletter opt-in (center-specific list; consent time-stamped)
Navigation
- Global: About | Services | Events | Stories | MySBDC (+ EN/ES toggle; Find Your Center)
- Center chip: "Viewing: [My Center] ▾" with My Center, Nearby (session-only), Change Center…
- Public site for discovery; MySBDC for doing
Logic Steps
- Detect/confirm center
- Show localized content (events, updates)
- If user registers and is not signed in, open SSO modal
- After signup, start 641
- Route to Advising-ready or Training-first track
- MySBDC shows Next Step and one-click actions
Keep it ruthlessly simple: one login, one 641, one dashboard. All else is orchestration.
MYSBDC — EXPERIENCE, IA & KEY COMPONENTS
The client's personal command center
MySBDC is the client's personal command center—a light, minimal dashboard that surfaces one Next Step, My Trainings, Milestones, Advisor, and Resources, all localized to their center. The portal emphasizes one-click actions, clear status labels, and zero duplicate forms.
Forms
- Quick Milestone: Type → Details → Impact (≤ 60 seconds)
- Profile/Preferences: Language (EN/ES), communications, interests
- Doc upload (when requested by advisor)
Navigation
- Tabs/Sidebar: Trainings / Milestones / Advisor / Resources / Settings
- Secondary rail: Announcements ("News from [Center]"), Newsletter toggle
- Persistent Next Step card at top of dashboard
Logic Steps
- Next Step resolves from state: Complete 641 → Book welcome call → Join today's training → Report milestone
- My Training shows only registrations: Join / Add to Calendar / Recording
- Milestones post to Success Atlas with client consent
- Advisor card: message, upload, schedule
- Resources filtered by stage + center tags
Four micro-videos (≤90s): What is SBDC? / Why milestones matter / Director welcome / Client tip. Captions on, transcripts linked, auto-collapse after view.
SIGN-IN STATES, SSO MODAL & REGISTRATION UX
Modal-first, SSO-forward authentication
Registration and sign-in are modal-first, SSO-forward (Google/Microsoft/Auth0). If a user clicks Register while not signed in, show SSO modal; if signed in, show confirmation with event summary and Add to Calendar.
Forms
- SSO modal: Google / Microsoft buttons, OR name-email-password; Forgot password, Terms/Privacy
- Confirmation (signed-in): Event title/date/location + View My Trainings + Add to Calendar (.ics)
Navigation
- After SSO →
/my/dashboard - After event registration →
/my/trainings - Header brand updates post-confirmation: "Norcal SBDC @ [Center]"
Logic Steps
- Not signed in: SSO modal → create/attach account → optional auto-start 641
- Signed in: Register → Confirmed (join link or enrollment) → View My Trainings
- Calendar: Download .ics; for Zoom events, return join URL immediately (auto-approval)
Keyboard focus styles, aria-labels on icon buttons, semantic headings; modals trap focus and support Esc close.
FORM 641 — MULTI-STEP WIZARD & PRIVACY
7-step autosaving wizard with intelligent routing
The 641 is a 7-step autosaving wizard (EN/ES) that shows only relevant questions, stores sensitive demographics separately (encrypted), and can be resumed anytime. Completion triggers routing, task creation, email sequence, and dashboard Next Step updates.
Form Steps
- Welcome → Account
- Business
- Owner
- Goals
- (Capital Needs) — Conditional
- Fast Track → Preferences → Opt-ins
- Review & E-Sign
Navigation
- Progress bar with named steps; Back always enabled
- Save automatically indicator
- Resume via email magic link or dashboard prompt
Logic Steps
- Autosave on field change + 10s
- Conditional: Show Capital Needs only if selected; branch on "In business / Not yet"
- Consent: newsletter unchecked by default; time-stamp and store
- On submit: create/update Neoserra client; enqueue intake task; add to correct Constant Contact list if opted-in; set Next Step
PII in transit via TLS; at rest encryption; role-based access; 6-year retention aligned to SBA; explicit delete/portability under CCPA.
ROUTING & SCORING — FROM 641 TO TRACKS
Transparent readiness scoring and intelligent routing
A transparent readiness score (0–100) determines Advising-ready (≥60) vs Training-first (<60), with fast-track overrides (urgent capital, near-term launch). Routing sets tasks, emails, and the Next Step card.
Scoring Model
Logic Steps
- Compute score: Status (20) + Docs (25) + Capital (15) + Credit (15); Fast-track sets 100
- Set track/pathway, create Neoserra task, pick center list_id for emails
- Update Next Step: Finish 641 → Book welcome call → Join workshop → Report milestone
Email Sequence
- Immediate: Confirmation → personalized Next Step
- Day 1: Director welcome
- Day 3: Reminder
- Day 7: Nudge → staff task if inactive
- Day 14: Re-activation if dormant
Advising-ready clients get a brief, white-glove Success Team Welcome Call to set expectations before their first advisor meeting. This call is a concierge touch, not a gate; advisor pairing happens immediately.
TRAININGS — LIVE, ON-DEMAND & PAID OPTIONS
One-click registration with seamless integrations
Clients browse on the public site but register in MySBDC with one click. Live events create Zoom registrations (auto-approval); on-demand uses LearnWorlds SSO + auto-enroll; paid recorded events (ex: Quickbooks series) use CUSTOM LINK → checkout.
Forms
- Register buttons: Live Free, Recorded Paid, On-Demand
- Post-registration status: Registered / Enrolled / Completed (+ recordings)
Navigation
- Public:
/trainings/(regional) and/{center}/trainings/(center) - MySBDC: My Trainings list with Join / Add to Calendar / View Recording
Logic Steps
- Live Free: Register → Zoom addRegistrant → return join URL → calendar
- Recorded Paid: CustomLink → Checkout → webhook → receipt
- On-Demand: Ensure LW user → enroll → SSO redirect → progress sync
- Nightly: attendance sync back to Neoserra; statuses update
Set auto-approval (approval_type=0) to eliminate friction and deliver join links instantly.
MILESTONES, ADVISOR COMMS & ANNOUNCEMENTS
Quick milestone logging and seamless communication
Milestones are client-logged in seconds and appear on Success Atlas (quote/story with consent). Advisor messages are written to Neoserra notes; announcements flow to the portal and auto-build in weekly newsletters.
Forms
- Milestone: Type (💰 Funding | 👥 Hire | 📈 Revenue) → amount/details → optional 280-char story
- Message advisor: quick note + file upload
Navigation
- Announcements: "News from [Center]" panel; Newsletter toggle ties to center list_id
- Success Atlas: public map page + embed in dashboard
Logic Steps
- Submit milestone → write to Neoserra → Atlas updates (realtime/near-realtime)
- Advisor message → Neoserra client note → advisor dashboard surfaces unread
- Weekly cron builds Constant Contact drafts per center: next-14-day events, flagged updates, on-demand picks
Never publish a quote/story without explicit share consent; keep anonymous/private by default.
PUBLIC WEBSITE — HOMEPAGE, GEO & CENTER CONTEXT
Smart geolocation with local feel
The homepage leads with "Your Business, Better.", Find Your Center, and Events/Stories. Geolocation is soft: a sticky top-bar suggests Marin or Chico, updates the header to "Norcal SBDC @ [Center]" upon confirmation, and previews local events.
Forms
- ZIP finder (modal or header chip) + optional Use my location (on tap)
- Contact and Request advising forms (simple, route to MySBDC/641)
Navigation
- Desktop: hero with Join (sky-blue), Find Center (transparent + white border), mega dropdowns
- Mobile: hamburger → accordion; geo prompt as compact top-bar
Logic Steps
- Soft detect center → show top-bar "Looks like Marin — Yes / Not now"
- If Yes: update brand, filter events/news; hide Find Center button in hero
- If Not now: keep network view; chip still available to switch
- Never overwrite primary center with GPS/IP; Nearby Today is session-only
Regional:
/trainings/ | Center: /{center}/trainings/Keep clean rewrites and predictable routes for SEO and user trust.
INTEGRATIONS & DATA — THE "ONE SOURCE OF TRUTH" RULE
Let systems do what they're best at
Use WordPress as the UI layer, let systems of record do what they're best at: Neoserra (clients/events), LearnWorlds (on-demand), Zoom (live reg/attendance), Constant Contact (email prefs), Stripe (optional paid). Cache read-heavy endpoints; queue/retry on failures.
GET /api/trainings
POST /api/training/register
PUT /api/milestones
GET /api/reports
GET /meetings/{id}
GET /report/webinars/{id}
Webhook: attendee.joined
POST /api/users
POST /api/enrollments
Webhook: course.completed
PUT /lists/{list_id}/contacts
POST /campaigns
GET /reports/{campaign_id}
Logic Steps
- Event sync: Neoserra → WP cache (4h); register → Zoom; nightly attendance back to Neoserra
- On-Demand: Ensure LW user → enroll → SSO → update status hourly
- Newsletter: Build weekly drafts per center; auto-send or approve
- Data safety: encrypt PII, RBAC, audit logs, backups; WCAG 2.2 AA
Cache where safe (events 4h, enrollments 1h), exponential backoff on failures, show last-updated timestamps when using cached content.
QUALITY GATES — ACCEPTANCE TESTS & SUCCESS METRICS
Define "done" up front
Define "done" up front: center switching behaves exactly as specified; 641 routes correctly; live registration and attendance sync; newsletter opt-ins map to the right lists. Measure adoption, action completion, milestone lift, and admin time saved.
Forms Testing
- Test 641 records: fast-track, 70-score, 40-score; EN/ES runs
- Opt-in/out cycles for newsletters
Navigation Testing
- Verify
/trainings/and/{center}/trainings/render correctly; header chip mirrors state - Keyboard-only and screen-reader paths pass WCAG 2.2 AA checks
Logic Steps
- Pilot 2–3 centers; pass all flows: 641→routing→dashboard; register→join→attendance; milestone→Atlas; opt-in→receives next send
- Metrics: 70%+ dashboard activation (7 days), 3× milestone reporting, ~40% admin time reduction, page loads <2–3s on mobile
Approve: Geolocation UX (My Center vs Nearby), Dashboard scope, Newsletter cadence, Zoom auto-approval, where Zoom IDs live in Neoserra.
AUTOMATION & NEWSLETTERS — "WRITE THEMSELVES"
Weekly drafts auto-generated per center
Weekly drafts per center assemble from Neoserra events, flagged Announcements, and LearnWorlds picks. Centers can auto-send or review + send; all with center-specific list_id mapping.
Forms
- Announcement editor with "Include in newsletter" flag
- Center settings: Constant Contact list_id, contacts, scheduling link
Navigation
- MySBDC toggle exposes current subscription status
- Public
/storiesand/newsreflect center context
Logic Steps
- Cron (e.g., Mon 6 am) builds draft HTML per center via API
- If in approval mode, notify the center; else send
- Track opens/clicks per center; roll into monthly KPIs
Events (≤5 soonest), Updates (≤3, newest), On-Demand picks (featured/most-enrolled), optionally a local milestone story.
SUCCESS ATLAS — REAL-TIME IMPACT & REPORTING
Public impact visualization with live metrics
Milestones flow to a public map + counters with filtering by center, type, and date. Leadership sees capital, jobs, starts live; exports support board decks and SBA reporting.
Forms
- Milestone contributes amount/type + optional story (with consent toggle)
- Atlas filters: type, center, timeframe
Navigation
- Public page + embed in dashboard
- Link from MySBDC milestones
Logic Steps
- Client logs milestone → write + (optional) verify threshold
- Atlas updates immediately; aggregates refresh on schedule
- Weekly/Monthly/Quarterly reports generate automatically with KPIs
Provide non-map list/table views for screen readers; ensure keyboard navigation for filters.
IMPLEMENTATION ROADMAP — PHASES & OWNERSHIP
Ship in crisp phases with clear ownership
Ship in crisp phases: Foundation → Integrations → MySBDC → Pilot → Migrate. Maintain SEO via 301 maps, train staff, and run acceptance tests before cutting over.
| Phase | Deliverables | Duration | Success Criteria |
|---|---|---|---|
| 1-2: Foundation | Hosting, SSO, design system, core schema | 4 weeks | SSO functional, design approved |
| 3-4: Integration | Neoserra/LW/Zoom/CC wiring; dashboard + 641 | 6 weeks | All APIs connected, data flowing |
| 5: Pilot | 2-3 centers live, staff training | 4 weeks | 70% activation, flows validated |
| 6: Migration | Redirect maps, full rollout, monitoring | 2 weeks | Zero 404s, < 3s load times |
Forms Migration
- Content migration audit (Keep / Archive / Redirect / Delete)
- Role provisioning for advisors/staff; client activation emails
Navigation Migration
- Redirect old center URLs to new
/{center}/…paths - Monitor 404s for 30 days
Vanilla JS, lightweight components, design tokens, clear data contracts; "one master per domain" prevents drift.