Find where mushrooms are likely fruiting — a foraging forecast for Washington, from weather, ecology & millions of observations.
Stars rate the hunting this month like a ski report; the dot rates how much to trust the map (high / mod / low). Tap a card to shade its ground; hover for the best week, spots, habitat & how to cook it.
Hide ground too steep to reasonably walk; it sharpens to real terrain as you zoom in.
Draw your own routes — they stay put on terrain or satellite. Click to drop points; double-click or Finish to complete. Tap a finished trail for its length or to delete it.
SporeCast is an ecological forecast — it reads decades of real finds and the conditions around them to estimate where and when mushrooms are likely fruiting. Everything below is built automatically from open data — pooled from three observation networks and roughly a dozen environmental sources. No manual entry.
Presences are pooled from three networks — iNaturalist, GBIF, and Mushroom Observer — de-duplicated, and weighted by how confidently each was identified. Each open source is then sampled at every point on a dense Washington grid (densified in steep terrain, where habitat changes fast) — and at every real sighting — producing ~55 environmental features, including soil chemistry, the actual forest type (Douglas-fir vs. hemlock vs. pine…), and a 10 m satellite fingerprint of the ground itself. A habitat model learns where; a weather-aware fruiting calendar learns when; multiplied together, they become the map you explore.
There's a catch buried in any pile of nature sightings: they mark where people went as much as where mushrooms grow. A model trained naively would happily learn that chanterelles love roadsides and trailheads — because that's where they get logged. SporeCast corrects for this the way ecologists do. It draws its "what's available out there" comparison points not from a blank grid but from where foragers actually search (a target-group background — built from every research-grade fungus logged in Washington, a dense map of foraging effort), so the bias sits on both sides of the comparison and cancels. It also thins clustered finds so a single heavily-photographed patch can't outvote a quiet productive forest. What's left is a signal about habitat, not foot traffic.
Most of these mushrooms are mycorrhizal — locked in partnership with particular trees, so the single biggest clue to where they fruit is which forest a spot actually is. SporeCast reads the real forest community at every point from LANDFIRE vegetation mapping — Douglas-fir, western hemlock, Sitka spruce, ponderosa pine, true firs, hardwoods — not just "conifer or not." A few species lean on a second organism, and the model leans with them: the lobster mushroom, a parasite, is held to where its Russula/Lactarius hosts can live, and the matsutake is nudged toward ground where the Allotropa "sugarstick" plant — which shares its underground mycelium — is likely to grow. These are signals no amount of weather data can supply.
Climate and forest maps are coarse; the ground itself is not. So SporeCast also reads Google's AlphaEarth satellite embeddings — a model that distills a full year of satellite imagery (optical, radar, thermal) into a 64-number "fingerprint" for every 10-metre patch of ground, capturing its vegetation texture, structure, moisture, and seasonality far finer than any land-cover label. It sharpens the forecast two ways. First, a compressed version of that fingerprint feeds the models directly as extra features — and it earns its place: for nearly every species it ranks among the most important predictors, and for the landscape morel it's the single strongest one. Second, it powers a "lookalike" search — take the fingerprints of a species' real finds and score every patch of Washington by how much it looks like that habitat on the ground, like reverse-image search for forest. Tick Focus on lookalike terrain and the map tightens onto exactly those matching stands — or Lock to known niche for a stricter screen that draws a boundary around the fingerprints holding the bulk of the real finds and hides ground outside it — self-adjusting, so a specialist keeps 95% coverage and stays tight, while a generalist trades a little coverage to remain a screen that actually excludes ground.
Because a fresh fingerprint is computed every year, SporeCast can also compare this year to last and flag where the land changed — fresh burns, clearcuts, blowdowns. That's the Recent disturbance layer: not a habitat map but a scouting map of ground disturbed in the past year, prime hunting for the morels that flush there the following spring.
For each species we train up to seven different learners to separate the conditions where it has really been found from the range available across the state. A meta-learner then blends them, trusting each in proportion to its cross-validated skill, and calibrates the result so the percentages mean what they say. Skill is checked with spatial block cross-validation (holding out whole regions, block size set from the species' own spatial reach), so look-alike neighbors can't inflate the score.
No single model is right everywhere. The forests carve out sharp local pockets; the logistic and MaxEnt-style models draw smooth statewide curves; the boosting engines chase fine thresholds. Crucially, they make different mistakes — and when you blend diverse models whose errors don't line up, the errors tend to cancel while the real signal reinforces. It's the wisdom-of-crowds effect, applied to models instead of people: the group is steadier than any member.
The blend isn't a plain average, though. A meta-learner weighs each model by how well it actually predicted whole regions it never trained on (spatial block cross-validation), so a learner that overfits a particular species is automatically trusted less for that species. A final calibration step then stretches the blended score so a stated likelihood lines up with the real hit-rate on held-out finds. The payoff is a forecast that's more robust and better-calibrated than any one model alone — most of all for the rare mushrooms, where a single algorithm would be close to a coin toss.
Every species is graded before it ships. Because there are no confirmed "empty" spots — only finds and unsearched ground — SporeCast leans on the Continuous Boyce Index, the standard yardstick for this kind of model, alongside AUC and several threshold metrics. It's a stern test: a species can score a near-perfect AUC yet a middling Boyce, and that gap is exactly what tells you to read its map with more caution. There is also a within-habitat skill score — the same discrimination measured only against forest near that species' own finds. That is the question a forager actually asks: not "is this forest rather than desert?" (easy, and why the headline AUC sits near 0.99 for everything) but "can it pick the good ground out of the surrounding woods?" The models are deliberately trained to weight that harder contrast, which costs a little Boyce and buys roughly a third off the within-habitat error. Each grade comes with a confidence interval (from re-sampling whole regions) and each species' find count, and skill is double-checked two harder ways — training on older years to predict recent ones, and training on one platform's finds to predict another's. The map also carries a per-spot uncertainty signal: where the seven models disagree, confidence is lower.
Predict everywhere, then show only where it's real and reachable. The model scores every cell in Washington — but a hot cell in the middle of Lake Washington, or on a downtown Seattle rooftop, is useless to a forager. So after the model runs, SporeCast screens the surface: open water is masked off entirely (a lake / river / Sound outline, checked at every zoom), and with Public land only on it keeps just the national-forest, BLM, and state DNR land you can legally harvest — dropping cities, private parcels, and the parks where picking is banned. The max-slope slider then trims ground too steep to walk. What's left is habitat that's both likely and huntable. Untick Public land only to see the raw, unscreened model.
Every pooled sighting — iNaturalist, GBIF, and Mushroom Observer — tagged with the environmental features SporeCast learns from.