# Star Rating Reviews & Detailed Form - Single Cell - No sign-in option

**URL:** <https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831>\
**Category:** Community Resources\
**Created:** [June 3, 2024, 8:52am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831 "2024-06-03T08:52:32Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 3, 2024, 8:52am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/1 "2024-06-03T08:52:32Z")

</div>

Hi guys,

I created a star ratings & review workflow (EDIT: and used the same concept to create a detailed application form) that does not increase the number of rows in the app and records all submitted data to a single cell. At the moment it works like a charm for adding new reviews. It’s an alternative if you need to strictly limit your row usage and don’t mind a bit more rigidity in the review structure. Although, it is quite flexible in terms of formatting and scaling.  
Note: I did not involve a user column since my app is set to “no sign-in”.  
This is my first time tinkering solo so let me know what you think and if there’s an easier way to do it. 🌴

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/0/60f2186aec8ea95f01800a6a53cb9098ac6ee798.jpeg)

Like what was demonstrated by @Robert_Petitto, I created the Stars table:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/6/761f80ef3f082d8b1dae94e84b62f3bca3d9afca.png)

Instead of creating a Review Log table, I added a **user specific column for the reviews** and a **user specific column for the ratings** to my primary table with all my businesses (to gather new the data there).

Additional columns to feed Star Ratings:

1. All Stars – Text Column to output current incremented star ratings

2. Stars Combining – Template column to concatenate current star ratings with newest submission  

3. Star submissions - Number column to track the number of submissions (via increment action)

4. Average Star Rating – Math column

5. Round average star rating – Math column

6. Relation to Star Display table – Relation column

7. Star Display lookup – Lookup column

8. Ratings Display – Template column  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/8/68f066b3bf4334d8441d628fe008106cdd1fab19.png)

9. Rating ITE – If then else column to display ratings in text component  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/0/8081ef48b3b1edf46b4788e5b31597be9b8060c3.png)

Additional columns to feed Reviews:

1. Rating timestamp – date & time column
2. All Reviews – Text Column to output current incremented reviews (to display reviews in rich text component)
3. Combining Reviews – Template column to concatenate current reviews with newest submission and create HTML format  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/1/61ef00d730015779b116a917a3c3abb083aaca9d.png)

```auto
<p>(UserStarRating★) {timestamp}</p><p>{UserReview}</p><hr><br>{AllReviews}

```

1. USC Rated? – Boolean column (triggered by submit action)

Finally a custom action is used to get current date & time, then set column values All Stars and All Reviews, increment Star submission # and set “USC Rated?” boolean column to true (to use for component visibility).

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/7/67c115b070e220732d5f261a424a7a4eb5a64529.png)

Customized Rating submission components:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/7/67e5f086919ff217aa34c55de01823a775bcafd6.png)

\*\*Important note: For the custom action, I needed to set the timestamp column value first or else it might not be placed in the review.  
Then I set the All Stars and All Reviews column values as shown below:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/f/8fd6f71b7c2e5f9eac0df9a44cc238a6cb38d061.png)

\*\*EDIT  
I have also used this method to build a single row Add Business form - no sign-in option. Full record of applications exist in a single formatted cell. Easy for anyone to create!

![Single Line Form Vid](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/9/29ba3791453ca04e0883be83e1a2a6a12f72a730.webp)

Send email action added:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/2/720c06772bfc49da05534535eb92cfe1acac4956.png)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 3, 2024, 11:44pm UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/2 "2024-06-03T23:44:51Z")

</div>

So you’re storing the log of all ratings in two basic columns: All Stars and All Reviews, is that correct?

You are delimiting them by “+” characters, and not using JSON?

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 4, 2024, 12:27am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/3 "2024-06-04T00:27:32Z")

</div>

> [@ThinhDinh](#):
>
> So you’re storing the log of all ratings in two basic columns: All Stars and All Reviews, is that correct?

yes

> [@ThinhDinh](#):
>
> You are delimiting them by “+” characters, and not using JSON?

Kind of but it isn’t used as a delimiter for the star values… I’m using “+” to create a Summation string then dividing by the # of submissions increment in my Av Star Rating math column.

There isn’t a conventional delimiter in this method. The “Combining Reviews” template column outputs to “All Reviews” in HMTL format and the reviews are read using Rich Text in a slide in overlay.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/1/711faa48de33dced2bfb6be77f7e824ed2378065.png)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 4, 2024, 12:36am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/4 "2024-06-04T00:36:40Z")

</div>

Ya, I was thinking it would be clean if you store a JSON of all reviews, then use JSONata for querying out the average.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 4, 2024, 12:40am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/5 "2024-06-04T00:40:06Z")

</div>

Oh ok! how is that done?

The current columns look like this. The Combining column already sees that 3 is being written. When I click submit, the user specific rating of 3 will be added to “All Stars” and the Av Star Rating will update.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/f/af464cf76d6cf4a83bf1022a1c51c23a8684d66f.png)

For the full reviews, no math is done, only concatenating and formatting for display:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/a/dad5cda0584928fc377ac2932364bb27e1c988e9.png)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 4, 2024, 11:51pm UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/6 "2024-06-04T23:51:37Z")

</div>

