Mission critical app, what to consider?

Hello!

I need to build a web app, that will be used primarily on mobile. Mobile app lacks features so it is not an option.

It is going to be an external app.

My worry:

It will be a mission critical app. There will be around 200 users and if something does not work or is slow it is going to be really bad.

The app will:

  • be used to submit hours and travel distances
  • be used to show customer data
  • be used to create PDFs with external api. For this I have a simple document creating interface with blocks and so on

I am mostly worried about the document creating part. We have experienced some freezing and unexpected behaviour in retool mobile apps and for that reason I am kinda worried.

What should I take into account?
Is it likely at all?
Am I worrying too much?

1 Like

I think there are quite a few things to consider here -

  • How you will onboard individuals into the application
  • How to whitelabel the application experience.
  • Managing travel distances & hours will probably need an external Google Place API - how do you want to set the project up in GCP
  • PDFs - we have a guide here, but may be a bit outdated: Creating PDFs In Retool (4+ methods, updated for 2023). I think Retool is still pretty limited in this respect.

I don't however think retool will have difficulties with the scale of 200 users.

1 Like

This is all possible with Retool and can be achieved quite easily. Retool is quite stable, if you want to have more control and better latency you might want to consider retool selfhosted. It will give you control on updates.
Talking about retool mobile, I assume you want to use it over mobile data or various wifi networks, so my only point of concern would be connectivity as you have limited control on that. Retool mobile would be my preference as it can handle connectivity loss much better.
Pdf creating can be done within retool for simple pdfs or otherwise use a pdf creation api good lukc

2 Likes

Thank you for the replys.

I was mostly worried about the bugginess part, I have had bad experiences in which the app did not work how it was supposed to.

I know the app itself is easy and straight forward and 200 users is not that much.

Self hosting was a good tip, I will look into that. I want a bug free and fast experience. With webapp. Unfortunatelly retool webapp can not be used as a PWA, while the mobile app is too strict. For example no use of custom components.

Great feedback, @mbruijnpff & @JoeyKarczewski! I would also emphasize what Joey mentioned about having a plan early on for onboarding 200 users, if you haven't already connected external users to your Retool org (review the pricing, what Retool permissions will they need, how will they access the app, etc).

While I agree with the feedback about self hosting, please be aware of this pricing limitation.

Though not directly tied to your questions, @AJVancattenburch recently shared some feedback on the mobile layout development experience as well. AJ, sorry to put you on the spot, but curious if you have any additional comments for @retool_amateur's use case

1 Like

Hello and thank you for the mention @Tess! I apologize for taking so long to get back as I've been on vacation for the past week and a half.

I read through the topic contents of your issue and I suppose I'm a bit confused on exactly what was causing your problem...are you saying your retool mobile apps run slower than your web app when creating PDFs and/or mobile isn't allowing you to fetching users due to limitations? If the slowdown occurs when creating PDFs, are there any indicators or context as to why?

Whenever I create a mobile app -- it typically runs at the same speed as it's web app version. This is the process I follow, if it helps:

  1. For user authentication, we use the client credentials auth workflow which can be used in both web and mobile apps.
  2. For queried table data that I'd typically place within a table in a Retool web app, I don't point the data source of my table component directly to the query. What I do instead is:
    • Create a transformer that can be used both for table component data, as well as list view component data. This transformer looks almost identical in every app.
    • I then place any data query references, data filtering logic, pagination logic, etc. in this transformer. This makes it so I don't have to create several separate queries for web and mobile apps.

Any logic for creating simple PDF's when the end-user does something like click on a button I handle exactly how I do in a web app using the PDF API that comes out of the box with our Retool subscription. Anything that requires more complex PDF generation i.e. fine-tuning fonts and styles, adding graphs, etc. would require a third party external API which there are many good options!

I hope this helped answer some concerns you may have, and again I apologize for the delay in my response as well as if I'm not completely understanding what your concerns are. If you were curious about anything i mentioned, I'd be happy to talk about them!

Cheers! :technologist:

2 Likes