Skip to content

beedog0/caldera

Repository files navigation

Caldera — The Expedition Ledger

A hiking & national-parks app combining a social feed, gear loadout tracking, and a P2P marketplace for used outdoor gear. Built with Expo (React Native) + Supabase.

Forked from the DYNO climbing app — roughly 60% of the codebase is shared (feed, marketplace, profiles, auth, photo handling, push). Climbing-specific routes (sends, grades, climbing gear) are being reshaped into hiking equivalents (expeditions, distances/elevation, outdoor gear).


V1 Scope

  • Gear Locker — digital locker for every piece of outdoor gear you own
  • Loadout Builder — assemble a loadout for a hike with auto base-weight calc
  • Social Feed — vertical expedition posts with hero photo, map snippet, elevation stats, tagged loadout
  • The Outpost — P2P marketplace for used outdoor gear (Stripe Connect for payments)
  • National Park Check-ins — 63 parks, public geofence data, sticky badge mechanic

V2 (deferred): live GPS tracker (Mapbox 3D terrain, OSM trails, offline tiles), AI photo gear recognition.


Quick Start (Mac, ~20 min)

Step 1: Install prerequisites

# Homebrew (skip if installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Node.js
brew install node

# CocoaPods (for iOS builds)
brew install cocoapods

Verify: node --version (v18+ or v20+).

You also need Xcode from the Mac App Store. Open it once to accept the license, then:

sudo xcode-select --switch /Applications/Xcode.app

Step 2: Install dependencies

cd caldera-app
npm install

Step 3: Hook up Supabase

  1. Create a project at https://supabase.com (name it caldera).
  2. Settings → API — copy your Project URL and anon public key.
  3. Open lib/supabase.ts and replace:
    • YOUR_PROJECT_ID with your Project URL
    • YOUR_ANON_KEY_HERE with your anon key
  4. Authentication → Providers — make sure Email is enabled.

Step 4: Run on iPhone or simulator

On a physical iPhone (recommended):

npx expo run:ios --device

iPhone needs Developer Mode on (Settings → Privacy & Security → Developer Mode → On).

On the iOS Simulator:

npx expo run:ios

Quick web preview (layout only, not full native):

npx expo start --web

Project Structure (current)

caldera-app/
├── app/
│   ├── _layout.tsx           # Root layout (auth provider, dark theme)
│   ├── index.tsx             # Entry (redirects to tabs or auth)
│   ├── auth.tsx              # Sign in / sign up
│   └── (tabs)/
│       ├── _layout.tsx       # Tab navigation
│       ├── index.tsx         # Feed (home)
│       ├── explore.tsx       # Explore — to be reshaped (currently climbing sends)
│       ├── log.tsx           # Log a send — to be reshaped into "log expedition"
│       ├── market.tsx        # Marketplace (will become The Outpost)
│       └── profile.tsx       # Profile (will gain Proof-of-Work badges)
├── components/
│   ├── StoriesRow.tsx        # Story bubbles (Instagram-style)
│   └── FeedCard.tsx          # Feed post cards
├── constants/
│   ├── theme.ts              # Caldera design system
│   └── dummy-data.ts         # Test data
├── lib/
│   ├── supabase.ts           # Supabase client (paste creds here)
│   └── auth-context.tsx      # Auth state
├── app.json                  # Expo config
├── package.json
└── README.md

The tab routes still carry their DYNO names. They'll be renamed and reshaped in the next phase (climbing send → hike expedition, climbing gear listing → outdoor gear listing, plus new screens for Gear Locker, Loadout Builder, and Park Check-ins).


Design System

Palette inherited from DYNO; will evolve toward more earth/volcanic tones as Caldera's identity solidifies.

Token Value Usage
Background #0D0F12 Main screen bg
Glass card rgba(255,255,255,0.04) + 0.08 border Cards, posts
Teal #5DCAA5 Primary actions, active states
Amber #EF9F27 Streaks, prices, engagement
Blue #85B7EB XP, info, secondary accent
Coral #D85A30 Avatars, warm gradient
Text primary #f0ede6 Headings, body
Text muted rgba(240,237,230,0.45) Captions, meta

Roadmap (immediate)

  1. Schema diff — map DYNO's tables to Caldera's; add gear_locker, loadouts, park_checkins; drop grades and send-tracking.
  2. Reshape climbing routes — rename log.tsx → expedition logger, rebuild market.tsx for outdoor gear, etc.
  3. Park check-ins — seed 63 NPS parks with geofence data, badge mechanic.
  4. Marketplace polish — Stripe Connect onboarding, escrow flow.

V2 (later): Mapbox 3D terrain, background GPS, offline tiles, AI gear recognition.


Built with Expo + Supabase.

About

iOS hiking companion: live GPS tracking, Mapbox trail maps, gear loadouts, peer-to-peer used-gear marketplace. Currently in TestFlight beta.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors