Signup flow
Tripled signup conversion in five hours, with Codex.
edrone is a marketing automation CRM for ecommerce. Automated messages and newsletters bring shoppers to the store to buy: a cart they left behind, a first order, the next one.
For ten years edrone sold one way only, through Sales. Freemium was the company's first product-led channel, and this work landed four months into it.
Sr Product Designer. I owned the diagnosis, the design and the shipped frontend. A developer built the backend, reviewed my code and released it.
edrone.meAcquisition was freemium's goal at that stage, so the activation funnel was the priority for the Freemium Team I led. Signup was its first step, which meant everything lost there was lost again at every step below it.
In Amplitude the largest drop across the four-step funnel sat between clicking "Sign up free" on the website and creating an account. 0.75% of unique visitors made it through, against a 2–3% market standard. I led the freemium project, so I took this one on myself. It was the highest-leverage number on the board.
I started in Amplitude. I checked the event data was sound, then watched session recordings of that exact step to see what people were doing on the form. That gave me a short list of what I thought was wrong.
Alongside it I ran a UX agent I had built on Claude across the flow. It walks the screens in a browser, clicks through them the way a user would, and returns a report with problem, description and severity.
I used the agent to test my own hypotheses rather than to produce them. It confirmed most of what I had already found, added candidates I had not considered, and ranked them. I picked the ones worth the time and cost of building.
A mandatory phone number almost nobody used
A leftover from the sales-led funnel. One salesperson was responsible for calling accounts that signed up and then went quiet. Every user paid for that, at the most expensive moment in the funnel.
SSO promised one click and delivered a form
"Sign up with Google" did not create an account. It took an address from the Google dialog and dropped the user back on the same four fields, now partly filled. The button looked like a shortcut and behaved like autofill.
The obvious fix was removing the phone number. The COO pushed back at first, because his concern was Sales losing the ability to qualify leads, which is fair. So I went to Sales and talked to the one person who actually made those calls. He admitted there was no value in them and confirmed the field could go. It stayed removed.
The second was making SSO real. We had just added Shopify alongside Google, so it had to actually create the account across both providers.
Then I went further and split the form to make signing up feel lighter and to capture the account earlier. Step 1 now creates the account from an email address or SSO. Step 2 collects name and store URL.
Before: four fields in one pass, with SSO under the form it would have filled in. After: step 1 creates the account, step 2 collects what the product needs.
More steps normally means less conversion. My bet was that what people see at the moment of the decision matters more than how many steps follow, and the result says it did. Anyone who drops out of step 2 already has an account, so I set up recovery paths in Intercom to bring them back. The friction moved to after the contact rather than before it.
I designed the flow in Figma, then built the frontend directly in Codex. That part was quick, because Codex already had the coded design system I had built when I joined edrone. A developer handled the backend, reviewed my code and released it. The whole project, from diagnosis through design, build and test to production, fit into five hours.
Unique visitors who ended up with a created account, from 0.75% to 2.25%. Conversion on to an integrated store did not move, so the extra signups were no worse than the ones before.
Share of visitors who began filling the form went from 2.7% to 10%. Desktop 3% to 10%, mobile 1% to 10%. Splitting the form was the bet, and this is what confirms it.
I shipped three changes at once and gave up knowing which one worked better. Traffic was low enough that isolating each change would have meant at least three weeks per change to collect anything meaningful, and an A/B test would have taken longer still. With more traffic I would split it, but at that point I had to move quicker and leaner.