Skip to content
Native Animation
Cosmic Motion Score animation preview

This preview uses fictional demo content. See the props below for the customization options available in this component.

npx nativeanimation add cosmic-motion-score

Cosmic Motion Score

A fitness dashboard with an interactive eclipse score and configurable metrics, avatar image, colors, and fonts.

$9 for this animation

Add to your project

Copy the component and its assets into your app with the Native Animation CLI, or paste the agent prompt into Claude Code, Codex or Cursor once the MCP server is connected.

About this animation

A fitness dashboard with an interactive eclipse score and configurable metrics, avatar image, colors, and fonts.

How it works

  1. A single Reanimated progress value drives the planet's entrance and score count-up.
  2. The eclipse rim and satellite move on the UI thread; a pan gesture lets the user redirect the light.
  3. Tapping the score switches between the daily and weekly range.
  4. Three compact activity summaries and a supplied training image complete the dashboard.

Install

npx expo install expo-image expo-linear-gradient react-native-gesture-handler react-native-reanimated react-native-worklets @expo/vector-icons

Usage

<CosmicMotionScore
  avatar={require('./member.webp')}
  training={{ kicker: 'SUGGESTED TRAINING', title: 'Orbit Flow', meta: 'Strength • 28 min', image: require('./orbit-flow.webp') }}
/>

The component is a full-screen dashboard. Its parent owns safe-area insets. Call ref.replay() to replay the entrance or ref.toggleRange() to switch the score range.

Props

PropTypeDefaultDescription
userNamestringALEXProfile name.
avatarImageSourcePropTyperequiredProfile image.
greetingstringGood orbit,Header greeting.
headlinestringMOTIONDisplay headline.
taglinestringKeep your rhythm cosmic.Supporting copy.
scorenumber86Today's score.
maxScorenumber100Score maximum.
scoreLabelstringMOVEMENT SCOREScore caption.
ratingstringStellarScore rating.
weekScorenumber78Weekly score.
statsCosmicMotionStat[]3 activity metricsLabels, values, progress and colors.
trainingCosmicMotionTrainingrequiredSuggested training content and image.
colorsCosmicMotionColorscosmic paletteEclipse stops, satellite and background.
onTrainingPress() => void—Training card action.
onTabChange(tab) => void—Bottom tab action.
fontFamilystringsystemInterface typeface.
displayFontFamilystringsystemHeadline and metric typeface.
scoreFontFamilystringsystemScore typeface.
styleStyleProp<ViewStyle>—Root container style.
testIDstringcosmic-motion-scoreRoot test identifier.

Compatibility

Expo SDK 58, React Native 0.88, Reanimated 4.7, iOS, Android and web. Uses Feather icons from @expo/vector-icons. Expo Go supports the dependencies used here.

Accessibility

Score and training actions expose labels and button roles. Reduced motion skips the entrance and continuous orbit while keeping final values visible. The parent screen provides safe-area spacing.

Why this one

The central score is treated as a small world with movable light, orbiting motion and supporting activity data instead of another repeated set of progress rings.