PRODUCT STORY 05 / WILDLIFE INTELLIGENCE

WyldTracks

An AI-powered animal field journal that helps people identify wildlife and animal signs, review the evidence, and build a private record they can trust.

  • RoleFounder / Product Builder
  • TypeAI Wildlife Field Journal
  • StackReact + Supabase + Edge Functions + GBIF
  • StatusPrivate Alpha
WyldTracks landing page with tagline Capture the evidence, Understand the animal, Review the record

Problem

Most identification apps give you a guess and move on. Naturalists need evidence, uncertainty, location context, and a record they can revisit without handing their field notes to a black-box label.

My Role

Founder and builder: product direction, UX, Supabase schema, Edge Function AI pipeline, GBIF validation layer, and private alpha launch at wyldtracks.com.

Outcome

A working private-alpha loop: upload a photo, get a structured AI draft checked against GBIF, review and edit, save to a personal journal with private image storage.

Why This Exists

WyldTracks is an animal-first field journal, not a plant ID app and not a public social feed. The product question is simple: what animal was here, and what evidence do we have? Most mobile ID tools optimize for a single label. WyldTracks optimizes for a reviewable observation: candidates, field marks, confidence, validation warnings, and a human edit step before anything is saved. The north star is a path from private journal to community-verified wildlife intelligence. The alpha deliberately stops at layer one: prove the capture, analyze, review, save loop before adding maps, reviewers, or public sharing. Animal-only scope keeps the MVP honest. Users can log visible animals plus tracks, scat, feathers, fur, bones, nests, burrows, and unknown signs. Plants stay out until the animal loop is solid.

My Role

Founder, product designer, and full-stack builder for WyldTracks from concept through private alpha deployment.
  • Product thesis: evidence-first journal, not guess-first ID
  • Mobile/web UX: landing, observation flow, wildlife dossier, journal
  • AI analysis contract (structured JSON schema v1.3.1)
  • Supabase Edge Function pipeline (OpenAI vision, server-side only)
  • GBIF taxonomy + occurrence validation layer
  • Private Storage, signed URLs, and row-level security
  • Alpha feedback board, feature voting, and AI cost tracking

How I Worked Through It

  1. Capture in the field

    From /observations/new, upload a photo and add optional context: field notes, tags, and GPS via map picker or device location. The observation stays a draft until you choose to run analysis.

  2. AI analysis (server-side)

    The analyze-observation Edge Function downloads the private image, calls OpenAI vision, and returns structured JSON: primary and alternative candidates, field marks, summaries, confidence, and sign-specific analysis when the subject is not a visible animal.

  3. Scientific validation

    GBIF taxonomy match confirms whether the proposed scientific name exists. An occurrence check near the coordinates adds plausibility signal (supporting evidence, not proof). Confidence adjusts deterministically when validation is weak.

  4. Human review

    The review screen shows candidates, validation panels, and editable species fields. Nothing saves automatically. The user decides what goes into their journal.

  5. Journal and dossier

    Saved observations land in /journal with search, filters, and view modes. Detail pages use the Wildlife Dossier layout: evidence, taxonomy, validation metadata, and private signed image URLs.

Core Idea

One loop powers the alpha. Capture evidence in the field, let AI draft an identification, validate against science, review the record, save to your journal.
Core product loop
  1. Snap a photo in the field
  2. AI drafts candidates and evidence
  3. GBIF checks name and location plausibility
  4. You review and edit the record
  5. Save to your private journal

