UTC --:--:--
Open catalogue

Open activity profiles, locally resolved.

Inspect what good conditions mean for an activity, then see how Goable adapts that definition by region and spot.

28
Base profiles
607
Catalogued sub-spots
Any coordinate
Score, worldwide
Covered regions
Discover catalogued spots
01
Live coverage

What is covered today

Every number here is inlined from the published @goable-io/profiles-catalog package at build time: 607 sub-spots across 46 countries, 229 clusters and 33 regional overrides on top of 28 base profiles. Filter by family, country, coverage status and endpoint to see whether Discovery works for your activity and region.

Activity family
Country
Coverage status
Endpoint
Showing 28 of 28 base profiles

Scuba Diving

water
Production-ready
Sub-spots
103
Clusters
42
Countries
15
AUBZECEGESFMHRIDISITMTMVMXMYPW

Rock Climbing

land
Production-ready
Sub-spots
71
Clusters
26
Countries
12
CADEESFRGRHRITMANOTHTRUS

Trekking

land
Production-ready
Sub-spots
65
Clusters
24
Countries
16
ARAUCHCLESFRGBINISITNPNZPESETZUS

Alpine Skiing (Resort)

snow
Production-ready
Sub-spots
64
Clusters
22
Countries
9
ARATCACHCLFRITJPUS

Kitesurfing

water
Production-ready
Sub-spots
49
Clusters
18
Countries
13
BRDOEGESGRITLKMAMUTZUSVNZA

Surfing

water
Production-ready
Sub-spots
49
Clusters
18
Countries
12
AUESFJFRIDMAMXNAPEPTUSZA

Ski Touring

snow
Production-ready
Sub-spots
30
Clusters
9
Countries
5
ATCHITJPNO

Mountain Biking

land
Production-ready
Sub-spots
28
Clusters
11
Countries
7
CAESFRGBITNZUS

Outdoor Bouldering

land
Production-ready
Sub-spots
26
Clusters
10
Countries
7
CACHESFRITUSZA

Paragliding

air
Production-ready
Sub-spots
26
Clusters
11
Countries
9
ATBRCHCLCOFRINTRUS

Freeride Skiing / Snowboarding

snow
Production-ready
Sub-spots
25
Clusters
9
Countries
5
CACHFRJPUS

Snowboarding (Resort)

snow
Production-ready
Sub-spots
24
Clusters
10
Countries
6
CACHFRITJPUS

Snorkeling

water
Production-ready
Sub-spots
22
Clusters
10
Countries
9
AUBRBZEGIDISMVMXTZ

Road Cycling

land
Production-ready
Sub-spots
20
Clusters
8
Countries
4
ESFRITUS

Windsurfing

water
Early coverage
Sub-spots
5
Clusters
1
Countries
1
ES

Boat Excursion

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Bodyboarding

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Canyoning

land
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Hang Gliding

air
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Hot-Air Ballooning

air
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Jet Ski / Personal Watercraft

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Kayaking

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Open Water Swimming

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Sailing

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Stand Up Paddleboarding

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Trail Running

land
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Wakeboarding

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0

Wing Foiling

water
Base-profile only
Sub-spots
0
Clusters
0
Countries
0
Coverage labels
LabelWhat it meansDiscoveryScore
Production-readyTen or more curated sub-spots, reviewed curves.YesYes
Early coverageOne to nine curated sub-spots.PartialYes
Base-profile onlyBase curve published, no curated sub-spots yet.NoYes
Coming soonActivity not yet in the catalogue.NoNot yet

The catalogue exposes three coverage statuses today. Base-profile only is the worldwide scoring floor every listed activity already has, even before any curated sub-spot exists.

02
Two ways in

Score any coordinate, or discover catalogued spots

Score

Pass any latitude and longitude worldwide for any of the 28 base profiles. The engine resolves the most local profile it has and scores the conditions there. No catalogue entry is required.

Discovery

