Tinder Task List Priority Order: How Swipes Set the Ranking

You swiped twenty cards, felt productive, and the numbered to-do list came out in an order you never chose. The order is not random. The tinder task list builds its ranking from one array rule and one prepend operation, and once you know the rule you can make the list come out exactly the way you want.

The deck is a stack, and the last card shows first

Tasks live in a plain array. Adding a task appends it, and the displayed card is always the last element.


const current = tasks[tasks.length - 1];

Two consequences follow. A new task jumps straight to the front of the session, so the card you just typed is the card you judge next. The card you entered first waits at the bottom and faces judgment last. Pressing Enter adds the task without touching the button.

The 80 pixel commit and the 40 pixel preview

Drag mechanics run on two thresholds. The overlay preview, the green or red tint with its check or cross, appears once your drag passes 40 pixels from center. The swipe commits once the drag offset passes 80 pixels in either direction. Between 40 and 80 pixels you see the consequence without paying for it, and releasing there snaps the card back.

The two round buttons bypass the thresholds entirely and commit immediately. After a commit, the exit animation throws the card 500 pixels sideways with 30 degrees of rotation, and a 300 ms timeout moves the card into its pile only after that animation runs. There is no undo once the animation starts and no way to cancel mid flight. The card spring uses stiffness 300 and damping 30, with an elasticity of 0.8 while you drag.

Why number 1 is your last right swipe

The ranking rule lives in one line of the swipe handler.


if (direction === 'right') setDone(d => [current, ...d]);

A right swipe prepends the card to the done array. The finished view numbers that array from the top, so the most recently approved task always takes position 1. Your first right swipe of the session sinks one position lower every time you approve another card.

This inverts the instinct to deal with the biggest item first. If you swipe your most important task right early, it ends up near the bottom of the numbered list. The fix costs nothing. Approve the nice-to-have cards first, hold your top priority back deliberately, and swipe it right as your final card. It lands at number 1 every time, because the code guarantees it.

What restart really deals you

Restart does not restore the deck you started with. The handler rebuilds the stack as the reverse of the done pile followed by the skip pile.

Run it on three cards. Add A, then B, then C. The session shows C first, and suppose you swipe C right, B left, and A right. The piles end as done equal to A then C, and skip equal to B. Restart leaves the deck as B, then C, then A from the bottom, so the second pass deals A first, then C, then B. The original session dealt C first and A last.

Whether that helps is your call. Your last right swipe becomes the opening card of round two, which keeps a hot priority in front of you at the cost of a fixed new order for everything else.

Where swipe sorting fails

The session keeps every pile in React state and writes nothing to localStorage. A refresh or a crash erases the input list, the done pile, and the skip pile, with no recovery path. The tool ships ten sample tasks for a quick demo, and real work deserves a written backup before you start swiping. Two piles also force every card into do now or skip, with no due dates, no notes, and no dependencies. Use the tool for triage, then move the numbered result somewhere durable.

Checklist for a correctly ordered list

  • [ ] Add tasks lowest priority first, since the stack deals the newest card first.
  • [ ] Hold your top priority for the final right swipe so it takes number 1.
  • [ ] Release drags between 40 and 80 pixels to preview without committing.
  • [ ] Copy the finished numbered list out of the browser before you refresh.
  • [ ] Rerun skipped cards through restart, remembering the new deal order.
  • [ ] Write down anything with a deadline, because the tool stores nothing.

The rule is one prepend operation, and you can verify it with three cards. Open the [tinder task list](/en/tinder-tasks), load the sample tasks, and check whether your last right swipe takes the top number. Report the order you expected against the order you got, and we will compare it with the reverse-of-piles deal.