RiverRat Colorado Beta docs

Product and engineering notes for the beta.

RiverRat is a social river-running app. The product promise is simple: the river is in, and paddlers can see who is going.

Product Surface

Runs

Colorado river runs with gauge-backed CFS, runnable ranges, difficulty, hazards, and run detail pages.

Trips

A paddler can create a trip against a run, set time and meeting details, and expose open spots to the community.

Crew

Trip detail answers the core social question: who is paddling, what skill level they are, and whether spots are open.

Messages

Trip crew chat and direct messages support shuttle timing, gear checks, and last-minute flow changes.

Architecture

Frontend

Next.js web beta now; React Native + Expo remains the iOS-first mobile path.

Backend

Supabase for custom auth, profiles, trips, members, join requests, notifications, and messages.

Realtime

Supabase Realtime and conversation tables support the current chat model.

River data

Shared USGS integration fetches CFS, water temperature when available, trend, and graceful fallbacks.

Testing

Node's built-in test runner with tsx covers shared logic, web utilities, and API route behavior.

Data Model

The beta already has the social primitives needed for trips: profiles, trip membership, join requests, conversation membership, messages, notifications, and friendships.

usersprofilesriversrunsgaugestripstrip_membersjoin_requestsconversationsconversation_membersmessagesflow_alertsnotificationsfriendships

90-Day Plan

Weeks 1-2

Prototype

Clickable app flow for home feed, run detail, create trip, trip page, profile, and chat. Test with 10 paddlers.

Weeks 3-6

MVP build

Auth, profiles, trip creation, join requests, crew membership, chat, and manually seeded Colorado run data.

Weeks 7-9

Flow integration

CFS display, runnable ranges, favorite runs, and basic flow notifications.

Weeks 10-12

Private beta

Launch in Colorado around Clear Creek, Arkansas, Gore, Poudre, Colorado River, Roaring Fork, and Fryingpan-area runs.

Development

Install

npm install

Run web

npm run dev -w web

Run tests

npm test

Build web

npm run build -w web

Lint web

npm run lint -w web

Current Quality Bar

Unit tests cover shared river data, USGS parsing and graceful failure, web formatting helpers, flow status logic, and API 404 behavior. The web production build passes with USGS network failures handled as missing gauge data.