Building an App... Here is my full plan. What do you think?

I have started to create an app for my husband’s small trucking authority company. This year he plans to bring on drivers, and he will have to manage and log what loads/deliveries they make so he can then pay them.

Below is a rough layout of the things in the app. The primary goal is to house driver info, track loads, create a settlement, and have a history of what has been done.

  • Have drivers personal and company info (all drivers, aka Owner-Operators, will have their own individual company)
  • Driver negotiated fee for working under the authority
  • Driver vehicle info
  • Driver ability to create a new load (basically that they got something to ship)
  • Driver ability to see drivers current and past loads
  • Driver can change the status of load (in progress, delivered, submitted for payment)
  • Admin ability to see a list of Loads submitted for payment
  • Admin ability to change status (Sent to factoring, factoring payment received, paid to driver)
  • Admin ability to select loads and make a settlement statement (driver payout). This will include deductions (fuel, insurance, authority percentage.)
  • Mark load as settled (paid to the driver)

I have made a chart to show the different things I’m thinking of adding.

My question really is… do you think this is even possible? I have already made the driver profile and vehicle info pages… next up would be to start logging the loads.

How would you go about making something like this?

This is a crucial part of his business. This would allow him to continue driving while still running his business from the road without hiring someone or paying massive amounts of money for a complex Trucking software that would also need a full-time employee at home.

I also hope to make a template out of this and share it, so other small trucking companies can track their own loads, whether it’s only them or a dozen drivers.

I know this is a lot to unpack, but I feel that glide can accomplish this for his business as the alternative is to have a full-time person log things in spreadsheets and make word docs of settlements.

Thank you for sticking around and reading all this.

2 Likes

Yes, absolutely possible.
One thing I would encourage you to do early on is have a think about security of the app, as this will almost certainly impact some of your design decisions (as well as pricing of the app). It looks like you could benefit from role based access, but that requires a private pro subscription - is that within your budget? Will your users pay for the privilege of using the app? If yes, then that can offset the cost.
Will you need to restrict who can log in to your app? (I would expect yes - again that requires a private pro subscription).

You’re off to a great start, because you’ve thought this through and mapped out what you need. That may change as you start building the app out, but that’s fine. I’d encourage you to dive in and get started. Looks like a great project.

If/when you get stuck and need some advice or a nudge in the right direction, there are plenty of people here in the community only too willing to share their experience.

Good luck!

2 Likes

I think from a security standpoint Users would only be able to see their information. And there may be some info that admins inputs on their behalf that they cannot change. I also think that the app would be used by one Trucking Authority to get information about its Users/Drivers who completed loads/deliveries. This would limit who would be able to use the app.

After a couple of playing with the personal tier of Glide, I did opt into the Monthly Pro App. When I get more of the app working I will have my husband be the tester to see if it’s something he thinks would work out and not cause too much work to a driver. Then we may upgrade to a private pro tier. But I was thinking of also adding an onboarding hold area for anyone that isn’t authorized to use the app as a bandaid for now.

My biggest roadblock is understanding how to copy things from one sheet to another. Once I have the ability to log a load I will then move on to creating a settlement… which will mean that an admin will need to select loads from the load table for a user and add them to a new row for settlement and somehow still show relevant load information in a list.

User A Settlement
{User Info}
{Load records}

  • Load 1 (trip route) (Date) ($Rate)
  • Load 2 (trip route) (Date) ($Rate)
  • Load 3 (trip route) (Date) ($Rate

{Deductions}

  • Deduction 1 (-$Amount)
  • Deduction 2 (-$Amount)
  • Deduction 3 (-$Amount)

{Total Payout ($Amount)}

From this, you can see that there could be any amount of loads and deductions. And I need to cross ref these things. I’m still trying to understand how to do those things without having to copy all the relevant info into new columns every time and have duplicative data. Because when I build a form it seems you can only select from one sheet.

I’m still very new to glide so I am most likely just missing something or not understanding how to set something up like this.

And thank you for taking the time to replay! I really appreciate it.

Row Owners will take care of this for you.

Two things in particular you should look at here: Relations and Lookups.

One useful thing to be aware of is that when you have User Profiles enabled, all columns in your User Profiles table pretty much become available to be used anywhere throughout your app. So your User Profiles table becomes a handy place to store things like “global variables”. In fact, it’s possible to build an entire app with the User Profiles sheet as the source sheet for every screen, and people have done that. I’m not suggesting that you should do that, but sometimes using that sheet as a source for a tab can save a lot of relations and lookups.

I have used the Relations and Lookups columns, but I didn’t know how to dynamically after users select the records they want to combine into a row.

I know this might not be the right thread, but I was thinking of doing something like this… but I’m just struggling to see how I could connect all the sheets.

Are you using the Glide native form, or are you building your own from a details layout?

The latter is generally preferable if you want more control, and dynamic updating based on user input.
Take a look at User Specific Columns. These are quite powerful when used with custom forms. The general idea is that you create a user-specific column for each of your form inputs, and use these as temporary storage. You can then create relations/lookups/etc based on these values and build additional logic to control the flow before the user submits the form. When using this technique, you need to include a 'Submit` button on the form screen, which serves the same function as the submit icon you see on the native form. This needs to include an ‘Add Row’ action - creating a new row from the values in your user-specific columns, as well as any other logic or post-submission housekeeping (usually clearing the values in the user-specific columns).

Very interesting. I read and watched the info in Glide Library. Are there any more resources to show other use cases or ways to use "User Specific Columns?

You could check out the Tutorials category in the forum. May be hit or miss as far as what you can find in there.

@Robert_Petitto does a ton of video’s and he is pretty thorough on explaining each piece of his apps.

User specific columns can be used for a lot of things. Mostly, it applies whenever you need multiple users to edit the same existing row, but ensure that only they can see their own data. Think of user specific columns as little mini one column sheets that hold multiple rows of values for each user, but it’s all contained within a single cell. Glide does the magic of making sure each user only sees the data that they entered into that user specific column.

On the homemade forms example that @Darren_Murphy mentioned, sometimes we will have a sheet with a single row and multiple user specific columns. This allows multiple users to update and make changes to that single row at the same time, but the user specific column will prevent one user from overwriting another user’s values. With those user specific columns filled, a user can click a button and write those values permanently to another sheet (just like how a form works). The advantage of making your own form is that you can perform live calculations or have live relations and lookups to get additional information to write to another sheet when the button is clicked.

1 Like