Capture the evidence. Understand the animal. Review the record. Share carefully later.

  1. Evidence-First AI Draft

    Structured candidates, field marks, visible evidence, uncertainty notes, and similar species. The AI explains what it sees, not just a single label.

  2. GBIF Validation Layer

    Server-side checks against GBIF taxonomy and nearby occurrence records. Confidence adjusts when names or location plausibility are weak.

  3. Wildlife Dossier Detail View

    Premium observation detail UI: plain and scientific summaries, taxonomy, validation warnings, tags, and natural history context when available.

  4. Private Journal

    List, grid, and field-notes view modes with search and filters. Every observation is private to the signed-in user via row-level security.

  5. Animal + Sign Coverage

    Animals, tracks, scat, feathers, fur, bones, nests, burrows, and unknown signs. Animal-only MVP scope avoids plant ID sprawl.

  6. Alpha Instrumentation

    In-app feedback, feature request voting, admin triage, and AI cost tracking. Built to learn during private alpha, not just ship features.

WyldTracks How it works section: snap a photo, get an instant ID, save to your journal

Sanitized diagrams and wireframes, not the original proprietary product.

WyldTracks how it works steps with icons

How It Works

Three-step loop on the landing page: snap a photo, get an evidence-backed ID, review and save to your journal.

WyldTracks observable types section for animals and signs

Observable Types

Animal-only scope for alpha: visible animals plus field signs, without expanding into plants or a public social feed.

Data Model

The first-pass data model centers on a few core objects:

  • observations (image path, context, ai_result_original, reviewed_result JSONB)
  • observation-images (private Supabase Storage bucket per user)
  • user_roles (admin, reviewer, contractor)
  • observation_scans + ai_cost_events (AI usage tracking)
  • feedback_items + feature_requests + feature_request_votes
  • ai_pricing_versions (admin cost simulator)

Enough structure to ship the alpha, not a schema built for features that do not exist yet.

Relationship Model

  • auth.users → observations (RLS: owner read/write)
  • observations → observation-images storage path ({userId}/{uuid}.ext)
  • observations.ai_result_original (immutable AI output) vs reviewed_result (user-edited save)
  • Edge Function → OpenAI vision + GBIF taxonomy + occurrence APIs
  • feedback_items → admin triage at /admin/feedback
  • feature_requests ← feature_request_votes (alpha voting board)

MVP Scope

For an alpha version, I would focus on:

  • Email auth and private user journal
  • Observation upload with optional GPS and field notes
  • Server-side AI analysis via Edge Function
  • GBIF taxonomy + occurrence validation
  • Review/edit screen before save
  • Wildlife dossier detail view with signed image URLs
  • Journal list with search and filters
  • Alpha feedback and feature voting

Community review queues, public sharing, wildlife maps, reviewer roles UI, offline sync, and plant identification wait until the private journal loop is proven with alpha testers.

What I Built

WyldTracks separates guess from record. When analysis runs, the Edge Function stores the full AI payload as ai_result_original. After review, the user-edited structured result becomes reviewed_result. That split preserves auditability: you can always see what the model said versus what you chose to save. Images never go to the client as public URLs. Uploads land in a private bucket; detail views use short-lived signed URLs. The validation layer is deterministic and server-side. GBIF confirms whether a scientific name exists and whether occurrence data supports plausibility near a pin. It does not prove the animal in the photo is that species. The UI uses cautious language and recommends review when confidence drops. Feature-first Supabase migrations, RLS from day one, and no fake seed data kept the alpha honest. Community review, public maps, and wildlife intelligence networks are roadmap layers, not alpha scope.

What Changed

  • Shipped a live private-alpha product at wyldtracks.com with end-to-end observation save flow
  • Built structured AI contract (schema v1.3.1) with candidates, evidence, and sign analysis
  • Added GBIF taxonomy and occurrence validation inside the Edge Function pipeline
  • Designed Wildlife Dossier detail UX for reviewable, evidence-rich observations
  • Implemented private journal with search, filters, and multiple view modes
  • Launched alpha feedback, feature voting, and AI cost tracking for product learning

The design lesson: trust in nature apps comes from showing your work.

Candidates, field marks, validation warnings, and an explicit human review step matter more than a confident single label. GBIF adds scientific grounding without pretending the photo is verified.

If the north star is a wildlife intelligence network, the alpha had to prove one thing first: people will save observations they believe in. Everything public comes after that loop feels good on a real hike.