What is this?
This is an in-browser Exploratory Data Analysis (EDA) tool built to let you quickly visualize and query tabular data without installing any software. Everything runs locally in your browser — no data is ever uploaded to a server.
Charts, aggregations, and SQL queries are all powered by DuckDB-WASM, a full analytical database engine running entirely inside the browser tab. DuckDB initializes automatically in the background when you open the page — the status indicator next to the About button shows when it is ready.
Preloaded Datasets
Four datasets are preloaded and ready to use from the Dataset dropdown. They are sourced from the Kentucky Transportation Cabinet TRAK system, cached in your browser so subsequent loads are instant:
- Bridge Condition & Owner Area — bridge inventory and condition ratings by owner and geographic area
- Construction Procurement — awarded construction contracts by district
- Current Enacted Plan — current enacted highway plan including funding allocations
- Program Management Authorized (Detailed) — authorized dollars by project phase, cost, and schedule
Charts
Use the Dimension, Metric, Aggregation, Split By, and Order controls to configure the chart. Supported aggregations are Count, Distinct Count, Sum, Average, Min, and Max. Chart types include Horizontal Bar, Vertical Bar, and Pie. Click a bar or slice to filter the data table below to matching rows.
Share State
Click Share under the About button to copy a URL that includes your current dashboard selections (dataset, chart type, dimension, metric, aggregation, split, and ordering). Opening that link restores the same state for preloaded datasets, while normal use of the app continues on the clean base URL without persistent query-string parameters.
Dataset Catalog
Click the Catalog button to browse all available datasets. Each entry shows a description, record count, last-cached date, and an expandable Schema panel listing every field with its DuckDB-native data type (VARCHAR, BIGINT, DOUBLE, DATE, etc.) and dimension/metric classification. User-imported datasets also appear here.
Adding Your Own Data
Load your own data file and query it alongside the preloaded datasets. Click + Add Source at the top of the Catalog or SQL sidebar panel. Three formats are supported:
.csv — comma-separated values; headers auto-detected
.parquet — columnar binary format; registered directly in DuckDB for full type fidelity
.geojson / .json — GeoJSON FeatureCollections; feature properties become table columns; Point geometry coordinates are extracted as _lat and _lon for use in the Map tab
Choose From URL to point to a publicly accessible file (CORS required), or Local File to upload directly from your computer. Give the source a short table alias — this becomes its SQL table name — then click Add & Load. The source is registered in DuckDB and persisted in your browser’s IndexedDB so it survives page refreshes.
User-added sources are stored entirely in your browser and are never sent to any server. They appear in the Catalog, the Dataset dropdown, and the SQL sidebar. To remove a source, click the × next to it in the SQL sidebar.
SQL Workbench
The SQL tab gives direct access to the DuckDB-WASM engine. Join your own data against preloaded datasets, filter, aggregate, and export results to CSV — all without a backend. Use Ctrl+Enter to run a query.
Source Code
This application was built entirely with AI. The project is a deliberate demonstration that a complete, working app can be developed 100% through AI-driven implementation, with the human role limited to direction, prompting, testing, and evaluation rather than hand-editing code.
The code for this project is available on GitHub. View the code, follow development, or report issues here:
github.com/chrislambert-ky/analysis-eda-tool