Liza: An Intelligent Running Assistant

Liza: An Intelligent Running Assistant

As runners, we spend a ridiculous amount of time app-juggling. We check the weather app to see the temp, open Strava to look at a route, switch to another site to check our heatmaps, and maybe glance at a training plan to see what we’re actually supposed to be doing today. It sucks.

Also, knowing it’s 80 degrees out isn’t enough. Is it a dry 80, or is the dew point sitting at a swampy 72 degrees? Will I be baking on exposed asphalt, or running under tree cover? I talked previously about a smart fitness and weather tool, but I want even more.

I don’t want to rely on three different apps just to plan a Tuesday morning run. I want a single, smart tool that understands local conditions and my personal exploration goals.

LIZA

We need to build a lightweight, personal assistant app. I’m calling it L.I.Z.A.—the Localized Itinerary & Zonal Assistant. (Named after my mom, because you need someone looking out for you).

I want to look at the weather, where I haven’t run yet, and have a daily plan.

Personal Gamification via Hexagons

Running the exact same neighborhood loop every day leads to burnout. I want to incentivize myself to explore new streets and trails.

The H3 Hexagonal Index

Our database will use Uber’s open-source H3 spatial index. Hexagons mirror natural human movement, and look fun. By syncing my historical Strava data, LIZA will map out my personal “Fog of War.”

Exploration Routing

Using open-source routing software (like OSRM), LIZA can look at my current hex map and intentionally plot an 8-mile route that clips 3 or 4 “unvisited” hexes near me. It turns the daily slog into a personal completionist game without needing a massive multiplayer user base.

Actionable Environmental Rules

Most weather apps just dump data on you. I need an app that interprets the data and makes decisions for me based on simple, hardcoded runner logic.

The Dew Point Threshold

Dew point is the ultimate dictator of runner misery. LIZA will pull the morning forecast. If the dew point is projected to cross 68°F by 8:00 AM, the app will flag the morning as “High Risk” and automatically suggest a route that starts earlier.

Wind Logic

If there’s a sustained wind over 12mph, LIZA will attempt to generate an out-and-back or loop route that heads into the wind for the first half, ensuring I get a tailwind on the exhausted run back home.

The Drizzle vs. Downpour Dilemma

A “60% chance of rain” is useless context. Is it a refreshing mist or a biblical flood? LIZA will parse localized precipitation rates. If it’s a light drizzle on a warm day, she green-lights the run as nature’s air conditioning. If it’s a torrential downpour with lightning strikes, she tells me to stay in bed or hit the treadmill.

The AQI Veto

Running through wildfire smoke or thick city smog isn’t a badge of honor; it’s just bad for your lungs. If the Air Quality Index (AQI) creeps above a hazardous threshold (like 100+), LIZA acts as the voice of reason and will proactively suggest shifting my outdoor run to an indoor session or a rest day.

Black Ice Avoidance

In the winter, crossing the freezing mark overnight means yesterday’s puddle is today’s fractured tailbone. If temperatures drop below 32°F after a rainy day, LIZA will actively route me away from shaded, paved trails (where ice lingers longest) and prioritize treated roads or dirt paths with better traction.

The Shade Finder

Trying to calculate real-time 3D tree shadows based on the sun’s position is a nightmare.

OpenStreetMap (OSM) Metadata

Instead of calculating shadows, LIZA will use the metadata already present in OpenStreetMap. OSM users tag map areas with things like natural=wood, leisure=park, or even surface=dirt.

The Summer Routing Bias

During the summer months, LIZA’s routing algorithm will heavily weight paths that intersect with these “green” OSM polygons. It’s a highly efficient, lightweight way to guarantee a route passes through local parks, wooded trails, or greenways rather than baking on four-lane concrete highways.

Putting It All Together

From an architecture standpoint, this can all run on a simple Python backend with a PostgreSQL database to store my hexes. Every morning, a script will run and send me a simple push notification with a few options to download.

“Good morning! AQI is a crisp 42, but the dew point hits an ugly 72°F at 8:30 AM, so get out early. Here are two options for a ~9 mile run today:”

Option 1: The Wooded Out-and-Back
An 8.8-mile route plotted heavily through the local park system (OSM Wooded tags). You’ll be heading directly into the 12mph west wind on the way out, and it’ll push you home on the way back.

Option 2: The Hex Hunter
A 9.2-mile loop routing you into the east subdivision. You’ll have less tree cover, but this route knocks out 6 unvisited H3 Hexes to expand your map.

Each option includes a simple GPX file link that I can tap and send straight to my watch.

By leveraging existing open-source map data, standard weather APIs, and simple logic rules, we can build a tool that actually respects the realities of local running. No more guessing, no more app fatigue. Just download the route, lace up, and go.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *