MOTIONSTASH
All components

Comparison Race Chart

Data

Two series race across fifty points, one solid and one dashed, each carrying a badge and a live figure while a counter runs in the corner

Download preview768×432 preview render. The full-resolution file comes from running the component
12 seconds
Format

This is the format it was composed for. Switch above to see it lay itself out for another: same animation, re-arranged for the frame.

comparisonline chartracedual seriescounterlegendsvg
What you can change · 14 settings

Everything below can be changed without touching the animation. Hand the list to an agent, or edit the values at the bottom of the component file.

  • Title *
    title · string

    The comparison being made, set top-left. A noun phrase naming the measure: 'Revenue, indexed' rather than 'A chart of revenue'.

    now: Umsatzentwicklung im Vergleich

  • Subtitle
    subtitle · string

    One line under the title for the unit or the baseline: 'Index, 1976 = 20'. This is where a chart earns trust, so say what the numbers are.

    now: Index, 1976 = 20

  • Series aname *
    seriesAName · string

    Legend name for the solid series.

    now: Aurea Systems

  • Series bname *
    seriesBName · string

    Legend name for the dashed series.

    now: Northlane Works

  • Series a *
    seriesA · array

    The solid series, in order. Drawn with a round badge. Any length, the x axis divides itself evenly, so 20 points and 200 points both fill the plot.

    now: 51 items

  • Series b *
    seriesB · array

    The dashed series. Should be the same length as seriesA; if it is not, the shorter one stops early and the longer one keeps going, which is usually a mistake rather than a design.

    now: 51 items

  • Start label
    startLabel · number

    The value of the first x position, counted up one per point and shown large in the corner. Years are the obvious case; any integer sequence works.

    now: 1976

  • Counter label
    counterLabel · string

    Small label above the running counter. Set to an empty string to drop it.

    now: Jahr

  • Y max
    yMax · number

    Top of the y scale. Deliberately not derived from the data: a fixed ceiling is what lets the winner visibly run out of room near the top.

    now: 110

  • Y ticks
    yTicks · array

    Values that get a gridline and a left-hand label.

    now: 5 items

  • X tick every
    xTickEvery · number

    Label every Nth x position. 10 over 50 points gives six labels, which is about the most a frame can carry.

    now: 10

  • Color a
    colorA · string

    Hex for the solid series. Empty uses the brand accent, which is the safer choice.

  • Color b
    colorB · string

    Hex for the dashed series. Empty uses the brand's alternate accent.

  • Brand
    brand · string

    Brand preset. The light presets (paper, press, field) put dark type on a pale ground; the dark ones invert it. Both are composed for. This component reads its type colour from the brand rather than assuming a dark frame.

    now: paper

For developers · source, dependencies and provenance

Dependencies

remotion@remotion/shapeszod

No Tailwind, no CSS, no asset files. Inline styles only.

Source

Filesrc/registry/items/comparison-race-chart.tsx
Frame1920×1080
Duration360f · 12s @ 30fps

Provenance

ToolClaude Code
ModelOpus 5
Authormotionstash
LicenseMIT

Prompt

Two series racing across half a century on a fixed 0-110 scale: one solid line for the early leader that keeps stumbling, one dashed for the late entrant whose logistic curve goes straight past it. Gridlines and axis labels fade up first, then both lines draw together over about eight seconds while a year counter runs large in the top-right corner. Each line carries a badge at its leading edge, a disc for the first, a hexagon for the second, with the current value beside it, and the two badges push each other apart when they would otherwise overlap.