CARVIEW |
Select Language
HTTP/2 200
date: Fri, 10 Oct 2025 18:50:15 GMT
content-type: text/html; charset=utf-8
cache-control: s-maxage=300, stale-while-revalidate
content-encoding: gzip
content-security-policy: default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://cdp.customer.io https://*.ads.linkedin.com https://cdn.linkedin.oribi.io https://www.redditstatic.com https://pixel-config.reddit.com https://observablehq.observablehq.cloud https://*.gist.build https://*.vector.co https://*.ip-api.com https://d-code.liadm.com https://*.usbrowserspeed.com; font-src https://observablehq.com https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com https://challenges.cloudflare.com data: blob: https://*.gist.build; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://avatars-next.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://alb.reddit.com https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://observablehq.com https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-O8YyK1zMiyl29Qajpzk/a7P9suyXs2Vt4lnEuULjXEY=' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' 'sha256-g7o+8EOFBiI0+GgtiBaQ0yy0tWJ7XM5PfA6GFm61bw8=' 'wasm-unsafe-eval' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com https://www.redditstatic.com https://challenges.cloudflare.com https://observablehq.observablehq.cloud https://*.gist.build https://*.vector.co https://*.ip-api.com https://d-code.liadm.com https://*.usbrowserspeed.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com https://*.gist.build 'unsafe-inline'; worker-src https://observablehq.com
etag: "b165ub3ln92ohr"
nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
report-to: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Y%2FDtdHuiTR7WAP6%2BdiDpyl1mhKbSGVbpmBvIw256WwY%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1760122215"}],"max_age":3600}
reporting-endpoints: heroku-nel="https://nel.heroku.com/reports?s=Y%2FDtdHuiTR7WAP6%2BdiDpyl1mhKbSGVbpmBvIw256WwY%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1760122215"
server: cloudflare
strict-transport-security: max-age=86400; includeSubDomains
vary: Accept-Encoding
via: 2.0 heroku-router
x-nextjs-cache: HIT
x-powered-by: Next.js
cf-cache-status: MISS
cf-ray: 98c84d62af2a5ace-BLR
Data visualization and exploration best practices | Observable blog
Observable blog
Resources and insights to help you collaborate and communicate with data
Latest release note •
Dashboards and controlsBuilding a better approach to dashboards in Observable Canvases
In Observable Canvases we’re building a new way to build dashboards that keeps your data workflow in one place, brings interactive charts to your fingertips, and consolidates collaboration to cut down on tedious back-and-forths. Learn how we’re doing dashboarding, differently, in canvases.
Allison Horst •