Enumerate the curated sub-spots Goable has catalogued in a covered region. Discovery only returns places that already exist in the catalogue, so its reach follows coverage rather than geography.

03
Hierarchy

One base profile, four levels of locality on top

A profile is not one global curve. The catalogue is a five-level hierarchy: a call resolves to the most specific resolved level available, and the confidence reflects how local that match was.

1

Base

Base profiles across water, snow, air and land. What counts as good wind, swell or snow for a sport.

2

Region

Regional overrides. The Mediterranean kite season is not the North Sea's.

3

Cluster

Groups of nearby spots that share a regime.

4

Sub-spot

A named break, launch or face with its own scoring curve.

5

Micro

The finest grain, once enough paired outcomes accrue there.

04
Confidence

Locality is one input to confidence, not the whole of it

Resolving a call more locally raises one factor, hierarchical_calibration. It never replaces forecast skill, observation quality, source freshness or active drift controls. Overall confidence is the multiplicative fold of every factor, so a perfect local match cannot make a poorly-forecast day look certain.

confidenceDetail · forecast modeillustrative
{
"mode": "forecast",
"forecast_skill": 0.86,
"provider_agreement": 0.92,
"profile_maturity": 0.95,
"hierarchical_calibration": 1,
"data_coverage": 0.98,
"calibration_provenance": {
"level": "sub-spot",
"n_local": 142,
"shrinkage_weight_from_parent": 0.08
},
"drift_flag": {
"severity": "watch",
"since_timestamp": "2026-07-12T00:00:00Z",
"cell": {
"activity": "kitesurfing",
"sub_spot": "tarifa-balneario",
"horizon_h": 24
},
"metric": "decision_bss",
"reference_type": "operator_outcome",
"days_in_decline": 2,
"recalibration_triggered": false
}
}
scalar confidence = 0.75 (the fold), not 1.0, even at a mature sub-spot.
Profile maturity contribution
meta.maturityfactormeaning
provisional0.60Authored, not yet reviewed.
reviewed0.80Domain-reviewed curve, no local calibration yet.
calibrated0.95Reviewed and calibrated against paired outcomes.
Resolution contribution
resolved levelfactormeaning
base0.85Global base curve, no per-spot calibration.
region0.90Regional override resolved.
cluster0.95Cluster-level regime resolved.
sub-spot (n < 30)0.92Sub-spot identity, shrinkage-heavy prior.
sub-spot (n >= 100)1.00Sub-spot with a mature local cohort.
Hierarchical Bayesian shrinkage

A brand-new sub-spot has almost no outcomes, so its curve would be noise. The engine shrinks each level toward its parent's prior: a sparse sub-spot borrows strength from its cluster, region and base profile, and only earns independence as real paired outcomes accumulate. The calibration_provenance block records which level resolved and how much local data backed it.

What paired outcomes are

Paired outcomes are tenant-defined operational signals, such as completed sessions, cancellations or reviewed feedback. They calibrate suitability preferences. They do not replace physical safety rules or observed environmental data, and they are not physical ground truth.

05
Open governance

Open data, proprietary engine

Open · CC BY 4.0

Activity definitions, curves, citations and review status live in a public repo and ship as an npm package. Anyone can inspect the curve scoring their slot, or propose a regional variant by pull request. Open definitions make the activity logic inspectable.

Proprietary · the engine

The proprietary engine resolves location, data quality, calibration and safety policy at request time. The full verdict is not reproducible from the open profile alone, and it is not meant to be. The engine is the moat.

Proposing a profile

A new activity or regional variant is a single YAML file at catalog/<family>/<slug>/index.yaml, validated against a shared Zod schema in CI. Anyone can propose one. A pull request is a proposal, not inclusion: it passes domain review before it can merge, and only a reviewed, versioned release becomes production-eligible.

