What Unlikely Professionals Does
Unlikely Professionals (UP) performs building code compliance inspections across Maryland, DC, and Virginia, primarily focused on structural foundation and water management systems. Builders and developers hire UP to inspect their construction projects against local building codes, and UP issues certification packages confirming compliance. This is a required step before occupancy permits can be issued — so everything UP does is time-sensitive and legally consequential.
What the Portal Is
The portal is the centralized operations platform for UP. Before it existed, work was scattered across spreadsheets, emails, WhatsApp threads, and manual processes. The portal replaces all of that with a single system where every project, inspection, certification, and invoice is tracked from intake to delivery.
The vision: every person involved in a project — schedulers, inspectors, admins, triage staff, and you — sees exactly what they need, when they need it, with nothing falling through the cracks.
Your Role: Owner
You hold the up_owner role. This is the highest authority level in the system. Here is what that means in practice:
- Final approval authority — Jacob now handles most cert and invoice delivery directly using confidence-based routing. When he is uncertain, or when guardrails trigger, items land in your Owner Review Queue for your sign-off. You review what needs your eye — not everything.
- Unrestricted visibility — you see every project across every branch and every account. No data is hidden from you.
- User management — only you can create, modify, or deactivate portal user accounts.
- System oversight — you have access to reporting, audit logs, and system health monitoring.
- Escalation endpoint — when something cannot be resolved at any other level, it reaches you.
Portal URLs
You have two domains that reach the portal:
- unlikely.works — your primary domain (owner/admin access)
- unlikely.management — alternate domain (same portal, same login)
Both lead to the same system. Use whichever you prefer. Log in with your email and password.
/morning in Kulu for a 10-second text summary of pipeline status, open RFIs, cert queue depth, unpaid invoices, stalled projects, and permit alerts. It tells you where to focus before you even log in. See the Skills Reference for details.
Morning Briefing
After login, you land on the Morning Briefing — your actionable launch pad. This replaces the old analytics dashboard with a focused, action-oriented view. It is role-filtered — what you see is different from what Jacob, schedulers, or inspectors see, because it surfaces the things that need your attention.
| Section | What It Shows | Why It Matters |
|---|---|---|
| Scheduled Inspections | Today’s and this week’s field inspections | Revenue starts here — each inspection eventually becomes a cert + invoice |
| Owner Review Queue | Certs and invoices Jacob flagged for your review, plus guardrail-triggered items | Your #1 action item — these need your eye before shipping |
| Revenue Pipeline | Potential today/week vs. actual MTD/YTD | Shows the gap between inspections performed and revenue collected |
| Lifetime Revenue | Combined Mostly + Xero historical totals ($1M+ invoiced across 2022–present) | Full picture of firm revenue — current operations plus 2,286 historical Xero invoices |
| SLA Compliance | % of projects meeting the 3-business-day cert target | Your reputation metric — clients expect fast turnaround |
| Cert Velocity | Certs issued per day/week by branch | Throughput indicator — are we keeping up? |
| Open RFIs | Outstanding requests for information | Each open RFI is a blocked project |
| Schedule Change Requests | Pending reschedules, cancellations, additions (Action Center → Schedule tab) | Client service — respond promptly |
| Post-Production Queue | Projects waiting for Jacob’s review | Jacob’s backlog — if this grows, cert delivery will slow |
| Notifications | System messages, escalations, alerts | Catch anything that needs immediate attention |
| Dependencies | System health — API, Supabase, services | If something is red here, the whole pipeline may be impacted |
The Numbers That Matter Most
Of everything on the dashboard, these three metrics are the ones to watch:
- Revenue pipeline — gap between inspections completed and invoices sent. A growing gap means money is stuck in the pipeline.
- SLA compliance — percentage of projects certified within 3 business days of final inspection. Below 90% is a problem.
- Cert velocity — how many certs are going out per day. If it drops, check Jacob’s queue size and open RFIs.
Role Switcher
As owner, you can impersonate any role in the system. This lets you see exactly what a scheduler, inspector, GOA, or triage user sees. Use it for training, troubleshooting, or verifying that the right information is reaching the right people.
Your morning routine should take 10–15 minutes on a quiet day. Here is the recommended order, from most urgent to least.
This is your #1 priority every day. Navigate to Owner Review Queue (/owner-review) from the sidebar. This shows only the items that need your attention — not everything Jacob processes.
Jacob now uses confidence-based routing. When he is confident in a cert or invoice, he sends it directly to the client without waiting for your approval. When he is uncertain — or when automatic guardrails trigger — the item lands here for your review.
Guardrails that auto-queue for your review:
- Invoices ≥ $5,000
- Anne Arundel County projects (proprietary jurisdiction forms)
- Montgomery County projects (proprietary jurisdiction forms)
- Prince William County projects (proprietary jurisdiction forms)
To approve: Open the item, review the cert package and/or invoice details, then click Approve. The system will automatically send the cert and invoice to the client via email and update all statuses.
To request revision: If something looks wrong — wrong SOW line items, missing data, incorrect amounts — click Request Revision and add a note explaining what needs to change. The item returns to Jacob’s “Needs Another Look” queue, and he will revise and resubmit.
After clearing approvals, scan the overall pipeline. Projects move through four buckets:
| Bucket | What’s Here | Your Action |
|---|---|---|
| Ready for Cert | Field-complete projects waiting for Jacob | Monitor — if this grows, Jacob may need help |
| In Draft | Jacob is actively drafting cert/invoice | No action needed — work in progress |
| Owner Review | Items Jacob flagged + guardrail-triggered items | Approve or request revision (Step 1) |
| Sent Direct | Items Jacob sent directly to clients (confident) | Audit trail — review if needed, no action required |
| Invoiced | Sent to client, awaiting payment | Track in Financial Oversight |
SLA tracking: The system enforces a 3-business-day SLA from final inspection to cert delivery. Projects approaching or exceeding this target are flagged. Breached items appear in red — handle these immediately.
New project submissions from schedulers appear in the Action Center → Intake tab (/actions?tab=intake). Jacob handles most of these, but you have full approval authority too. Check for any escalated or unusual requests.
If a submission is incomplete (missing permits, plans, or SOW details), it should be returned with a note explaining what is needed. The scheduler will resubmit.
Clients request schedule changes through their schedulers. These appear in the Action Center → Schedule tab (/actions?tab=schedule). Types include reschedule, cancel inspection, add inspection, hold, and cancel project. Rush requests (less than 24 hours) are auto-flagged. Project cancellations have their own dedicated tab at /actions?tab=cancel.
Either you or Jacob can approve these. Check if any are pending, especially rush-flagged ones.
Every project follows the same path from intake to archive. Here is the full lifecycle as you will see it from the owner perspective.
With confidence-based routing, you no longer need to approve every cert and invoice. Jacob sends most items directly when he is confident. Your role is to review items he has flagged for your input, plus items that triggered automatic guardrails. This section explains how the new system works and what to look for when items reach your queue.
How Confidence Routing Works
When Jacob finishes drafting a cert or invoice, he makes a routing decision:
Automatic Guardrails
Even when Jacob is confident, certain items are automatically routed to your Owner Review Queue. These guardrails cannot be overridden:
- Invoices ≥ $5,000 — high-value items always get a second look
- Anne Arundel County — proprietary jurisdiction forms (Forms 210, 215, 240)
- Montgomery County — proprietary jurisdiction checklist
- Prince William County — proprietary building inspection form
Your Owner Review Queue
Navigate to /owner-review from the sidebar (under Daily Work). This is your primary action queue. Each item shows why it was queued — Jacob’s note, or which guardrail triggered.
What to Check Before Approving a Cert
- Project address — correct property, correct jurisdiction (MD/DC/VA)
- SOW lines — do the scope-of-work line items match what was inspected?
- Inspection data — are photos, drive logs, and field notes present?
- Cert type — PSoW (Pre-drywall Scope of Work) vs. ABSoW (Above-drywall/Behind-wall Scope of Work) — is it the right one for this stage?
- Account routing — is this going to the correct builder/account contact?
- Jurisdiction forms — for guardrail-triggered items, verify the correct proprietary forms are attached
/certcheck R8057 in Kulu to validate readiness programmatically. It checks the same items listed above (photos, drive logs, SOW, permits) and shows exactly what passes and what is missing. Useful for spot-checking items Jacob sent directly.
What to Check Before Approving an Invoice
- Line items — do they match the SOW and the cert?
- Amounts — are quantities and rates correct? (Especially important for $5K+ guardrail items)
- Account — is it billed to the right account?
- Any trip charges or extras — emergency fees, missed appointment charges
For each item in your Owner Review Queue:
- Open the item — note the reason it was queued (Jacob’s note or guardrail)
- Review the cert package (PDF preview available)
- Review the invoice details
- Check SOW lines against the cert
- Approve — system sends to client immediately, or
- Request Revision — add a note explaining what needs to change. The item goes to Jacob’s “Needs Another Look” queue.
You still have full visibility into everything Jacob sends directly. Items he sent with confidence appear in the audit trail and can be viewed from the Cert Pipeline or the project detail page. You do not need to act on these — they are informational. If you spot an issue after the fact, you can flag it for Jacob to address.
What Happens After Approval
Invoice Lifecycle
Every invoice moves through these statuses:
Note: Invoice creation and approval happen as part of the cert/invoice workflow. The invoice sub-status tracks only delivery and payment: Not Invoiced → Sent → Paid.
You can track all invoices by status from the dashboard and the Cert & Invoice page. Pay attention to the gap between “Sent” and “Paid” — that is your accounts receivable.
Smart Reconciliation
Payments are matched to invoices using a confidence-based reconciliation engine — the same philosophy as confidence routing for certs. Three tiers:
- HIGH confidence — exact invoice number + amount match (within $0.01). These execute automatically: invoice marked paid, project closed. No human action needed.
- MEDIUM confidence — invoice number match but amount differs, or amount matches but reference is partial. Jacob reviews and confirms.
- LOW confidence — no clear match, multiple candidates, or combined payments. Surfaces in the reconciliation dashboard for manual resolution.
Guardrail: Payments $5,000+ always require human confirmation regardless of match quality.
Payment Sources
- Stripe — webhooks auto-mark invoices paid immediately. No reconciliation needed.
- EFT remittances — Groundworks corporate sends remittance PDFs via email. The system auto-ingests from Gmail every 30 minutes (Mon–Sat, 1–9 PM ET), parses PDF line items, and runs each through smart matching.
- Revolut — transactions matched against open invoices using the same confidence scoring.
Jacob handles MEDIUM and LOW matches day-to-day. You have full visibility via the Payments page (Reconciliation group in sidebar) and the Analytics revenue dashboard.
Revenue Dashboard
Available in the Analytics page (Monitoring → Analytics in the sidebar). Shows MTD/YTD revenue by branch, trends over time, and the invoicing gap analysis (certified but uninvoiced projects — these represent money left on the table).
Historical Revenue (Xero Integration)
The Analytics page now includes historical data from the Xero archive (2,286 invoices, $2.7M, 2022–2024). Three additions:
- Lifetime Revenue banner — combined Mostly + Xero totals displayed at the top of the Revenue Snapshot section. Also visible on the Morning Briefing.
- Historical Revenue by Year table — year-by-year breakdown (2022–2024) from the Xero archive.
- Year-over-Year Growth Chart — bar chart with YoY % change, visible when the period selector is set to “All.”
Current-period revenue KPIs are labeled “(Current)” when historical data is present, so you can distinguish between active operations and the full historical picture.
Project Detail — Historical Invoices
Each project’s detail page now shows a “Historical Invoices” section (visible to financial roles) listing any Xero invoices linked to that project. Compact table with invoice number, date, amount, and status pill. Useful for checking a project’s full billing history across systems.
User Management
Available at /admin/users. This is owner-only — Jacob cannot access it. Here you can:
- Create new portal users (assign username, role, and branch)
- Edit existing users (change roles, reassign branches)
- Activate or deactivate accounts
- Reset passwords
Roles available:
| Role | Access Level | Typical User |
|---|---|---|
| up_owner | Unrestricted — full system access | You |
| up_admin | All operations except user management | Jacob |
| goa | Branch-scoped — sees all projects for their branch | Branch managers |
| scheduler | Branch-scoped — intake, scheduling, limited project view | Client schedulers |
| scheduler_assistant | Narrower than scheduler — day-to-day support | Assistants |
| triage | Triage projects only (45+ days aged) | Triage team |
Friday’s Notes
The Friday’s Notes page (accessible from Admin → Friday’s Notes in the sidebar) collects bug reports and feedback from portal users. Review weekly. This is your direct line to understanding what is working and what is frustrating for the people using the system daily.
Role Switching
Use the role switcher (available from your user menu) to impersonate any role. This is essential for:
- Verifying what a scheduler sees when they log in
- Testing new features before announcing them
- Troubleshooting when a user reports they “can’t see” something
System Health Monitoring
System Status is accessible from the Admin group in the sidebar. It shows the health of all connected systems:
- API — the backend that powers everything
- Supabase — the project database (sole source of truth)
- Google Calendar — scheduling integration
- Gmail — cert/invoice delivery
Green means healthy. Yellow means degraded. Red means down — see Section 13 (Emergency Procedures) for what to do.
Projects List
Your projects view is unrestricted — you see every project across every branch and account. Other roles see only their branch or assigned projects. This is your master list.
You can filter by status, branch, account, date range, and more. Use search to find specific projects by address, project number, or account name.
Cert Pipeline
The Cert Pipeline is a unified tabbed page that consolidates the entire post-inspection workflow. It has four tabs:
| Tab | What’s Here | Who Acts |
|---|---|---|
| Post-Production | Field-complete projects awaiting review | Jacob |
| Desk Review | Office-based reviews (no field visit needed) | Jacob |
| Drafting | Jacob’s active drafts + “Needs Another Look” items | Jacob |
| Send | Jacob sends directly (confident) or queues for Owner Review (uncertain / guardrails) | Jacob + You |
Your primary action queue is the Owner Review Queue (/owner-review), accessible from the sidebar. The Send tab shows the full picture — items Jacob sent directly plus items queued for your review.
Pipeline Indicators
Each project in the Projects table and on the Project Detail page displays a pipeline indicator — a compact dot-and-line component showing the project’s current lifecycle stage. Green dots indicate completed stages, blue indicates the current stage, grey indicates future stages, and amber indicates the project is on hold. This gives you an at-a-glance view of where every project stands without opening the detail page.
Project Detail
Click into any project to see the full detail view: address, account, SOW lines, inspection history, RFIs, uploaded files (permits, plans, photos), cert PDFs, invoices, pipeline indicator (detail mode), and the complete audit trail for that project.
File Management
Each project can have files attached: permits, plans, photos from inspection, cert PDFs, and invoices. You can upload, download, and view these from the project detail page. Cert PDFs and invoices are generated by the system — you do not need to create them manually.
Calendar View
The Calendar page shows all scheduled inspections across all branches. It syncs bidirectionally with Google Calendar. You see the full picture — other roles see only their branch.
Use the calendar to understand workload distribution: are inspections clustered in certain areas? Is the field team overbooked on certain days? This directly affects your downstream pipeline — more inspections today means more certs and invoices in 3–5 days.
Schedule Change Requests
When a scheduler requests a change (reschedule, cancel, add, hold), it appears in the Action Center → Schedule tab (/actions?tab=schedule). Both you and Jacob can approve. Types of requests:
| Request Type | What It Means | Watch For |
|---|---|---|
| Reschedule | Move an inspection to a different date | Rush flag if < 24 hrs |
| Cancel Inspection | Remove a specific inspection from the schedule | Impact on project timeline |
| Add Inspection | Schedule an additional inspection | Field team capacity |
| Hold | Pause the project temporarily | Duration — monitor for stale holds |
| Cancel Project | Cancel the entire project | Revenue impact, reason code |
The 45-Day Rule
When a project sits for 45 or more days after its last inspection without being certified, it is automatically transferred to the Triage Team. This is a safety net — it ensures that aged projects do not quietly die in someone’s queue.
When a project enters triage:
- The original scheduler and scheduling assistant lose portal access to the project
- The branch GOA (General Operations Administrator) retains visibility
- The triage team takes ownership and works the project to close-out
- When complete, the invoice still routes to the originating branch’s GOA
Your Role in Triage
You are the final escalation point. The triage team handles most aged projects independently, but some situations require your judgment:
- Client disputes about aged projects
- Projects where the original data is incomplete and the builder is unresponsive
- Revenue decisions — write-off vs. continued pursuit
Your dashboard shows triage counts (projects entering and leaving triage) by day, month, and year, broken down by branch. A rising triage count for a specific branch may indicate a process problem with that branch’s scheduler.
Escalations
Any stakeholder can trigger an escalation on a project. Escalations are accessible from the Action Center → Escalations tab (/actions?tab=escalations). They create an instant notification to responsible parties and open a threaded message channel scoped to that project. You are always notified of escalations.
The Work Pool is the system that allocates post-production work — the step between field inspection and cert/invoice drafting. Currently, Jacob is the primary person working this pool.
How It Works
When a project reaches “Ready for Cert” (auto-advanced from Field Complete by cert validation), it enters the Work Pool. Jacob claims items from the pool and works them through the cert/invoice drafting process. Items can also enter the pool from triage returns and RFI fulfillments.
What to Monitor
- Pool size — how many items are waiting to be claimed. If this grows steadily, throughput is not keeping up with intake.
- Jacob’s active queue — how many items he is currently working. A reasonable load is 10–15 items in various stages of drafting.
- Time-in-pool — how long items sit unclaimed. Anything over 2 business days is a yellow flag.
- Oldest unclaimed item — this is your single best indicator of backlog health.
The system now includes automated intelligence that monitors the pipeline and takes action without waiting for humans to notice problems.
Auto-Validation (Field Complete)
When a project reaches Field Complete, the system automatically runs a 10-point validation checklist. This checks for photos, drive logs, SOW completeness, and other required data.
- Pass — the project auto-advances to Ready for Cert and enters Jacob’s work pool. No human action needed.
- Fail — the system automatically generates an RFI listing exactly what is missing. The SLA clock pauses until the RFI is resolved.
This eliminates the manual step of checking whether a project is ready for post-production review.
Pipeline Shepherd
The Pipeline Shepherd is an automated daily scan that runs at 7:45 AM ET. It examines every active project and detects stuck or aging items using a rules engine:
| Rule | Trigger | Action |
|---|---|---|
| Intake stale | Intake > 3 days old | WhatsApp alert + portal notification |
| Scheduled, no visit | Scheduled > 2 days, no site visit | Notification to scheduler |
| Field complete, no validation | Field Complete > 1 day | Auto-triggers validation |
| Cert drafting overdue | Ready for Cert > 3 business days | Notification to admin |
| Certified, not invoiced | Certified > 1 day | Notification to admin |
| Unpaid aging | Invoice unpaid 30 / 60 days | WhatsApp alert to you |
| On hold too long | On hold > 30 days | Notification to owner |
| RFI aging | Open RFI > 3 / 7 days | Escalation notifications |
The shepherd sends WhatsApp alerts to you for critical items and portal notifications for operational items. It runs once per day (idempotent). Reports are stored and viewable at /ops/shepherd-report.
All charts and reporting are consolidated into the Analytics page (under Monitoring in the sidebar). Data is live, sourced from three systems: Supabase (current projects), Xero archive (2022–2024 invoicing), and PMS archive (2018+ historical projects).
| Report | What It Shows | Use It When |
|---|---|---|
| Revenue by Branch | MTD/YTD revenue with trends | Monthly reviews, branch performance comparison |
| Lifetime Revenue | Combined Mostly + Xero totals across all years | Full-picture revenue view, board reporting |
| Historical Revenue by Year | Year-by-year breakdown (2022–2024) from Xero | Annual trend analysis |
| Year-over-Year Growth | Bar chart with YoY % change (visible on “All” period) | Growth trajectory assessment |
| SLA Compliance | % of projects meeting 3-day cert target | Daily — your key quality metric |
| Cert Velocity | Certs per day/week by branch | Spotting throughput slowdowns |
| Branch Comparison | Comparative metrics across all branches | Identifying underperforming branches |
| Pipeline Snapshot | Full pipeline across 3 sources (7,000+ projects): Supabase + Xero + PMS | Understanding where projects are — past and present |
| Invoicing Gap Analysis | Certified but uninvoiced projects | Finding revenue left on the table |
Pipeline Dot Chart
The pipeline snapshot now renders as a scaled dot chart (10px dots, up to 120 per row). It blends three data sources with deduplication: Supabase current projects, Xero invoices (unlinked only — those already in Supabase are excluded), and PMS archive records (non-migrated only). All statuses are shown, including terminal states (Invoiced, Closed). The total project count is now 7,000+.
Using Data to Identify Bottlenecks
The three most common bottlenecks in the pipeline and how to spot them:
| Bottleneck | Symptom | Resolution |
|---|---|---|
| Field → Cert | Growing “Ready for Cert” count | Jacob needs capacity help or RFIs are blocking |
| Review → Approval | Growing Owner Review Queue count | You need to clear your review queue |
| Approval → Payment | Growing “Sent” invoices, low “Paid” | Client follow-up needed; possible payment issues |
System Down
If the portal is unreachable or showing errors:
- Check the Dependencies section on your dashboard (if accessible). Red indicators show which service is affected.
- Contact your system administrator. The VPS (server) is hosted on Hostinger and can be checked via their control panel.
- If the issue is widespread (multiple services down), a server restart may be needed. The system is designed to recover automatically — all data is backed up nightly.
Supabase Issues
Supabase is the sole source of truth for all project data. If it becomes slow or unresponsive:
- The portal will show degraded performance (slow loading, stale data)
- Check the Supabase dashboard for service status
- SmartSuite receives a mirror copy during the soak period (through April 6, 2026) but is not used for reads or writes
- Do not approve certs/invoices during a Supabase outage — status updates will not propagate
Cert Delivery Failures
If a cert or invoice email fails to deliver:
- Check the project’s audit log for delivery error details
- Common causes: invalid email address on the account, Gmail API rate limits, attachment size
- Certs can be resent from the project detail page
Client Escalations
When a client contacts you directly about a problem:
- Look up the project in the portal by address or project number
- Check the project timeline — when was the last inspection? Is there an open RFI? Is it in triage?
- Check the audit log for recent activity
- If a cert is delayed, check whether it is in Jacob’s queue, in your Owner Review Queue, or stuck on an RFI
There is no Messages page. Conversations live inside each project — open a project, scroll to the Correspondence section, and the full thread is there alongside the files, site visits, and certifications it refers to. A red dot on a project row or calendar event means someone said something you haven’t read yet.
What You Need to Know
Red dots on the Projects table and Calendar tell you where unread messages are. Click through to the project to read and reply. All conversations must be linked to a project — no standalone or direct messages. The system tracks response times and resolution SLAs per conversation. Everything is logged in the project’s Activity timeline.
Owner Review Queue — Chat Integration
When Jacob queues a cert or invoice for your review, a ‘review’ conversation is automatically created on that project. You can approve or request revision directly within the thread, and any discussion about the revision happens inline.
Notification Router
Click the gear icon in the notification panel to configure how you receive alerts. Four channels are available: portal notification, email (via Gmail), WhatsApp, and SMS. You can set per-urgency routing — for example, urgent messages go to WhatsApp immediately, while normal messages stay in the portal. Configure:
- Channels per urgency — which channels fire for low / normal / high / urgent messages
- Email fallback delay — how long the system waits before emailing you about an unanswered portal notification (e.g., 15 minutes)
- Do Not Disturb — hours during which only urgent messages are delivered
Notifications consolidate within a 2-minute window to avoid spam. If you are offline, the system falls back to email after your configured delay.
Project Activity Timeline
Every project detail page has an Activity section showing a unified chronological feed: status changes, cert generation, cert delivery, invoice creation, payment receipt, file uploads, site visits, hold events, and messages. Filter by type (All / Messages / Events / RFIs / Files) to focus on what matters.
Friday Command Interface
The ask friday action in any conversation’s compose bar gives you Friday’s Internal voice (Opus model, full tools). Friday’s responses are visible to the entire team. You can issue natural language commands:
- “Approve this cert” — executes the approval from within the conversation
- “Schedule a visit for next Tuesday” — creates the site visit
- “What is the invoice total for this project?” — queries financial data
- “Flag this as an urgent RFI” — converts the conversation to an RFI with priority
Friday Intelligence Tiers
Friday operates on three intelligence tiers, each escalating in capability:
| Tier | Capability | What It Does |
|---|---|---|
| 1 — Query Engine | query_data + describe_schema | Structured queries against Supabase with table/column allowlists. Friday discovers what data exists and queries it without writing SQL. Supports null-aware filtering (e.g., “not invoiced” catches both blank and explicit values). |
| 2 — SQL + Cross-System | run_sql + query_stripe + query_calendar | Read-only SQL via Supabase RPC (SELECT only, 5s timeout, 100-row limit). Cross-system queries to Stripe (invoices, payments, subscriptions) and Google Calendar (schedule). Financial columns redacted for non-privileged roles. |
| 3 — Write Actions | 6 capabilities | Modify schedule (create/reschedule/cancel visits), send certs and invoices, send WhatsApp messages, approve certs inline, and render charts. All write actions use a two-phase preview/confirm pattern with 60-second confirmation tokens. |
Friday Visualizations
When you ask Friday to chart, graph, or visualize data, it renders directly in the thread — no external tools needed. Three rendering tiers are available:
| Tier | Renderer | Chart Types |
|---|---|---|
| Tufte SVG | Inline SVG, Tufte-styled | Bar, horizontal bar, line, sparkline, dot plot, pie, donut, gauge, stacked bar, grouped bar, area, scatter |
| Recharts | Interactive React charts | Bar, line, area, pie, radar, scatter, composed, treemap, funnel — with tooltips, legends, and animations |
| Sandbox | Sandboxed iframe | Arbitrary HTML/SVG/JS — custom dashboards, infographics, complex layouts. Tufte CSS pre-injected. No network access (fully isolated). |
All visualizations follow Edward Tufte design principles: no gridlines, no chartjunk, muted earth-tone palette, high data-to-ink ratio, data labels where appropriate.
/commands, /revenue) are free — they do not count against the rate limit.
SLA Monitoring
Each conversation tracks first response time and resolution time. Color indicators (green / yellow / red) show SLA status based on priority tier. The Morning Briefing shows open conversations, unanswered messages older than 4 hours, and RFI chats aging beyond 3 days — all linking to the Projects page where red dots guide you to the right projects. The Pipeline Shepherd flags projects with unanswered messages older than 24 hours and stale assignments older than 48 hours in the daily WhatsApp summary.
| Term | Definition |
|---|---|
| SOW | Scope of Work — the list of inspection items for a project. Each line item corresponds to a specific building code check (e.g., foundation, waterproofing, drainage). |
| RFI | Request for Information — a formal request from UP to a client (Agent RFI) or from a client to UP (Client RFI) asking for missing data, photos, or clarification. Pauses the SLA clock. |
| SLA | Service Level Agreement — the commitment to deliver a cert + invoice within 3 business days of the final inspection. The clock pauses during open RFIs. |
| Cert Package | The formal certification document (PDF) that confirms a project meets building code requirements. This is what clients need to obtain occupancy permits. |
| Drive Log | Field data collected during inspection — PSI readings, torque values, and other measurements that go into the cert package. |
| PSoW | Pre-drywall Scope of Work — inspections performed before drywall is installed (foundation, waterproofing, framing checks). |
| ABSoW | Above-drywall / Behind-wall Scope of Work — inspections performed at later stages (structural verification, final grading, water management). |
| Branch | A client organization or builder that uses UP’s services. Projects are grouped by branch. Each branch has schedulers and a GOA. |
| Account | The billing entity for a group of projects. An account may span multiple branches or be 1:1 with a branch. |
| Triage | The process and team handling projects that have aged past 45 days since their last inspection. Triage takes over from the original scheduler. |
| Work Pool | The queue of post-inspection projects awaiting review and cert/invoice drafting. Jacob claims and works items from this pool. |
| GOA | General Operations Administrator — the branch-level manager who has visibility into all projects for their branch. |
| Trip Charge | An additional fee for emergency inspections or missed appointments. Assessed per the fee schedule and added to the project invoice. |
Portal URLs
| Domain | Purpose |
|---|---|
| unlikely.works | Primary portal (all roles) |
| unlikely.management | Alternate portal domain (all roles) |
Key Actions & Where to Find Them
| Action | Where |
|---|---|
| Review queued certs/invoices | Owner Review Queue (/owner-review) |
| Approve a queued item | Owner Review Queue → open item → Approve |
| Request revision | Owner Review Queue → open item → Request Revision (with notes) |
| View Jacob’s direct sends | Cert Pipeline → Send tab (audit trail) |
| View all projects | Projects (sidebar) |
| Approve intake | Action Center → Intake tab (/actions?tab=intake) |
| Approve schedule changes | Action Center → Schedule tab (/actions?tab=schedule) |
| Check revenue | Analytics → Revenue by Branch |
| Check SLA | Morning Briefing or Analytics → SLA Compliance |
| Manage users | /admin/users |
| Switch roles | User menu → Role Switcher |
| View audit log | /audit or project detail → Audit Trail |
| View calendar | Calendar (sidebar) |
| Check system health | Admin → System Status |
Who Handles What
| Person / Role | Responsibilities |
|---|---|
| You (Dustin) | Owner Review Queue (guardrail + flagged items), user management, system oversight, escalation endpoint |
| Jacob (Admin) | Post-production review, cert/invoice drafting + direct send (confident), queue for review (uncertain), RFI management, intake approval, payment reconciliation |
| Darius (Inspector) | Field inspections, photo/data collection, WhatsApp field reporting |
| Schedulers | Project intake, scheduling, client communication, schedule change requests |
| GOAs | Branch-level oversight, invoice receipt for their branch |
| Triage Team | Aged project (45+ days) close-out and resolution |
/owner-review), and approve or request revision on everything there. Jacob handles the rest directly. The Pipeline Shepherd will WhatsApp you if anything else needs your attention.