§ D Data Fields Every field · explained

What Bassai
actually tracks.

Most fishing logs record species and weight. Bassai records the conditions that explain the weight — pressure trend, water clarity, tide phase, solunar window, and 40+ more. Here's every field, what unit it's in, and why it matters on the water.

47+ fields per trip
7 data modules
3 gov data sources
Module 01

The Catch

The core record — one row per fish. Time and GPS coordinates come automatically from your photo's EXIF data. Species, weight, lure, and gear are confirmed by AI vision or entered by hand.

Per catch
Speciesfree text
What fish. Free-form text that defaults to Largemouth Bass but accepts any species — smallmouth, spotted bass, crappie, catfish, whatever you're targeting. Not locked to a dropdown so off-species catches don't require extra taps.
Weightlbs
How heavy. Entered manually or auto-suggested by Scale OCR — Bassai reads the digits off your scale photo so you don't have to type them. The suggestion sits in a banner until you confirm it; dismissing it clears the banner permanently.
TimestampISO 8601
Exact moment of the catch. Pulled from photo EXIF when you import a photo; defaults to "now" for manual entries. Drives all hourly weather and solunar lookups — the precision matters.
Locationlat · lng
Precise coordinates of this fish. From photo EXIF GPS tag when available — your camera logs where it was standing when you pressed the shutter. Not stored for manual entries. Sent only to the weather, water-gauge, and reverse-geocoding services that need a location to fetch data near your trip — and nowhere else; never exported, sold, or shared with anyone.
LureAI-detected
What you threw. Bassai's photo AI reads the lure in the frame — color, style, rigging — and suggests a label you can confirm with one tap. Stored as accepted text once confirmed.
GearAI-detected
Rod, reel, or setup visible in the photo. Same vision pass as lure detection. Useful for pattern-matching gear choices against conditions across trips.
Water ClarityAI-detected
Visual read from the photo. The AI estimates whether water in the frame is clear, stained, or murky — a quick cross-check against the gauge turbidity reading.
Notesfree text
Anything the structured fields don't capture. Retrieve bait, erratic retrieve, specific bank structure, snag pattern. Searchable across your log.
Lure and gear detection runs through a privacy-preserving cloud pass — no raw GPS coordinates, no notes text, no identifying information ever leaves the phone alongside a photo.
Module 02

Weather at Catch Time

Hourly weather conditions at the catch's GPS coordinates and exact timestamp. Fetched automatically — no input required. Because weather is hourly, each catch in a trip can have different numbers.

Per catch · hourly
Air Temp°F
Ambient air temperature at catch time. Cold fronts drop surface water temperature behind them — tracking air temp explains why fish moved shallow or deep between sessions.
Barometric PressureinHg
Instantaneous barometric pressure at the catch moment. Bass lateral-line sensitivity responds to pressure changes. The absolute value matters less than whether it's been rising or falling — which is why Bassai also records the 24-hour trend separately.
Pressure TrendinHg Δ / 24 h
Change in barometric pressure from 24 hours before the trip start to trip start. Positive = rising (good), negative = falling (front approaching or passing). This is the metric most guides use when deciding whether to go out — Bassai records it automatically for every trip.
Wind Speedmph
Average wind speed at catch time. Wind-driven current concentrates baitfish on windward banks and creates oxygen-rich surface chop. Pairing wind direction with catch location reveals which banks produce on which wind.
Wind Directiondegrees · compass
Wind direction in degrees (0 = north, 90 = east). Stored as degrees so you can compute windward/leeward orientation relative to any bank.
Cloud Cover%
Percentage of sky covered by clouds. Overcast skies reduce light penetration and ambient UV, which pulls bass out of deeper cover and into shallower ambush positions. Full cloud cover (100%) is often the best topwater window of the day.
Precipitationinches
Rainfall in the hour preceding the catch. Light rain creates surface disturbance that masks presentation; heavy rain washes nutrients and bait into the lake from drainages — both affect where fish stage.
Conditionstext label
Short human-readable summary derived from cloud cover and precipitation: Clear, Partly Cloudy, Overcast, Light Rain, Rain, and so on. Used for quick filtering.
Module 03

Water Conditions

Day-granularity readings from the nearest USGS stream gauge. Stored at the trip level because lake water temperature and level don't change hour-to-hour the way air does. Gauge distance is recorded so you can judge how representative it is.

Per trip · daily · USGS
Water Temp°F
Surface water temperature at the gauge. The single most important number for understanding bass depth and metabolism. Bass feed most aggressively between 60–75 °F; outside that range they slow down and require slower presentations.
Water Levelfeet above datum
Lake or river stage at the gauge. Absolute level tells you whether typical bank cover is above or below water. Impoundments managed for hydropower or flood control can swing several feet in a week.
Level Trend (3-day)ft change
Change in water level from 3 days prior to the trip. Positive = rising water, negative = falling. This is the most actionable water-condition number in the log — rising water pushes bass into flooded vegetation; falling water pulls them back to main-lake structure. Trend matters more than absolute level.
Flow RateCFS
Stream discharge in cubic feet per second. Relevant for river systems, tailwaters, and tributary mouths. High CFS pushes fish to eddy pockets behind current breaks; low CFS in summer concentrates fish near oxygenated inflows.
TurbidityFNU
Water clarity measured in formazin nephelometric units. The practical scale: below 5 FNU = clear (go natural colors, finesse), 5–20 FNU = stained (chartreuse or white works), above 20 FNU = muddy (loud rattles, high contrast). Bassai pulls this from government gauges — no manual estimation needed.
Gauge Nametext
USGS station that sourced these readings, plus its distance from your trip center in miles. Gauge data degrades with distance — showing you the source lets you weight it appropriately.
Module 04

