lfpweather.com provides hyperlocal weather observations, air quality monitoring, bird species detection, and environmental data for the Lake Forest Park, Washington area. All data is collected from sensors deployed at a single residential observation site and served in real-time.
The station is built around three primary sensor platforms, each serving a distinct role in the observation pipeline.
Davis Vantage Pro 2 Plus
Professional-grade weather station providing core meteorological observations. The Plus package includes a solar radiation sensor and UV index sensor in addition to the standard temperature, humidity, pressure, wind, and rain suite.
AirGradient Outdoor
Dedicated air quality monitor measuring particulate matter, carbon dioxide, volatile organic compounds, and nitrogen oxides. Provides AQI, CO₂, TVOC, and NOx readings for comprehensive atmospheric quality assessment.
Solar-Powered BirdNET-Pi
A Raspberry Pi running the BirdNET neural network for real-time bird species identification via audio analysis. Deployed on solar power for continuous 24/7 operation. Detections are aggregated into rolling 24-hour species counts.
The following measurements are collected and available as both current readings and 7-day historical trend charts.
Davis Vantage Pro 2 Plus
| Measurement | Unit |
|---|---|
| Temperature | °F |
| Humidity | % |
| Barometric Pressure | inHg |
| Wind Speed | mph |
| Rain Rate | counts/hr |
| 24-Hour Rain Totals | in |
| Solar Radiation | W/m² |
| UV Index | index |
AirGradient Outdoor
| Measurement | Unit |
|---|---|
| Air Quality Index (AQI) | index |
| CO₂ Concentration | ppm |
| TVOC Index | index |
| NOx Index | index |
BirdNET-Pi
| Measurement | Unit |
|---|---|
| Species Detection Count | detections/24h |
The data pipeline is built entirely in Go, with purpose-built applications handling sensor ingestion, data normalization, and API serving.
Collection
Go applications poll each sensor platform on regular intervals, handling protocol translation and data normalization before writing to the database.
Storage
All time-series data is stored in TimescaleDB, a PostgreSQL extension optimized for time-series workloads. This enables efficient querying for both real-time readings and historical aggregations.
Serving
A Go API layer serves data to this Next.js frontend. External integrations include NWS forecasts, ElectricityMaps power grid data, and RaspberryShake seismic observations.