Versioning discipline
  • patchTypo, citation or metadata fix. No verdict can move.
  • minorA new sub-spot or a regional override. Additive coverage.
  • majorA threshold or curve change that can move a verdict, with a deprecation path for the old shape.
Licence note. The CC BY 4.0 licence covers Goable's original activity definitions, curves and metadata. Upstream dataset and source licences, and the attributions they require, are respected separately. Citation of a source does not imply that its authors reviewed or endorsed Goable.
06
Tier methodology

The sub-spot tier is an operational decision tier

Every sub-spot carries a tier: 1 | 2 | 3 used by the underwriting maths and by the decision agent. It is not a physical-risk score. The composite mixes three different things: physical difficulty, forecast uncertainty and operational disruption. A place can be physically easy but hard to forecast, physically demanding but forecast well, or high-disruption for reasons that have nothing to do with the weather.

DimensionWeightSourceWhat it reads
Physical difficulty0.5Difficulty AtlasLatent difficulty quantile. How hard the spot is on its own, ranked across the catalogue. Independent of how well we forecast it.
Forecast uncertainty0.3Forecast-verification MVPassed as (1 minus Brier Skill Score quantile). A poorly-forecast spot raises the bar even when the conditions are easy.
Operational disruption0.2Reported outcomesQuantile of a disruption ratio over reported sessions. The most stable but most lagging axis, kept lowest so anomalies do not flip a tier.

The classifier is deterministic and versioned. Its composite is 0.5 · difficulty + 0.3 · (1 - skill) + 0.2 · disruption, with tier boundaries at the natural terciles (1/3 and 2/3). The boundaries are policy constants, not learned from data. Inputs, thresholds and output are reproducible from the persisted factor block plus the classifier version pin, so an actuary can reproduce any tier. Reproducibility is a requirement, not proof of correctness: the policy validity of the weights and boundaries is reviewed separately.

On the disruption axis

This axis is a ratio of disruptive events over reported sessions. It is operational disruption, not severity: a no-show is not a severity, and a completed session can still have been difficult. The ratio currently blends cancellations, abandons and injuries into one number. Separating a clean operational disruption rate from a distinct safety incident rate is the honest next refinement.

Underwriting caution

An insurance tier multiplier should not be derived directly from a metric that folds in no-shows and reschedules without separating cause. Disruption is correlated with, but not the same as, insured risk. Treat the tier as a decision input, not a priced hazard rate.

Tier lifecycle
1

Monitoring

The nightly classifier scores every cell and writes an audit row. No catalogue value changes.

2

Candidate

Two or more of the three axes become available for a cell, so a composite and tier can be computed.

3

Review-eligible

Three consecutive nightly classifications agree at full confidence, which opens a pull request with the factor table and reproducibility hash.

4

Approved

A human reviewer accepts the change from the PR body and it lands in the changelog. A PR is not automatic inclusion.

5

Effective

The value ships in a versioned catalogue release. Consumers read the pinned version, not a live feed.

6

Frozen at bind

A tier used to price a policy is frozen at bind and never retroactively recalculated. Historic rows stay interpretable under their fit-time version.

Activation. Automated tier review is operational: the classifier runs nightly and writes an audit row for every cell. Data-driven tier updates activate only after a cell meets the published evidence threshold, which needs at least two of the three axes, each with enough forecast-verification history and reported outcomes to be measurable. Until then the classifier writes tier: null and the expert-reviewed catalogue tier remains the source of truth.

07
Limitations

What this does not do

Not a full replay

The open profile lets you inspect the activity logic. It does not let you replay a live verdict, which depends on the engine's location resolution, data quality and safety policy at request time.

Coverage is uneven

Score works on any coordinate, but Discovery only returns curated sub-spots. Most base profiles are still base-profile only, so check the coverage explorer before assuming Discovery works for your region.

Tiers are advisory

A tier is a decision input built from difficulty, forecast uncertainty and operational disruption. It is not a priced hazard rate, and it is frozen at policy bind rather than recalculated retroactively.