← All projects
Rhythm · Shipped

TagYourTurn

Whose turn is it? One shared link for two people, no login. It shows who's up today, and one tap flips it for next time.

Why it exists: My wife and I play Wordle, Spotle, and a few other games together and switch who goes first. I was tracking it in my Notes app with a phone shortcut that copies the date on a double tap. It worked, but I wanted a real place for it. Once I built it, I realized it works for anything two people take turns on.

tagyourturn.com ↗
Next.js 16Prisma + PostgresNeonTailwindVercel

What it does

One person creates a tracker with two names and gets a secret link to share. Each phone picks which person it belongs to, no account needed. The page shows whose turn it is. Tap Done and it flips to the other person. Skip if today's not a day for it, and the turn stays where it is. Swap trades it, and either person can fix a day that got logged wrong. Rotating the link kills the old URL if it ever ends up somewhere it shouldn't.

Designed so it can't be used against anyone

A shared log can turn into evidence, so I designed against that from the start. It answers whose turn it is without becoming a way to keep tabs.

It's mutual. The tracker only exists if both people have the link, so nobody gets tracked without opting in.

Both people can do everything: Done, Skip, Swap, fix a day, rotate the link. No admin, nobody watching the other.

It forgets. It only looks back 7 days and figures that out fresh every time, so old stuff just drops off. There's no all-time record to bring up later.

It never nags. No notifications, no reminders, no "the other person hasn't logged" prompts. No streaks, no leaderboards, no exports.

A few details I cared about

It doesn't assume things split 50/50. The turn only moves when someone taps Done, so skipping a day, or a week, is fine. It picks up where you left off.

Two phones tapping at the same time is handled. Every change locks the tracker row inside a transaction, so taps get applied one after the other instead of canceling each other out.

The link is the login, so it's treated like one: 128-bit random tokens, no referrer sent to other sites, never indexed, and page titles never include names so link previews stay private.

It uses the same design system as TabMath: monochrome, Space Grotesk and Geist Mono, zero radius, 1px borders. Tiny tools for keeping things fair.