Back to projects
ActiveSolo builderPrivate repo

Fishing Intelligence Agent

A Pennsylvania trout stream intelligence system that combines live gauges, weather, classifications, and geology into explainable fishing reports.

Problem

Useful stream conditions are fragmented across USGS gauges, weather forecasts, PFBC classifications, and local geology. Anglers need a grounded answer, not a pile of raw data.

Approach

I built a deterministic scoring pipeline with shared CLI, API, and web surfaces, then used maps and optional narrative output to make the underlying facts readable.

Outcome

The private project now supports multiple Pennsylvania streams, multi-area handling for the Lackawanna River, ArcGIS-backed trout classifications, limestone overlays, and a test-covered service layer.

Highlights

Deterministic First

The core report is computed before any prose is generated. Gauge readings, weather, thresholds, trout classifications, and geology overlays produce structured facts that can be rendered as CLI text, JSON, web UI, or narrative.

That boundary keeps the system debuggable. If data confidence is low, classification is omitted instead of guessed.

Geospatial Enrichment

The project uses PFBC ArcGIS endpoints for trout classifications and a precomputed limestone overlay from Pennsylvania geology data. A Leaflet map makes the overlap between trout water and limestone geology visible.

Longer streams created real identity problems. The Lackawanna River is split into multiple gauge-backed areas with explicit reach handling instead of pretending one gauge can represent the whole river.

Product Boundary

The project is intentionally Pennsylvania-only. That constraint keeps threshold tuning, source selection, and classification semantics coherent enough to productize.