verify identity userflow

Verify Identity Userflow


TextMe users from Germany looking to obtain a German phone number were required to upload a valid photo ID and address to follow upcoming laws and restrictions that were being put into place.




  • UI/UX (Android/iOS)

  • User Research

  • Wireframing

  • Lo-fi/hi-fi Prototyping


I was tasked with designing the userflow to obtain a German phone number for both our iOS and Android products (TextMe, TextMe Up, and FreeTone). This userflow was multifaceted and would need to include uploading a valid photo ID (government or federal), a valid address, notifying the user the status of their document upload, and obtaining a German phone number.


Multiple challenges began to present themselves when I sat down and and began to take the project into consideration including:

  1. INTERNATIONAL ADDRESS FORM: What does this look like? How many lines does an international address require? If we roll this out in other countries, how will the form evolve?

  2. DIFFERENT FLOWS: We will need a few different flows for uploading documents/information.

  3. HOW CAN WE NOTIFY USERS: What will the verification process would look like and how can we notify our users that their information has been verified?


I took a step back to consider what country the users were coming from to obtain a German phone number since we had many international users and German residents were not the only ones attempting to secure a German phone number. I was able to see that most users attempting to purchase a German phone number were coming from Germany and these restrictions were only being placed on German phone numbers currently; but this restriction would likely become a standard for more international numbers and this was crucial to thinking about how the design will play out.

This meant that the address form would need at least 3 address lines to accommodate for international addresses instead of the 2 that we typically see in the United States and it would also require a country drop down menu.

I also planned that there would need to be three separate userflows to ensure that the user was getting their information uploaded and we would need to A/B test these to ensure which flow was more successful. These three different flows would be:

  1. Upload the information before purchasing a number

  2. Upload the information while purchasing their number

  3. Upload their information via their “My Account” page - no purchase necessary (hooray!)


I began sketching what the 3 different userflows might look like from the different starting points - the users account, before purchasing a phone number, and after purchasing a phone number.

To limit the burden of filling out the form, we had the form pre-populate information as the user began typing.



Before implementation, this project was put on hold. We will begin implementation and A/B testing in the near future.

Here are some of the key takeaways:

  1. Streamline the process

    After the hi-fi prototype was complete, the user flow when purchasing a German number is time intensive, requires a lot of steps, and gives the user a lot of chances to not make a purchase.

  2. Alerts (too much or too little?)

    Because of the importance of adding an address and photo ID - there were a lot of alerts at multiple stages that were added to the “purchase” flows; this could potentially drive down conversions. Being cognizant of what is being added to a flow that a user is already used to is definitely something to be aware of here - but only A/B testing would tell us in the end had we implemented this.


View the prototype where the user is prompted to put in their information as they purchase a number (on Android) by pressing play.

Note: These userflows were designed for both iOS and Android.


I have omitted and obfuscated confidential information in this case study. All information in this case study is my own and does not reflect the views of TextMe Inc.