Shipping
Jul 16A11yReadyFive reliability fixes closed the gaps a large hands-on review exposed — each shipped…Jul 15A11yReadyA hands-on review of a 41-document batch — spanning new document types the pipeline…Jul 13A11yReadyMeasurement you can trust, plus a reviewer loop that actually learns. A new…Jul 11VantageURL/tab root-cause fix — every editreferral test 404-ed since inception. +298 net…Jul 9Civic SentinelRenamed to Civic Sentinel; the presentation now carries a live nightly metrics strip…Jul 6A11yReadyThe self-improving loop now closes on formatting — the pipeline's single biggest…Jul 6VantageVision extractor + sweep-CLI + Tier 1 production hardening — three shippable wins in one…Jul 6VantageQ-SEED-1 closed on the role axis: 23 of 23 authoritative UCR roles pinned in the seed…Jul 4A11yReadyThree grounded forms fixes shipped from a full pass over the Advisor's hand-fix backlog.…Jul 4A11yReadyThe Pipeline Advisor's Insights board was redesigned around one honest number. It…Jul 16A11yReadyFive reliability fixes closed the gaps a large hands-on review exposed — each shipped…Jul 15A11yReadyA hands-on review of a 41-document batch — spanning new document types the pipeline…Jul 13A11yReadyMeasurement you can trust, plus a reviewer loop that actually learns. A new…Jul 11VantageURL/tab root-cause fix — every editreferral test 404-ed since inception. +298 net…Jul 9Civic SentinelRenamed to Civic Sentinel; the presentation now carries a live nightly metrics strip…Jul 6A11yReadyThe self-improving loop now closes on formatting — the pipeline's single biggest…Jul 6VantageVision extractor + sweep-CLI + Tier 1 production hardening — three shippable wins in one…Jul 6VantageQ-SEED-1 closed on the role axis: 23 of 23 authoritative UCR roles pinned in the seed…Jul 4A11yReadyThree grounded forms fixes shipped from a full pass over the Advisor's hand-fix backlog.…Jul 4A11yReadyThe Pipeline Advisor's Insights board was redesigned around one honest number. It…
All Projects

File Intelligence Platform

Drupal-Aware Site Intelligence for multco.us

Python 3.11FastAPIReact 19ViteTailwind 4Vertex AIClaude Sonnet 4.5Gemini 2.5 FlashPlaywrightaxe-corePandasGoogle Cloud RunCloud BuildCloud Storage
57K
Files Classified
10K
Pages Crawled
92%
Xingwu Agreement

Platform Screenshots

multnomah-county-accessibility.app
Platform Home — Daily Briefing

Operator-friendly home: 56,961 files tracked, 9,844 pages audited, 94 Site Health, 0 in remediation queue — plus a daily AI-generated executive briefing on the most critical findings (in this case, 35,270 duplicate copies of generic.png consuming 2.2 GB)

multnomah-county-accessibility.app
Files Inventory — Drupal-Aware

Every file linked back to its Drupal node, uploader, department, and live page references — surfaces orphans, duplicates, and ownership gaps the County had never seen before

multnomah-county-accessibility.app
Services View — Intent-Classified Pages

Pages grouped by what citizens actually do on them — apply, transact, inform, contact, find — classified by Gemini 2.5 Flash from page content and URL patterns

multnomah-county-accessibility.app
Service Map — 12 Service Intents Across 9,845 Pages

2,143 service pages identified across the site, grouped into 12 service intents (Apply for Something, Request Something, Submit Something, Book/Reserve, Check Eligibility, etc.) — the structural map of how the site actually serves residents

multnomah-county-accessibility.app
Policies Engine — Custom Editorial Rules

Editor-facing policies engine: rules stored in JSON, rendered in plain English, editable per department — example: "no PDFs in /forms/" — the platform's custom-rule layer that off-the-shelf SaaS tools don't have

Overview

Custom site-intelligence platform giving Multnomah County a single coherent picture of every file and every page on multco.us — measured nightly, scored honestly, routed to the person who can fix it. Six-bucket File_Status classification (CONNECTED · EMBEDDED · UNPUBLISHED_ONLY · NOISE_ONLY · ORPHAN_MEDIA · ORPHAN_FILE) is deterministic, not ML-based. A section-overview navigation (Home · Files · Pages · Services · Workbench · Departments) sits over a 10-module audit pipeline. An Analytics page with 8 tabs (Overview · Duplicates · Cross-Tab · Mismatches · Distributions · Languages · Images · Hotspots · Diagnostics) consolidates deep-insight views that used to live in three separate sections. A Validation page cross-checks the platform against Xingwu's independent PHP audit (92.3% agreement on 33,738 UUIDs) and the monthly Siteimprove snapshot — proving accuracy against external sources. Editor attribution means every file has an uploader and every page has an editor; "Mine" toggles on every report card let staff focus immediately. Per-department 30-day Health-score sparklines show trend direction at a glance. Vertex AI runs Claude Sonnet 4.5 for the Ask Agent + Citizen Journeys, and Gemini 2.5 Flash for the Service Scout classifier + the daily executive narrative. Min-instances=1 on Cloud Run + a RouteErrorBoundary in the React shell — no more cold-start lag, no whole-app crashes on a single page error.

Impact & Results

56,500
Files Classified
every nightly run, across 30 departments
9,900
Pages Crawled
with WCAG 2.1 AA axe-core scoring
92.3%
Xingwu Agreement
validated against independent PHP audit (33,738 UUIDs)
10
Audit Modules
a11y, SEO, links, performance, PII, spelling, more
6
File Buckets
deterministic classification (no ML guesswork)
30
Departments Scored
per-department 30-day health sparklines

Key Features

Six-bucket File_Status classification (CONNECTED · EMBEDDED · UNPUBLISHED_ONLY · NOISE_ONLY · ORPHAN_MEDIA · ORPHAN_FILE) — deterministic, not ML
Validation against Xingwu's independent PHP audit (92.3% agreement on 33,738 UUIDs) + monthly Siteimprove reconciliation
Section-overview UI (Home · Files · Pages · Services · Workbench · Departments) with collapsible sidebar and per-section overview pages
Analytics page with 8 tabs — merged Deep Insights + Visualizations into one navigation surface in June 2026
Editor attribution: every file has an Uploader, every page has an Editor — "Mine" toggles on every report card
Per-department 30-day Health-score sparklines with trend direction at a glance
Dictionary editor for misspellings allowlist (181 proper-noun overrides shipped → 35,413 misspellings, down from 45,856)
Vertex AI: Claude Sonnet 4.5 (Ask Agent, Citizen Journeys) + Gemini 2.5 Flash (Service Scout + daily executive narrative)
Cloud Run min-instances=1 + RouteErrorBoundary — no cold-start lag, no whole-app crashes on a single page error