> [@Sekayi\_Liburd](#):
>
> Oh ok! how is that done?

Something like this I guess.

> [@dizzyaccordion JSON Trebuchet](https://community.glideapps.com/t/json-trebuchet/72744):
>
> wave Hey fellow Gliders! Part two of my Trebuchet series is live! Last week, I posted a tutorial on a new way to create inline arrays using the Trebuchet method Part 2 is a deep dive on how you can Trebuchet more than a single value by creating arrays of JSON exploding_head. Check out how to build an inventory ordering app using the JSON Trebuchet Method! :popcorn:Enjoy! [[Glide: Build an Inventory Ordering App Using the JSON Trebuchet Method] ](https://www.youtube.com/watch?v=1QbKTccN850)

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 5, 2024, 3:53am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/7 "2024-06-05T03:53:09Z")

</div>

I’ll check it out. thanks!

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 6, 2024, 3:17am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/8 "2024-06-06T03:17:05Z")

</div>

I looked at the Trebuchet videos. Very sophisticated!  
@Robert_Petitto is a real gem for sharing that with us.

Correct me if I’m wrong though… I don’t think it fits my use case since I’m not working with signed-in users so that pretty much throws user editing out the window. Another hiccup is that I assume the Trebuchet method also triggers updates and since my app is a free, public community-type app (ultimately targeting 1.4 million people), I definitely wouldn’t want to risk using any integrations that would incur additional cost - I’m limited to 500 updates/month.

If the JSON integration is (update-)free, definitely let me know because it can certainly help me with the task of removing any spam reviews on the back end - currently I’d do this by manually editing the All Reviews text column.

The workflow I showed here is a basic, layman-style workaround, that involves: 10 columns and a static reference table to set up and display the average star ratings; 4 columns to add review comments; 1 custom action to bring it all together. Do you think there’s a way to condense these further in order to simplify the process (without cost, of course 😁)?

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 6, 2024, 3:45am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/9 "2024-06-06T03:45:22Z")

</div>

If you’re on the latest plan and use Glide Tables, it doesn’t incur updates.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 6, 2024, 3:51am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/10 "2024-06-06T03:51:18Z")

</div>

ok great. I’ll see if I can make the workflow more sleek with JSON.  
Is there a list of free integrations that I can refer to? I pretty much never click on integrations because I’m afraid of using updates.

\*\*oh, another question. My app has slowed down in the past month. Would using JSON slow it down more?

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [June 6, 2024, 6:35am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/11 "2024-06-06T06:35:47Z")

</div>

If you’re on a new free plan, then you shouldn’t have access to anything that will consume updates.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 6, 2024, 6:47am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/12 "2024-06-06T06:47:50Z")

</div>

hi @Darren_Murphy , I’m on the maker plan.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [June 6, 2024, 1:41pm UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/13 "2024-06-06T13:41:00Z")

</div>

In your case with the Maker plan, if you used Google sheets, then the data changes in the sheet would incur updates. Other than that, any integration that uses updates will explicitly tell you how many updates it uses when you try to add it.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 6, 2024, 1:44pm UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/14 "2024-06-06T13:44:41Z")

</div>

ok, thanks for this info!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 7, 2024, 12:11am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/15 "2024-06-07T00:11:42Z")

</div>

> [@Sekayi\_Liburd](#):
>
> Is there a list of free integrations that I can refer to? I pretty much never click on integrations because I’m afraid of using updates.

Well it says itself on how many updates it incurs when you add the integration, so you can try it on your own.

> [@Sekayi\_Liburd](#):
>
> My app has slowed down in the past month. Would using JSON slow it down more?

Without knowing much about how your app is built, I can’t offer more insights. I don’t think JSON would slow it down.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 7, 2024, 1:08am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/16 "2024-06-07T01:08:47Z")

</div>

This is my main structure:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/a/7a34bade2afd1649e59f8384eda7cda1d0c40203.png)

I didn’t explicitly show the containers with minor components that reside on the homescreen.

App link: [https://hiptnt.glide.page](https://hiptnt.glide.page)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 7, 2024, 11:32pm UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/17 "2024-06-07T23:32:45Z")

</div>

I actually think it’s loading nicely on my end. Which part of it is slow for you?

And thank you for taking the time to draw the structure diagram.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 7, 2024, 11:59pm UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/18 "2024-06-07T23:59:33Z")

</div>

did you load it on mobile or on pc? the loading time seems really slow on mobile

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 8, 2024, 12:01am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/19 "2024-06-08T00:01:52Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/8/7877f3658af294f9c92bbeb5f3a22c98f0eb6b1c.jpeg)

A bit more time on mobile, but only on the initial load (since we have a lot of images to load), but went well afterwards. Safari on iOS 17.5.1.

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 8, 2024, 12:06am UTC](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831/20 "2024-06-08T00:06:04Z")

</div>

Is there something I can do to reduce the time? I got tips from @Himaladin so I’m slowly replacing my png/jpeg images with webp files.  
He also mentioned that too many containers on a single tab can slow the speed but i tried deleting a few and the loading time remained unchanged.

[Next page](https://community.glideapps.com/t/star-rating-reviews-detailed-form-single-cell-no-sign-in-option/73831.md?page=2)
