Forest Explorer
A map that scores forest for mushroom and berry picking, using open Norwegian weather, terrain and forest data.
Try it →Best on a laptop or desktop. It isn’t built for phones yet.

Picking mushrooms and berries was a big part of growing up in Lithuania, and I still go every autumn with my family. I wanted something that could tell me when it's worth going, and roughly where.
Click a point on the map and Forest Explorer scores the area around it. It combines recent weather from MET Norway, terrain from Mapbox, and NIBIO's forest data on tree species, canopy density and land type. The weighting depends on what you're after, whether that's chanterelles, ceps or lingonberries. Each signal can be shown as its own layer, so you can see why a spot scored the way it did.
Judging by this year's harvest, it mostly works. It isn't perfect: one spot scored 0.9 out of 1 but had just been thinned, and had almost no mushrooms. I looked for data that could catch that, but none of the public logging datasets were recent enough to help, so for now the score can't see it.

A few decisions I’m happy with
- When it rained, not just how much. Mushrooms come up several days after rain, not the day after, so the score looks at how long ago it rained as well as how much, and at how fast wind and dry air have dried the ground since.
- Where water collects. Ground that stays damp matters, so the app calculates a wetness index from raw elevation data, working out how water would run downhill and where it would gather.
- Terrain counts more the closer you zoom. From far out, the slope at one point says little about a whole area, so terrain only starts to count when you zoom in, and counts for more the closer you get. The side panel shows the actual weights instead of pretending everything counts equally.
- A quick first answer. The forecast loads fast but rainfall history is slow, so the map shows a first score right away and fills in the rest as it arrives. I also lowered the default search radius to 6 km to make the first load quicker.
- Gaps get explained. National parks and nature reserves are left out with a visible border and a reason, rather than an empty patch that looks like a bug. If a data source is down, the app skips that signal instead of failing.
- Tests against the real services. The end-to-end tests call the real APIs rather than mocks, because the two worst bugs only ever showed up against the live services.
Next: BopBattle