Comingfrom engineering background, low-code platform is a great solution for me, and Retool stands out among the rest. When I saw this post and @srikrishnas answer, coupled with my experience so far. I couldn't help but wonder:
As an analogy, regardless how well a hand screwdriver is engineered, if you need to fasten 1000 screws, it's the wrong tool. If you only need to undo a couple screws, an electric screwdriver is likely the wrong tool as well.
In my specific use case. I'm hoping to build a somewhat hybrid of CRM & task management, because our current SaaS are scattered and doesn't integrate very well, plus some procedural we have are simply not supported in any SaaS we know of.
Building a crm myself, 70 tables on my end. My crm is split into many apps, using multi-app linkage. Also following the best practice to separate out complexity using modules, to make it easier to maintain.
Even after following the best practices, I'm noticing performance degradation when combining apps with many components / modules within tabbed containers. Slower clicks, slower navigations. The performance debug tab shows that even with few query runs, more components and modules balloons the HTML Elements & Dependency Graph Nodes.
I've limited all query runs to the minimum / manual and I'm still finding these issues. I tried to spin up a self-hosted instance near the server and the issues still persist but only slightly better.
It's taken sometime to learn and build out as I do not have any engineering background but have quickly picked up POSTGRES, HTML, CSS, JS and we've just moved our entire team of 21 over to using it and processes are way more efficient now
What are Retools limits?
So far, I've not found many. I've seen people trying to recreate Slack for example and then complaining but obviously that's not the intended use of Retool. Connecting API's of all our service providers has been wonderful from a Retool perspective.
We still use our old self-built back office for a few tasks where speed is critical, as our back office is Prisma on POSTGRES and it runs like lightning - I think there's lots for me to optimise with Retool and the queries I've built to improve the speed but I don't think I'll be able to achieve what our customer BO achieves, but that's fine with us
Our current DB's (we have two connected to Retool) have a total of 212 tables between them. I've built 37 apps so far (29 completed, 8 in progress) and we have plans for a further 7 for the remining insights we feel we need to be operating optimally. (However, our marketing team keep requesting new apps/insights so I imagine there's going to be quite a few more when we've finished haha!)
I never tried the Retool Cloud version so I can't really give a fair comparison between the two, however, the issues I experience are are a result of not having all our tables indexed right now in order not to slow down the indexing process (balancing act).
We've also stuck to WebApp Desktop views so far as it's the primary end-users method of access, haven't bothered with mobile WebApp or PWA's yet other than our main company dashboard so that everyone can get quick insights on the go about the key KPI's.
Maybe you could look into optimising queuing of queries and scripts based on visibility if it's mobile app based? I imagine you have data that is initially out of sight, or perhaps in a different tab in a containers, I'd make sure those only run following the succession of a query/script that impacts a component that is in view as soon as you open the app. Furthermore, if the slowness is derived from front end activity, maybe using a script to identify if the component is in the visible window to determine if it should be hidden or not? That could potentially help with page loading times, though might add clunky-ness when navigating the page.
On retool mobile, it loads all pages and all their dependency graph (cloud be using wring lingo) on start. I had to use a lot optional chaining so console doesn't get flooded, and I don't think there's any method to change that currently.
Development time is an interesting one, it's really slow at first as you learn the declarative method, then it gets really fast for a while and then it slows down as you try to work out how to make it do the more complex things you want.
Things have improved in the last year as Retool have fixed requests. The linting is reasonable, cyclic dependencies finally appear in the console (thanks to me I think =), the new Table is good, the postgreSQL backend is OK (although they haven't done anything to the UI in a year).
Overall I think you should definitely spend a few weeks implementing something as a test. Just use the cloud to begin with. Don't worry that all the documentation videos involve making an app in 6 minutes. Those cases are trivial and for marketing purposes. Don't get discouraged.
This Privacy Policy explains our practices regarding the collection, use and disclosure of the information we process to provide our Services. This Privacy Policy does not apply to any third-party websites, services or applications, even if they are accessible through our Services.
When we refer to "Retool" ("we", "our" or "us"), we mean the Retool entity that acts as the controller or processor of your information, Retool, Inc. Please refer to the section titled 'Identity of the Data Controller and Data Processor' for more information.
This Privacy Policy applies to: Retool's developer tools and platform that enable Customers and their Authorized Users to build, deploy and use Custom Apps (individually and collectively, the "Services"); Retool.com (the "Website"); and other interactions you may have with Retool.
In this Privacy Policy, "you" and "your" refer to the person or entity visiting our Website or using our Services. If you are a purchaser of our Services, you are a "Customer". If you are authorized by a Customer to use our Services, you are an "Authorized User". Where Retool collects information that is associated with an identified or identifiable individual and is protected as personal data under applicable data protection law, it is referred to as "Personal Data". Personal Data that is de-identified or aggregated to the extent that it is no longer reasonably associated with an identified or identifiable natural person may be used by Retool for any purpose.
Customers can create an application, workflow or process that is customized, programmed or developed using the Services ("Custom App"). Databases, applications and software products also interoperate with the Services which are provided by a Customer or a third-party, and not Retool ("Non-Retool Products").
This Privacy Policy does not apply to any Non-Retool Products or any third-party websites, services or applications, even if they are accessible through our Services, ("Third-Party Services") which are provided under their own terms of service and privacy policy. A separate master subscription agreement may govern the provision, access and use of the Services (the "Subscription Agreement"), including the processing of electronic data or content that an Authorized User submits to a Custom App ("Customer Data") but excluding Non-Retool Products and the Services. The Customer (e.g., your employer or another entity or person) that entered into the agreement with Retool controls its instance of the Services and any associated Customer Data. If you have any questions about specific settings and privacy practices, please contact the Customer whose Service you use.
*California Notice of Collection of Personal Information: We collect the information described below under "Information Retool Collects and Receives" for the business and commercial purposes described below under "Information Use." To learn more about exercising your California Privacy Rights please review the "California Privacy Rights" section below.
Certain jurisdictions distinguish between a "controller" or "processor" of Personal Data. A controller is the decision-maker and exercises overall control over how and why Personal Data is collected and used. In general, the Customer is the controller of Customer Data. A processor acts on behalf of, and only on the instructions of, the relevant controller. In general, Retool is the processor of Customer Data and the controller of Other Information (which is described in the 'Information Retool Collects and Receives' section below).
Retool collects and receives the following information through the Services, Website and your other interactions with Retool. This information includes Customer Data and other information and data ("Other Information"):
In general, you are not subject to a statutory or contractual obligation to provide Customer Data or Other Information (together, "Information"). However, various Other Information is collected automatically and, if you do not provide certain information (such as account setup details), we may be unable to provide the Services.
Customer Data will be used by Retool in accordance with Customer's instructions, including any applicable terms in the Customer Terms of Service ("Terms"), Subscription Agreement, or DPA, and as required by applicable law. As explained above, in general, Retool is a processor of Customer Data and the Customer is the controller. The Customer may, for example, use the Services to provision or deprovision access to the Custom App, enable or disable Third Party Services, manage permissions and otherwise apply its policies to the Services.
This section sets out how Retool may share and/or disclose the Information described under 'Information Retool Collects and Receives' above. Except as set out below, we do not sell, trade, or otherwise transfer to outside parties your Information. Designated members of our staff may access your Information to help our customers with any questions they have, including help using our Services, investigating security issues, or following up on bug fixes with a Customer. This activity is logged in our system for compliance, and we maintain different levels of access for its employees depending on their role in our company. The policies and practices for sharing and/or disclosure of Customer Data to third parties is determined by the Customer. Retool has no control over the Customer's or any other third parties' choice to share and/or disclose Information.
3a8082e126