University of Michigan · School of Social Work

Faculty Policy Navigator
open previewsnapshot 2026-07-17About

Performance

Lightweight pages, fast static content, LLM answers gated by upstream model latency Last measured 2026-07-17.

Bundle sizes

102 kBShared JScached across all routes
34 kBMiddlewareruns at the edge
First-load JavaScript per route, gzipped, production build.
RouteFirst-load JS
/ask122 kB
/browse110 kB
/evaluation106 kB
/policy/[id]106 kB
/about106 kB

First-load JS per route (gzipped, production build). The shared 102 kB is the React/Next runtime; page-specific code is small because Browse and Reports render from static JSON.

Page-load metrics

92 msDOMContentLoadedDOM ready
261 msFull loadall resources

Measurement conditions. Measured on the Reports page via the Navigation Timing API (local dev server). Production is smaller (minified) and served from Vercel's edge CDN, so real-world loads are typically faster.

RAG answer latency

4.2sp50 (median)end-to-end
8.1sp90tail latency

Pipeline. embed query (OpenRouter Qwen) → source-balanced hybrid retrieval (Postgres) → Jina rerank → deepseek-v4-flash generation (streamed token-by-token)

End-to-end answer latency over the 150-question evaluation set. The answer streams as it is generated, so first text appears well before the p50. Latency is dominated by the third-party generation model, not the app.

Architecture

Reproducibility. Bundle figures come from the production next build output; page-load timings from the Navigation Timing API; RAG latency from the 150-question evaluation set. Hover any underlined term for a plain-language definition.