Tide Data

For trips within 100 km of a NOAA CO-OPS tide prediction station — tidal rivers, bays, coastal fisheries. Automatically skipped and hidden for inland trips where no station exists nearby.

Coastal trips · NOAA CO-OPS
Tide Phase4-state
Phase of the tide at the moment of each catch: Rising, Falling, High Slack, or Low Slack. Derived by interpolating the full day curve at the catch timestamp. Slack periods — the 30-minute window around each extreme — are fished differently than moving water.
Water Heightft · MLLW
Instantaneous water level at catch time, referenced to Mean Lower Low Water (MLLW) — the US navigation standard. Useful for correlating catches to specific depths over structure.
Time to Next Extrememinutes
Minutes until the next high or low tide event. Negative values mean you just passed an extreme and are in the slack window. Positive values count down to the next one. Lets you answer "was this bite 45 minutes before the drop?" without mental math.
Next Extreme TypeH or L
Whether the next extreme is a high (H) or low (L) tide. Combined with the time field: "38 minutes to high" or "12 minutes past low, still in slack."
StationNOAA ID + miles
The NOAA station and its distance from your trip. Tide timing shifts with distance from the prediction station — a station 80 km away may be off by 30–45 minutes. Shown so you can apply local knowledge.
Tide phase is interpolated per catch from the full hourly day curve — not just snapped to the nearest extreme. A catch 38 minutes before the high reads "rising · 38 min to high", not just "high tide."
Module 05

Solunar & Astro

Moon-driven feeding window calculations plus solar events. All computed from the catch's exact coordinates and timestamp — not from generic regional tables. Stored per catch so your log can show whether consistent bites cluster in major or minor windows.

Per catch · computed
Moon Phase0.0 – 1.0
Fractional moon phase at catch time. 0.0 = new moon, 0.5 = full moon, 1.0 = new moon again. Stored numerically so you can filter or group by phase range. Also stored as a human-readable name: New Moon, Waxing Crescent, First Quarter, Waxing Gibbous, Full Moon, and so on.
Moon TransitISO 8601 time
Time the moon crosses the meridian overhead. This is the center of the solunar major feeding window (roughly ±1 hour around transit). The strongest bite periods in Solunar theory align with moon overhead and moon underfoot.
Moon UnderfootISO 8601 time
Anti-transit — moon directly opposite, underfoot. Second major feeding window. Gravitational pull is nearly as strong as overhead transit; many guides find it produces equally well.
MoonriseISO 8601 time
Time the moon rises above the horizon. Bounds the solunar minor feeding window around moonrise (roughly ±30 minutes). Minor windows are shorter than major but still represent elevated feeding probability.
MoonsetISO 8601 time
Time the moon sets below the horizon. Second minor window. Note: on some days the moon doesn't rise or set within the 24-hour window — these fields are nil on those days.
SunriseISO 8601 time
Civil sunrise at the catch location. The hour after sunrise is consistently one of the top two bite windows of the day — bass transition from overnight holding areas to morning feeding flats. Exact time varies by latitude and date.
SunsetISO 8601 time
Civil sunset at the catch location. The second peak daily window. Evening bites often run longer than morning ones as water temperature drops from the day's high.
Module 06

GPS Trip Track

Live-tracked trips record a continuous breadcrumb path — the full route your boat or kayak took. Stored at raw GPS precision; simplified for map rendering. Photo-imported or manual-entry trips don't produce a track.

Live trips only
Breadcrumb Pointslat · lng · time
Raw GPS coordinates captured continuously during a live trip. Stored at original precision for future re-analysis (speed calculation, heat mapping). Douglas-Peucker simplification runs at render time — the raw points are never discarded.
Speedm/s
Device-reported speed at each breadcrumb sample. Nil at very low speeds where the platform doesn't report a confident value. Useful for distinguishing trolling passes from anchored-and-casting positions.
Horizontal Accuracymeters
CoreLocation's uncertainty radius for each point. Values above ~100 m mean temporary GPS lock loss — the map renderer uses this to skip noisy points when drawing a clean polyline.
Module 07

Spot Tags

Non-catch annotations dropped during a live trip — tagged locations, text notes, and scene photos. Spot tags carry an optional underwater structure category so you can filter your own log later — every weedline spot, every stained-water spot, every piece of structure you've worked.

Per marker · live trips
Spot Locationlat · lng
Coordinates of the tagged spot. Drop a pin on a laydown, dock, point break, or any feature you want to return to. Pinned without leaving the Live Trip view — two taps, back to fishing.
Structure Category4 types
Four categories: Vegetation (grass edge, pad field, hydrilla), Structure (dock, laydown, brush pile, rock pile), Hard Bottom (gravel, rock, shell), and Soft Bottom (silt, mud, clay flat). Category is optional — you can drop a spot pin without tagging it.
Marker Type3 types
Spot (pin you want to revisit), Note (text memo attached to a location), or Scene Photo (photo not tied to a specific catch). All three render as distinct pins on the trip map.
Note Textfree text
Free-form text for spot and note markers. "Current seam here at 2 CFS," "dock gone after flood," "bait ball at 6 AM." These stay on your device and are never used for community aggregation.
Only the structure category and GPS coordinates contribute to community aggregation — never your text notes, never your catch data. Opt-in, anonymized, and reversible.