Emberwell
All builds
Franke Park, Fort Wayne · Community web app

Can I ride right now? One screen that answers it for Franke Park.

Trail conditions for the Franke Park mountain bike loops live in a Facebook group. You find out the dirt is dry when somebody posts, and that post is out of date the next time it rains. I ride there, so I built this. It's free, nobody signs in, and it's live at frankedirt.netlify.app.

To report
Three tapsno account and no typing
Status comes from
Rider reports first, then a weather and soil estimate
Weather
Every 15 minutesrain, soil moisture and soil temperature
Built with
Plain HTML and JavaScript, Netlify Functions, Postgres, Open-Meteo
The Franke Dirt board reading Good to go, with a dirt meter, where the status comes from, the loops and a rain chart
The board on October 4, 2026. The page changes with the weather and the season, so those are fall leaves. The rider reports on these screens are real.
The problem

A post in a Facebook group is only right until it rains again.

Before

  • You scroll the group looking for the last person who rode.
  • The answer is as fresh as that post. It might be from this morning or from Tuesday.
  • If it rained after the post, nothing tells you.
  • One answer for the whole park.

Now

  • One status for each of the five loops.
  • Every status says where it came from and how old it is.
  • A report filed before new rain stops counting on its own, at about a tenth of an inch.
  • When nobody has reported, it estimates from the weather and says it's an estimate.
How it works

Riders first. Weather when nobody has reported.

Open it at the trailhead

There's nothing to download. It opens in the phone's browser, and it's built to load on one bar of signal. Riders report with the "I'm at the trailhead" button.

The idea is a sign at each trailhead with its own QR code, so a scan opens the report screen with that loop already picked. That part is only an idea so far. Nothing is definite, and no signs are posted.

A printable trailhead sign reading Franke Dirt, How's the dirt?, with a QR code for the East Loop
A draft of the East Loop sign. It's an idea only, and none are posted.

Three taps, and no typing

Pick the loop, pick how it's riding, and flag anything in the way. That's the whole report. It takes about ten seconds.

There's no text box anywhere, on purpose. Nobody is watching this thing day to day, so there can't be anything in it that needs a moderator. Each phone gets one report per loop per hour.

The report screen on a phone, with East selected, eight condition tiles from Hero dirt to Snow, and hazard chips
The report screen, with the East Loop picked.

Each loop gets its own answer

A report counts for 12 hours, and newer ones count more. One from inside the park counts one and a half times as much as one from a couch.

A report that doesn't match the weather waits. If one rider says hero dirt an hour after half an inch of rain, the board shows it as one rider's opinion. It takes a second phone agreeing to change the loop.

The five loops on a phone, East Loop, Mid Loop, Goshen, Christmas and Spoons, each with a status, report count and age
Five loops, each with its own status, report count and age.

When nobody has reported, it estimates

Every 15 minutes it pulls the last week of rain, the topsoil moisture and the soil temperature for the park. From those it works out what the dirt is probably doing, and when that should change.

On the day of this screenshot it read: good to go, last rain was 0.29 inches two days ago, should stay dry and fast for the next two days.

The weather panel on a phone, showing 71 degrees, a seven-day rain chart, topsoil moisture and the written estimate
The weather behind the estimate, and the estimate in plain words.
Worth knowing

What it is, and what it isn't.

It isn't official. I ride at Franke, but I'm not part of the group that looks after the trails. The trailhead signs are an idea only, and nothing is definite yet.

It never says a trail is closed. It describes the dirt. Whether to ride is the rider's call, and closures stay with the club and the city.

The estimate hasn't been through a season. It's a model, and I don't know yet how often it's right. Every report gets saved next to what the estimate said at that moment, so I can check it and tune it once there's enough riding to compare against.

It doesn't know who you are. No accounts. Phone IDs are stored scrambled, and your location is never saved. It only keeps whether you were inside the park.

Alerts work without an account too. Tap "Alert me when it dries out" and that phone gets a notification when the loop changes. On an iPhone it has to be added to the home screen first.

What do people keep calling you to ask?

This one answers "is it dry?" A page like it can take a check-in or a request from a phone at your counter or on a job site, with no app and no login. I'm happy to look at yours.

Book a free discovery call