AI features in Glide

Let's check out some cool AI stuff that comes with Glide

Introduction

In my recent posts on Glide, we saw how to build an image carousel in a super easy manner in Glide, we saw how to auto populate address fields integrating a location platform Radar. In this post, let's deep dive into the AI features that comes with Glide.

With these AI features, one can add a lot of functionalities and improve the user friendliness of an app to a great extent. Such aspects can even become the USP of an app thus bringing in more Customers (if it's a SaaS product) or improve the process for Customers (if it's an internal tool).

To give a sneak peak, how nice it'd be if my app can read text from images with just a simple configuration, how much value can I bring in with just this single feature? Likewise, how much time it'd save for an end user if they can record audio messages and there is an option to convert it to text.

A task that could have taken 10 minutes in the past can now be done in less than a minute. Imagine the amount of process efficiency it brings to your end Customer. The best part of it, is you don't write a single line of code 😎

AI features in Glide

Glide has 8 AI features as of today. They can be used in data editor, layout editor as well as in the action editor. Below are the features in detail

  • Audio to Text

    • With this feature, we can transcribe an audio that is present in our Glide app. There are two options to bring in an audio file, one is to use an Audio component to record audio on the fly and the other is uploading an audio file using the regular File component.

    • Once the audio file is in place, we will need a text column in the database to store the transcript. That's all 🀩

    • Either to use an audio component or a file component is purely dependent on the scenario in which it's being used.

    • A slight detour πŸ˜‰, just to tickle your brain, I thought of providing scenarios where each will make more sense. Imagine a Language tutoring app, for now an English tutoring app, it will be easier to have an audio component where the tutor can record an audio message so that the student can listen. All the tutor has to do is to press the record button and record their voice message.

    • Whereas if there are audio files that are already present and needs to be analyzed, they can be brought in to the app using the File component itself.

    • πŸ’‘
      Glide documentation clearly mentions the following and needs to be made note of: It supports the following audio file types πŸ‘‡ mp3,Β mp4,Β mpeg,Β mpga,Β m4a,Β wav, andΒ webm File uploads are currently limited to 25 MB.
  • Document to Text

    • This feature extracts text from documents like PDF, Power point slides, Word documents and Spreadsheets. Extracted text can be stored as raw data in multiple text columns in the database and we can use them to display as a piece of information in our Glide app or use them in mathematical calculations.

      What can it be used for is up to the developer's creativity and understanding of the Customer's business requirement.

    • A practical scenario where this feature can be applied, Imagine an expense tracking app that tracks all the payments that we make and shows some useful metrics using the extracted data. Upload a payment receipt and if the app is able to automatically extract the company to whom we paid, amount, date of payment and so on. End of each month, it slices and dices the extracted data into useful charts. What a useful feature that can be and how easily this feature can be embedded in our Glide app, Mind blowing, isn't it? 🀠

      πŸ’‘
      Handwriting can also be recognized using this feature as long as it is in the required file type πŸ“
  • Generate Text

    • This feature can generate new text from an existing text, a prompt, or a set of parameters. This is an extremely powerful feature when it comes to tasks like content generation, summarizing content, generating responses in an automated fashion.

    • The trick lies in providing the appropriate prompt or giving it the correct question so that it generates appropriate content/answers.

    • When I think of where it can be applied, it seems to be numerous. Imagine an app that generates a summary based on multiple text inputs, Generate text can be good feature to use. As common as a screen where a teacher writes a summary of a student's performance based on his/her performance in each individual subject πŸ‘©β€πŸ«

      πŸ’‘
      Be sure to understand how many updates it makes as it is dependent on the number of generated tokens!
  • Image to Text

    • This is another feature that can be used in a lot of use cases where image plays a primary role. Infact, I would reiterate that the usefulness is solely driven by the developer/product owner's ability to map or come up with business requirements.

    • It has two options:

      • Describe - This will generate a list of comma separated descriptions of the image in picture. It tries to understand what is present in an image

      • Extract text - This will extract text from an image. The result can be plain text or in JSON format.

      • Use cases that come to my mind on first thought for describe method is a Recipe app where the end user can upload a picture of what ingredients they have and the app can figure out the items from the image and then suggest an appropriate recipe. Likewise on e-commerce websites the describe method can be used to add tags when the seller adds an item.

      • For extract text, as Glide documentation suggests extracting contents from a receipt is a brilliant use case. It can be used in any app where staff are expected to upload receipts for re-reimbursement or any financial proceedings.

      • In general, where ever there is document heavy domain, I'm sure we can put this feature to use.

        πŸ’‘
        Each trigger uses 2 updates. When we design an app using these features, one should be wary of the frequency in which it will be used and apply appropriately.
  • Text to Boolean

    • This feature takes text as input and gives a boolean value as output. It can evaluate the input and give a true/false answer.

    • One immediate use case I can think of is an e-commerce scenario. Given product description as input, this feature can be used to evaluate whether a product will suit a particular scenario. Let's check this in action in the next section.

  • Text to Choice

    • This feature takes text as input and categorizes to one of the choices from the list of choices provided.

    • Classic example is sentiment analysis where feedback or testimonial can be categorized to positive, neutral or negative.

    • Another example is categorizing an article under different topics where the set of topics is predefined.

  • Text to Number

    • Text to Number takes text as input and returns a numerical output. It takes a variety of text, not just plain text. Emojis, math logic in English and many more.
  • Text to Date

    • Text to Date takes text as input and outputs a date column. It can also extract date from a text input.

Let's try a couple of them

How about Text to Choice? I created a Feedback table in one of my apps, and added a couple of random feedback from Amazon reviews.

This is how I defined the Sentiment column in my data editor

This is the output I get in my layout

πŸ’‘
For the emojis, I just added an If-Then-Else column and gave different emojis depending on the Sentiment generated.

Let's try Image to Text. I found that to be really interesting.

I added another table called Recipe Builder and added an Image column and the Image to Text AI column. Below is my table description πŸ‘‡

I uploaded two random images from Unsplash and this is what it generated

πŸ’‘
Attributes for the images used: Photo by Marisol Benitezon Unsplash and Photo by Katie Smithon Unsplash

The generated text may not be 100% correct and we all understand that it is impossible for it to be that precise. I think it did a pretty neat job 😁

Alright, let's now check the Document to Text feature. I added one more table called Invoice Reader, added an URL column to hold the link for sample invoice PDFs and the Document to Text AI column. This is my table definition

I gave 2 sample PDFs and this is what it generated. Pretty exhaustive!

Conclusion

I'm sure it was good fun exploring the AI features in Glide. It is definitely super powerful, and the beauty is, it can be brought to life so easily with just defining them as appropriate columns or by adding them in workflow actions.

The power of such a tool is completely dependent on the developer and the product owner who can perform magic, literally! πŸ’β€β™€οΈ. To harness it's true power, workflows need to be designed with a lot of thought. On top of all these, it takes a good amount of creativity to stitch multiple features and bring out the best!

Β