Best way to implement "Family Account"

I have an app that creates little prompts for parents and kids, currently tailored for one parent. I’m getting feedback from my users that they wanna be able to login as a family instead (like netflix, where they can add both parents).

I’m still thinking about the actual jobs to be done here but I’m wondering how you’d go about letting 2 users share the same instance of glide app data and experience? Would you still require them to login as individuals and then you’d somehow link them on the google sheet side?

my app: https://app.edupine.io

Thanks

5 Likes

This is an interesting challenge. How much of the data would a family account share together?

  • their child(ren)
  • past and upcoming parenting prompts

How I’m thinking so far:

and when the 2nd parent receives an invite link, their fiirst time sign up/in flow will look like:
Screenshot 2021-01-20 at 12.30.53 PM

so that when i filter content i can use the condition “email is signed in user OR email is spouse_email”

How I would approach this:

I would create another sheet for families and on the user profile sheet, I will have a new column called “belong to which family” for each user
During onboarding, a user could select his own family from a choice component if their family already exists/create a new family in the family sheet using a form. This would add the family name in the choice component. That way every subsequent member of the same family could select their existing family name.

Now all the visibilities inside the app could be configured on basis of the family column so each person belonging to the same family views the same things and users can always add new users to the same family.

Let me know if you need more clarity.

6 Likes

Yes, this is a smart method. I should probably update my bankit app template with this workflow. Thanks @Manan_Mehta

5 Likes

I am looking at the same issue with an app I am currently building. I am considering the option that the first account has the option of emailing an invite to other family members with a unique family ID that can be pasted into the app to link the accounts via a family table.

I am also creating a separate child table so the adults can add them into the family group as they will not have their own sign ins.

This is the next item on my to do list, I am thinking it will open up a can of worms.

I really like that idea, thanks for sharing. Gonna try it out

2 Likes

what would the unique identifier for each family be though? if it’s name, i’m thinking that’ll require some real time validation to make sure it’s not already taken

On the Sheet for families, I assume you can add a rowID/unique value when you create them and use that as the unique key.

What about to families with the same family name? If the ID is the rowID, how would a new member distinguish which should select from the choice list?

I’ve been working on something similar, but with vehicles and owners.

A user can add new vehicles to their account and the vehicle is written to the sheet with the owner’s row id in an owners column. Using the row id in the user sheet, I can create a relation to the vehicle sheet easily. When a user is viewing their list of vehicles, I added the vehicle row id on the screen as well as a qr code of the vehicle row id (for when we get barcode scanning).

Whenever a user wants to share one of their vehicles with another user, they can share that row id with them. Then the second user can enter the vehicle row id into a temporary field on the screen and it will instantly validate the row id. If valid, they can press a button and then a set column action takes over.

Ultimately, my vehicle sheet has a column that holds the owner id, but this column can hold multiple values in a pipe delimited format. A split text column splits those owner id’s on the pipe delimiter to give me an array of owner id’s that I can use for the relation from owners to vehicles.

To build that list of owners, when a user enters the shared vehicle id, I then have a relation to link the entered id to the matching vehicle id in the vehicle sheet. Then I have a lookup column to pull back the owners list for that vehicle. Then I create a template column that joins the existing owners list and the new owner id from the currently signed in user. When the user clicks on the button, the template column overwrites the owners column via a set column action through the relation. Now the vehicle has two owners and both owners can view and work with that vehicle.

I just did all of this yesterday, so I haven’t worked through the process of removing an owner yet, but hopefully this gives you some ideas.

3 Likes

Using Jeff’s idea above, I assume if the initial choice has to be through a choice component, then you can show the ID alongside the family name in a template column.

Another way is to let the initial user share the ID and then new users type it in a user-specific column for validation, then submit it.

1 Like

I was thinking the same thing. What about using the idea of invite codes instead? Similar to Jeff’s idea, but making the “invite code” shorter.

I’m working on an app now with the same issue of adding people to different groups. I used a GSheet formula with the LEFT function to shorten the RowID then add the number of the row to ensure it’s unique. Not sure if there’s a Glide MATH function equivalent.

4 Likes

I don’t know if this will help, but similar to Lisa’s solution - I use this to create my own invite codes:

2 Likes

Here’s a couple screenshots of what my screens look like so far. Once the barcode scanner is released, then I’ll be able to easily scan a barcode instead of typing in the code.

Current owner vehicle

Second user adding new the shared code.

2 Likes

I’m thinking of a simpler way that doesn’t require creating a Families sheet. In the users sheet, I’m thinking of adding a partner_emaip sheet where I can add the email of a person’s partner, so that on each screen, I can filter by email == signed in user OR email == partner_email and have one copy of the data that is shared between two users. May need some relation columns that’ll mirror first parent’s data on their partner at runtime

While the barcode scanner is released I 've used the idea in this post
to implement it in an app

I’m in no rush to wait for the scanner. It’s more of a personal project to be used for myself and a few others. I may expand it to others in the future, but for now, I think I’m limited due to proper data security. I had to remove Row Owners on some sheets to make this work how I wanted.

Would using a scanner limit “proper data security”?

No, a scanner wouldn’t limit security. It’s just that in my particular case I had to remove row owners because I wanted to add an owner to a row, but they need access to that row in the first place before they can be given access. It’s just something unique to my special case. I just mentioned security because I’m not in a rush to find workarounds for a scanner because with the way my app is set up, I feel it’s not secure enough to share with a widespread group of people.

2 Likes