trailmark Prototype
Tour
Sam Rivera Viewing as
Prototype

An interactive prototype — tap around, every button and form works, on sample data. An illustration of the direction, not the full feature set.Interactive prototype · tap anything · sample data.

Migration · Switchback Running

Bring your history with you

Migrate from UltraSignup, spreadsheets or any other registration platform.Six seasons, reconciled to the dollar.

Planned · Phase 1–2

Migration plan

  1. 1 · Signed off

    Plan agreed

  2. 2 · Signed off

    Dry run 1 · 37 issues

  3. 3 · Signed off

    Dry run 2 · clean

  4. 4 · In progress

    Parallel run · 14 days

  5. 5 · Next

    Organizer sign-off

  6. 6 · Next

    Cut over

Reconciliation

7/7 match
WhatSourceTrailmarkMatch
Registrations 4,812 4,812
Results 4,133 4,133
Athletes (after dedupe) 3,276 3,276
Course records 18 18
Waitlist entries 270 270
Volunteer credits 142 142
Payments (USD) $1,086,450 $1,086,450

Nightly during the parallel run. A single mismatch blocks sign-off.

Match review queue

3 to review
  • Riley Vance → Riley Vance

    Same name and birth year · different email

    82%
  • Skyler Wals → Skyler Walsh

    Same email · last name spelled differently

    74%
  • A. Ramos → Avery Ramos

    Same name · birth year off by one

    61%

Source

Previous registration platformUltraSignup export · 6 seasons · 2020–2025

Mapped fields

Chapter 1 · Plan the season

3 of 21

Bring last year with you

Past registrations, results and course records move over in a dry run first, and the totals must match to the dollar.

Try it Tap "Run dry-run".

Exit
Chapters

Race

Find a race Search every organization's races, with a map.

You

Profile Your season: history, PRs, payments and credits. Inbox Race-day news and replies, live. Help Answers from the race guide, or a ticket to the team. P2

Community

Feed Write-ups and maps from runners you follow. P4 App The same screens as a native iOS and Android app. P3

Prototype pages

Overview Roadmap Features Built like infrastructure
↑↓ move↵ openesc close