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. You can browse record highs and lows, or ask the station questions in plain language from the bar at the top of the page.
Beyond the live dashboard, two tools help you dig into the station's data.
Records
Record high and low readings for every metric, across the current day, week, month, year, and all time. Browse past periods to see each extreme and when it was set. Served from a cached endpoint that recomputes only as new data arrives.
Ask lfpweather
A conversational assistant, in the top bar, that answers questions about current conditions, history, records, air quality, and bird detections. Replies stream from a Claude model that reads the station through a Model Context Protocol (MCP) server, with each conversation isolated in its own sandbox.
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.