2-sided marketplace: how to set up users, help me choose between two options!

Hello, I’m trying to build a 2-sided talent marketplace with softr on top of airtable and am struggling with how to organise the users and their data, would appreciate some insights!

The overall goal is to allow candidates to create a profile (should only have one per user) and employers to create company profiles as well. In my sector, a person could find themselves quickly moving from candidate to employer or even be both simultaneously so I’d rather not limit capabilities by user group. In case this is relevant, I plan on limiting visibility of candidate contact info to users with a paid subscription so there will be some user group usage, I just don’t want that to limit other capabilities.

What is the right way to set this up? I’ve thought of 2 options:

  1. A simple user table with all users and basic info only (name & email), and then 2 separate airtable tables with candidate and company profiles.
    How do link the user record with the profile records in this case? through the user email? How can I ensure users can only create a single candidate profile?

  2. A user table that contains all the fields for both candidate and employer profiles and forms accessible through the user account to create one and/or the other. This seems like the simplest/most robust but will also mean having a very large (in terms of column numbers) user table: is this an issue for app speed?

If there are other options I have not considered, feel free to share!
Thank you

Hi! I would go with 2. Create a user table that contains all info for user and employer. Then, include a “status” on that table which is a single select field type for “User Role” = Candidate, employer or admin.

Also, create another table for company, and on the user table, add a lookup field for company linking the two together.

Also, we have a lot of templates that could help you. I’d suggest grabbing a template so you can see how they structured their data there as an example!

1 Like

thanks @Jjenglert this worked out well so far!

1 Like

Great to hear, paul! Thanks for letting me know!