I'm building an app that will have two different types of users, let's say "Shoppers" and "Agents" for example.

I am trying to determine whether I should split the login / signup to different areas entirely, or have 1 login for bother user types. I will be doing Facebook and Google logins, so I am thinking that I need to somehow prompt the user which type they are before they do any other action (e.g. click the log in or sign up with facebook button).

What I am ultimately trying to do is keep the process simple and easy, without the user signing up as the wrong type from the beginning.

Any ideas or examples of sites or apps that are currently doing this or similar process?

2 Answers 2


Could the same person ever have both roles?

Almost always, this is actually a possibility. A doctor is a patient sometimes. A seller on a website might want to buy something from the website and so on. Even if someone can't have both roles at the same time, they might change status from one to the other. And in fact, such cases may be more common than you think.

You don't want to handicap yourself with a design that makes this a problem. Also, you may not be sure how your site is going to evolve and develop in the future. What if you come up with another use case that changes your understanding of who a user is and what their role is?

I would lean toward having a single account that, in theory, can take on both roles. But only have one role "enabled" by default, which will drive what content the user sees and what they can do.


I don't think you need two different screens for different type of users.

Simply use three field logic.

User Name Password User Type (drop down menu with types of users)

If you have users who can have both the roles, call it something else like 'Admin' or 'Editor' or something that's relevant to your website.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.