Creating a gamified in-app store/inventory

Here’s the latest version with the latest features:
1.) Restricts items from being bought if no inventory slots are available
2.) Displays Rank and XP for user
3.) Displays all ranks available
4.) Displays “public profile” for each user of a given rank

1 Like

:partying_face:Yeaaaaaah buddy!

:facepunch:Über props to @Jeff_Hager…just spent 2 hours making glide app columns replace my vlookup columns in Sheets and now I have INSTANT conditional data :raised_hands: for the following features of the app:

  • Enough funds to purchase? INSTANT CHECK
  • Enough inventory slots to purchase? INSTANT CHECK
  • Making a purchase? Current balance is INSTANTLY CALCULATED
  • Dropping/Using an item? Inventory slots are INSTANTLY CALCULATED

Play around with it here and let me know if you experience any glitches!

1 Like

The audio is a bit soft, my apologies, but here’s the logic behind the ZERO LAG!



@Robert_Petitto You inspired me to modernize my currency transfer demo in the concepts app. The only thing I’m missing is the prevention of purchase if users don’t have enough funds. The logic is in place to check if a user has enough funds, but since it’s public and I’m emulating fake signed in users, I can’t actually apply the visibility to check if the signed in user is in the list of affordable emails. I also have no way of restricting transfers. At least it functions very much like yours. Thanks for the videos!

Right on! :metal: Glad you were able to benefit from my one of my Glide projects! You’ve been instrumental in helping me see the benefits of doing things “in house” rather than solely in the Google Sheet. Let’s keep it goin’!

1 Like

Ooo…I like how you switched the button to be “greyed out” with the label “purchased”. I might just have to do something similar with purchased items or unavailable items…it might look cleaner than the emoji/rich text that I’m currently using.

Wait a minute…how did you get a button that does nothing when clicked?

1 Like

I have a template column called PurchasedLink that simply contains the # character. It’s used as a URL Link action. # links are typically used to link to other locations on the same page. Since it’s a # by itself, it basically links back to itself, so the button doesn’t do anything. Credit goes to @ionamol for this trick.

1 Like

Ah…yes the # html anchor. Perfect!

1 Like

:arrow_double_up: Update!

My gamified Glide app now includes the following features:

  1. Player Profile Pages with option to follow other players
  2. Guilds and guild leaderboards
  3. Player leaderboards

1 Like

@Robert_Petitto this thread inspired me to do a few things I had been procrastinating on. I have a gamified app with in-game currency as well, all of the transactions are being calculated in the sheet of course, and was hitting the same problem with the lagginess of Glide updating potentially allowing a spend that wasn’t actually avail to the user anymore, sending balance into negative. Just sat down and using some relational columns, Glide look ups, a new check column with dummy data sent when a transaction is made, and some scripting, I’ve got a nice little “Please wait while your account cools down” alert while users wait for balances to sync up. I also began the longer task of replacing VLOOKUPS with Glide lookup techniques for instant UI updating for the user. Some of my VLOOKUP logic is a bit more complicated than what Glide can do unfortunately, but was able to replace enough of them for a more immediate experience for the user on most submitted data that’s reflected in the app.

Anyway, just wanted to stop by and say thanks Robert and @Jeff_Hager.

1 Like

Hey, that’s great to hear! Yeah, a VLOOKUP or QUERY is SO much easier than the Glide alternatives, but so much laggier which results in poor user experience. Would love to take a look some time!

Certainly! I’m about 3 weeks away from a closed beta and I’ll give you a peek once things are moving along.

Yeah… I have three different sheets that use QUERY to duplicate three other sheets so that I can have non editable versions of content for the community to read and the same versions that users can edit if they own it. It’s terribly cumbersome, a little nerve wracking as any small mistake on my part and those QUERY sheets will render as #REF and the loss of all the columns for the few minutes I’m trying to correct it could destroy huge portions of the app cause Glide deletes components of it can’t find the column anymore. And of course a lag for pretty much all of my public content. Not to mention the thousands of redundant cells digging into my 25k quota and 5M cell sheets total…

And it could all be fixed with just the smallest feature: visibility conditions on that little edit pencil.

But patience, I guess. This product is developing pretty fast.

Precisely. What I did was create the new columns in Glide first and ensured that they matched my vlookups/queries before deleting them from the sheet…cumbersome, but worth it.

:arrow_double_up: Update!

  1. Award users points for chatting
  2. Award users points for completing daily challenges.
  3. Create an onboarding experience (only allow users access once they’ve completed a profile).

All these videos are also now available within the app. Find them in the Challenges section. After watching, you can submit a feedback form to earn XP within the app. :star_struck:


How did you integrate the badge within the image on the profile page?

Neat little trick I developed using the Cloudinary platform. Take a look atmy posts:

You’ll notice that the color ring matches your rank badge too!


This is impressive!
Thank you

1 Like

By request, the app now has the ability to limit users from purchasing if they don’t meet rank requirements. Love this “unlocking” mechanic!

I have silver rank with 19 gold.

Shop shows rank required:

This is an item I can buy (I have funds and rank):

I am unable to buy this one (I have funds but not rank):