product · sparc desktop

Seven stages. Scroll the pipeline.

SPARC is a Tauri/React desktop app wrapped around one thing: a seven-stage neural pipeline with built-in causal inference. Bring your own data, watch each stage open as you scroll, and finish with a report shaped for who's reading it.

Drop in rasters, shapefiles, GeoJSON boundaries, parquet tables, or a project.yml — SPARC reprojects, resamples, and clips them to your study area without ever phoning home. Pull in canopy, impervious, parcels, permits, and equity layers, then pin the whole thing to a single manifest.

formats
GeoTIFF · Shapefile · GeoJSON · Parquet · CSV · NetCDF
transforms
reproject · resample · clip · rasterize · join
boundaries
tracts · blocks · districts · custom polygons
manifest
project.yml · sha-pinned · regenerable
ingest · drop zone
5 of 5 · ready
rasterlst_summer_2024.tif✓ parsed
vectortracts_phl.shp✓ parsed
boundarycity_boundary.geojson✓ parsed
tablepermits_2018-2024.parquet✓ parsed
manifestproject.yml✓ parsed
reproject
EPSG:4326 → EPSG:3857
resample
bilinear · 30m grid
clip to
city_boundary.geojson

Before fitting any model, SPARC maps how tightly each variable clusters in space — measuring the distance at which two locations stop influencing each other. That range shapes every downstream step.

measures
clustering strength · direction · distance scale
tested at
many distance intervals · with significance checks
range
auto-detected from the data · overridable
feeds into
model training · validation splits · scenario engine
correlogram · spatial autocorrelation
lag 0 → 5 km
+0.70.00 km5 km
moran's I
0.74 · p < 0.001
geary's C
0.31
range
≈ 1.4 km · isotropic

This stage sweeps a local statistical model across every location — stripping noise and identifying which variables carry a real signal in each neighborhood. Only the meaningful ones move forward, with their direction of effect preserved.

approach
local regression · noise suppression · fully tunable
neighborhood
each location weighted by proximity to its neighbors
selection
cross-validated · tested for stability across runs
passes forward
meaningful variables + their effect directions
gwen · elastic-net selection
α 0.7 · 14 of 38 retained
pct_canopy
−0.62
impervious_pct
+0.81
bldg_height_p90
−0.18
albedo_mean
−0.44
median_income
−0.21
road_density
drop
elev_std
drop
wind_z_mean
−0.27
kernel
adaptive bisquare · bw 1.2 km
λ (cv)
0.038 · 5-fold

The core SPARC stage: a neural model trained at every location simultaneously, with effect directions locked to what the previous stage found and physics enforced at every checkpoint. If a result violates either, it doesn't advance.

structure
8 independent model runs · per-location predictions
training
guided sampling · stops when fit is good enough
guardrails
effect directions locked · physical laws enforced
runs on
GPU · Apple Silicon · standard CPU
sparc · neural train
GW3C · 8 chains · CUDA
lossχ²epoch 040
val χ²
0.93 · target < 1.2 ✓
σ̄
0.154
physics
monotone signs honored

Causal structure is explored, not assumed. SPARC searches the space of valid cause-and-effect maps that fit your data, then builds a probability distribution over which connections are most credible. Every link is auditable.

search
explores all plausible cause-and-effect structures
confidence
8 runs · 2,000 samples each · fully converged
review
accept · reject · flip · constrain · annotate
exports
connection log · confidence charts · what-if API
causal · MC³ + NUTS
412 sampled · R̂ 1.01
DAG · model space (MC³)
canopyimpervalbedowindAAT_z
posterior trace · NUTS
edges accepted
41 of 56 · 3 in review
chains
8 · 2k samples · warmup 1k
R̂ max
1.01 ✓

Push the model with real constraints. Set a dollar budget. Toggle equity layers — heat vulnerability, income, canopy access — as inputs the optimizer must honor. Get back a posterior raster, not a single number.

perturbations
additive · multiplicative · masked · optimized
constraints
$ budgets · per-tract caps · equity floors
outputs
mean · σ · diff · counterfactual rasters
compare
side-by-side · paired t · drift map
simulation · scenario
philadelphia · 2026
budget constraint$2.4M / $5.0M
heat vulnerability median income canopy access asthma rate
Δ AAT_z mean
0.26 (σ 0.154)
tracts improved
192 of 287
budget check
✓ within $2.4M

The same run produces three reports: Technical (methods, posterior diagnostics, code refs), Planner (briefs, tradeoffs, equity overlays), and Public (plain-language, before/after, FAQ). Each one ships with a signed manifest so anyone can re-run it.

audiences
Technical · Planner · Public
formats
.pdf · .md · .html · figures · manifest.json
provenance
project.yml hash · stage checksums · build id
branding
agency theme · logo · footer disclosures
report · audience
signed manifest · v0.4.2
preview · planner
Adaptation Brief — District 7
$2.4M canopy expansion across 218 priority tracts is projected to reduce mean afternoon air-temperature by 0.26 °C (σ 0.15). Highest-vulnerability tracts gain the most. Trade-offs and sensitivity tables on p. 4.
mapstradeoff tableequity overlay
.pdf.md.htmlmanifest.json
philosophy · 01

No black boxes.

Every number has a source. Every effect has a direction. Every prediction comes with a confidence range.

philosophy · 02

Physics, not vibes.

The model must respect how heat, water, and air actually behave — or it doesn't run.

philosophy · 03

Reproducible by default.

Every project saves as a single file. Any result can be regenerated exactly, years from now, on any machine.

philosophy · 04

Your data stays yours.

Everything runs on your machine. Nothing is uploaded or shared without your explicit say-so.

under the hood

What's actually running.

frontend
Tauri 2.0 · React 18 · TypeScript
backend
Python 3.12 · local background process
model
geographically-weighted neural · 8-run sampling
geo stack
GDAL · rasterio · GeoPandas
compute
CUDA 11.8 · MPS · CPU fallback
storage
DuckDB · parquet · GeoTIFF
ai assist
Claude Sonnet 4.6 · bring your own key
license
AGPL · open core

Ready to run the pipeline?