The Sign Up Facepalm


Classic facepalm.

Creative AI Writer has had a sign-in page since day one. Clerk handles auth — Google OAuth or email/password. Works great.

What it didn’t have, quietly, silently, for longer than I’d like to admit: a way to actually sign up when coming via certain paths.

The sign-in page had a Clerk <SignIn /> widget. No <SignUp />. there was a /signup route. Just no link. Just a login form staring back at you saying “Couldn’t find your account.” If you didn’t have a Google account to OAuth your way in, you were done.

The only users who made it in were Google users. Everyone else hit a wall and presumably assumed the app was broken. Because it was!


While fixing it I also renamed “Sign Up” to Register — something I should’ve done from the start.

Sign Up and Sign In always bothered me.

They are too visually similar. Two-word phrases, same first word, one letter difference in the second. Users scan, they don’t read, and the cognitive load of spotting the difference between In and Up when you’re already a bit lost is just unnecessary friction.

“Register” is unambiguous. Different shape, different length, different feel. You know what it means immediately.


The fix: a proper /register and /signup route (both work), a Clerk <SignUp /> component on it with both Google and email/password, and a “Don’t have an account? Register” prompt above the sign-in widget so it’s the first thing you see.

Register here if you’ve been trying and hitting that wall. Sorry about that ;-)