My first experience with Glide

Safwan Samsudeen
5 min readMay 7, 2023

--

I recently built an app with Glide for Scholars Academy, a micro-school with innovative pedagogy in Chennai, India. Glide is a no-code platform for business apps, touting extensive customizability and lightning-speed deployment among its features.

In Scholars Academy’s system, there are many “presentations”, which teach a particular concept, and each presentation is delivered to a small group of children at a time. The portal needed to CRUD (create, read — that is, view — update, and delete) presentations, teachers, and students. Most importantly, it needed to log a teacher delivering a presentation to a set of students to keep track of which students have received which presentations and so on. When I heard the requirements, I first thought of perhaps a Jupyter notebook that uses a SQL library to run the commands and users could call my functions to do what they want to do. Not convenient, but a more full-fledged version — a website with nothing but a DB backend and a few routes to view the data — would take an immense amount of effort for the benefit provided.

I’d heard about Glide a few weeks before that and played around with it for a while. I couldn’t see a use case for me, so I left it. When this project popped up, I decided to try out Glide with this.

Long story short, I had a wonderful experience. I created the project at 1:24 PM on Monday, had a basic but full-fledged version ready in two hours, and got the project deployed and customer-ready by the next morning (with a full night of sleep, of course). All this with a beautiful UI, easy editing, and so much more. I’ll be covering my full experience in this post, so let’s move on.

Kick-off

The basic structure, as I understood it, was a Subject table, a Presentation table, a Student table, and a Lesson table which logged an instance of a specific Presentation being taught to a specific student. Glide offers compatibility with Google Sheets and Airtable integrations (for free, paid plans allow more), but I decided to use the built-in DB as it’s more performant. I created the necessary tables. I really liked the generate image feature — for an image column, Glide will automatically generate images:

Pretty, huh?

There are two types of columns in Glide: normal columns (as commonly available in Excel or Sheets), and computed columns. Computed columns are not direct values — they’re related in some way. The relation column is computed, so I selected that and created a new column in Presentation (which should be linked to subjects).

This wasn’t very clear to me, and I had to read the docs a couple of times to figure it out. You have to first create a text column in which the Subject names must be written, and then you add a relation column to the Subject column. This functionally results in two columns for the same thing. I feel that this isn’t very intuitive, but perhaps there’s a reason for the way it is.

I quickly sorted out the data — now onto the meat of the project.

Layout

There are three tabs available — data, layout, and settings. All the work above was done in the data tab. In the layout tab, you make the app itself — decide what’s shown and what’s not, how it’s shown, and everything the user will ever see. I defined three “screen”s for each of the tables, and voila. I really liked how screens didn’t come up blankly, but instead are pre-filled with expected values. For example, I just clicked the option to create a screen from the data, and this was automatically created for me. Beautiful and functional, I saw no reason to change it.

If I do want to change it, however, I have a wide berth of options — perhaps you’d like a card or grid instead of a list like it is now? If you have a date column, you can display the data as a calendar. Kanban too is available. You can choose if users can add, delete or edit data, how the list is styled, whether you want grouping or filters, and more. However, I again feel things could be more intuitive. For example, I didn’t really want an image in the list of presentations — but there wasn’t a way to remove the image, it seemed. It took quite some research to figure out that I had to set the custom URL to a blank to remove the image.

When you click on any of the list items, a detail screen opens up. Here again, there was a wealth of cool and useful functionality. I just had to add the Contact component for the below row!

I wanted something like a reverse relation, so I could show which presentations a student had been taught, but there exists no direct way to do this with Glide. Instead, you have to add a “multiple” relation from Student to Presentation — another example of the lack of intuition in the product. However, everything considered, the areas where Glide serves you spot-on to your needs far outweigh instances like these.

And that was it. I moved to the settings tab now. Here, I could control who could all the meta details of my app. I changed the sign-in methods, access to the app, and a few appearance details.

Change

Two hours into the story, I call up the client and it turns out I’ve misunderstood crucial bits of the data structure. Subjects should have units that have chapters that have presentations, as opposed to my subject-to-presentation relationship. Teachers, too, must be added. I reluctantly started the change, but I was thrilled to see that it was almost hassle free — I just had to create the new tables in data, and almost all the related fields in the layout tab updated themselves! Adding a teachers table and the related screen was easy, as usual.

In a few hours, I was able to publish the app and deliver it to the client. Scholars Academy now has to import the Data — I wish they made bulk adding of rows easier. Note, too, the pricing: in the free plan, only 500 rows of data are allowed, and Glide is in no way cheap. For a full-fledged school, $99/month is peanuts, but micro-schools will find it hard to afford the premium plans, made all the more expensive due to the currency conversion. All the same, it was a great experience, and I’ll definitely consider Glide for my future projects!

Don’t hesitate to comment if you have any questions!

--

--

Safwan Samsudeen
Safwan Samsudeen

Written by Safwan Samsudeen

Student of life, mediocre programmer trying to get better, book addict, proud overthinker. Another random idiot who thinks he's great.

Responses (1)