v0 prototype · public data only

Find the ground.
Under the canopy.

Bedrock is a cloud-native LIDAR ground classification pipeline tuned for the failure case nobody else solves well: dense Southeast US canopy with sparse ground returns. Browser-first QC, COPC-streamed, surveyor-built.

The problem

Every other tool floats the ground 0.5–2m high under heavy canopy.

Geometric filters (CSF, PMF, Axelsson TIN-densification) all share one failure mode: they assume "lowest local point = ground." In dense pine plantation, hardwood, cypress swamp, or kudzu, the lowest local point is often a root buttress or low understory. The DTM floats high and looks like a checkerboard of bumps. Surveyors spend 15–40 hours per heavy-canopy tract cleaning that up in LP360 or TerraScan.

15–40h
manual cleanup / heavy-canopy tract
at $75/hr loaded = $1.1K–3K per job
5–15%
ML IoU lift on dense forest
PTv3 + Sonata pretraining
$0
R2 egress vs $0.09/GB AWS
structural margin advantage
18–36mo
window before incumbents catch up
GeoCue AI Ground+ announced 2026
What v0 ships

The scaffold. Streaming public data. No upload, no ML, no auth.

v0 is the spike: prove the COPC-from-R2 → CesiumJS streaming architecture works, anchor the brand and UX, get a real lidar dataset rendering in a browser. The real pipeline lands in Phase 1.

Why this stack

COPC + R2 zero-egress + CesiumJS terrain — built for 1B+ point streaming.

Cloud Optimized Point Cloud is a valid LAZ 1.4 file with octree indexing baked in. Range-read from Cloudflare R2 with $0 egress. CesiumJS handles the terrain context and mobile rendering. The viewer streams what's in frame, not the whole file. A 50 GB tract opens on an iPad.

R2 zero-egress

$0.015/GB-month storage, $0 egress. A 500M-point LAZ at 1.5–3 GB streams free. AWS would eat your margin at $0.09/GB.

COPC is the format

Won the streaming format war by 2024. USGS 3DEP, OpenTopography, IGN France, Sweden, NZ all standardized. Also a valid LAZ — every CAD reads it.

PTv3 + Sonata

Current SOTA on every outdoor benchmark, with self-supervised pretraining that cuts labeling needs 3–10×. Fine-tunes from a checkpoint in 4–8 hrs on an A100.

Append-only edits

QC edits stored as sparse Parquet delta, never rewriting the source COPC. Free undo, audit trail, PLS-signable history, 100× cheaper I/O than tile rewrites.

Roadmap

Phase 0 → SaaS in five gates.

Every phase has a verifiable demo and a go/no-go gate. The internal-tool ROI is the floor. The SaaS upside is the option.

0

Spike 2 weeks v0 shipped

PDAL → CSF → COPC pipeline, public-data CesiumJS viewer, brand & scope landing site. Gate: pipeline runs end-to-end.

1

Internal pipeline 6 weeks next

Job queue (D1), upload UI, DO GPU droplet running CSF + baseline ML, COPC+DTM+contours export. Gate: first paid Weygand job through.

2

QC viewer 8 weeks next

Potree v2 embed, delta-edit layer (brush + polygon + undo), export with merged edits. Gate: in-house tech replaces LP360 on a real job.

3

ML model 10 weeks next

PTv3 fine-tuned from Sonata, trained on 20+ Weygand tracts. A/B vs SMRF/CSF on 20 jobs. Gate: ≥95% canopy IoU AND ≥$30K/yr internal savings.

4

Customer SaaS 8 weeks next

Multi-tenant auth, Stripe billing, share links, mobile viewer, Trimble Connect push. Gate: first paying customer outside Weygand.

Phase 0 decision gate (you are here)

Real Weygand flights pushed through PDAL+Cesium. Measured against LP360 baseline. Two weeks, ~$500 in compute, real numbers instead of speculation.