Skip to content

Repository files navigation

Fluke

A community sightings map and field guide for Pacific Northwest orcas.

Fluke is the kind of thing you'd hand a friend who just watched a pod cross in front of their ferry and asked who did I just see? It shows where orcas have been reported, tells the stories of the individuals who live in the Salish Sea, and — entirely on the phone, once a reference catalog is licensed — will let you point a camera at a dorsal fin and get a careful, "useful, not authoritative" guess at who it is.

It is a personal, non-commercial project by Cale Lamb. No ads, no card on file, no monetization plan; the hosting bill is a personal expense.

Why this exists

I've cared about orcas and marine mammals since I was a kid, and Fluke is an attempt to be a little useful to them. The Southern Residents and the Bigg's killer whales are worth knowing by name, and the organizations that have spent decades cataloging them — the Center for Whale Research, Orca Network, Bay Cetology, The Whale Museum — are the reason anyone can know them by name. Fluke tries to point people toward that work rather than stand in front of it: every profile is sourced, every future photograph will be attributed and linked back to its origin, and the app sends people back to those organizations for sighting reports and the ongoing advocacy.

The long-form version of the vision — the guiding principles, what success looks like, and what Fluke deliberately is not — lives in docs/vision.md.

The rights stance

Fluke will never bundle a reference catalog it doesn't have written permission for. That single rule shapes the whole project:

  • The photo-matching engine runs fully on-device — camera frames are analyzed locally and never uploaded.
  • It ships dormant: the live viewfinder opens, but no matching runs until a rights-cleared catalog exists. The app says so honestly in the UI.
  • No photographs are ever scraped. Training data is used only under an explicit, written grant, with attribution and a take-down promise.
  • Trained model weights are released under a non-commercial license so the photographs that trained them can never end up in a commercial product.

The full set of commitments to source organizations is in docs/data-licensing.md.

The repositories

Fluke is four repositories that share one contract.

Repository What it is
fluke This repo — the React web app plus Fluke's product, design, and documentation.
fluke-api The standalone Fastify + Prisma service. Owns the runtime API contract and the PostgreSQL schema.
fluke-ios The native SwiftUI iPhone app, "Fluke: PNW Orca Atlas".
fluke-model The rights-safe photo-identification model and retrieval service.

Status

The iPhone app has been submitted to the App Store. The community sightings feed, individual profiles, the historical Atlas, and the Acartia / SSEMMI cooperative-feed integration are live. On-device matching is present but dormant, pending catalog licensing.

Stack

  • React 18, TypeScript, Vite, and Tailwind CSS
  • MapLibre and OpenFreeMap for maps
  • TanStack Query for remote state
  • pnpm workspaces for the web app and web-local shared types

Repository layout

fluke/
├── apps/web/          # Vite + React application
├── packages/shared/   # Web-local DTOs and enums
├── docs/              # Product, architecture, and vision documentation
└── scripts/           # Repository verification

The backend layout and operational commands are documented in the fluke-api README.

Contributions and use

Fluke's source is public so that anyone can see how it works and why it makes the choices it does — the rights stance, the on-device matching, the accuracy posture. That transparency is the point.

It is not open to outside contributions. This is a single-author personal project, and pull requests and feature issues are not being accepted. You're very welcome to read the code, learn from it, and take inspiration; you're not expected — or invited — to contribute to it.

The code is source-available, not a grant of reuse: no formal open-source license is attached, so all rights are reserved. Any use of the orca data, photographs, or trained model is additionally bound by the commitments in docs/data-licensing.md.

If you maintain a catalog or represent a source organization and something here needs attention, that's the one kind of message this project always wants — reach the maintainer through the contact details on the live site.

About

A community sightings map and field guide for Pacific Northwest orcas. Non-commercial, rights-respecting, source-available.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages