Ask HN: Anybody used Retool for production, user-facing app?
Bootstrapped founder here.
I'm planning to build a SaaS product loosely in the B2B logistics space - it needs to be relatively low cost to build/maintain, look slick and be extensible.
It would be customer facing, meaning each customer would need a login/account (or perhaps many, if a whole team is using our product).
I've looked at Retool and it looks quite epic but it looks like it's designed primarily for internal apps.
Has anybody used, or attempted to use Retool for a production, user-facing app?
Would really appreciate advice, war stories or recommendations.
Retool is fantastic but truly priced for inhouse use cases only. My general advice with low-code / RAD is you only find out it’s showstopping limitation when you’re already too deep into it. It’s inevitable that something that seems obvious and simple to you will be nigh impossible on the platform, or at least require a series of expensive and brittle hacks. Use a common language to build the system your customers want, and accelerate your progress with coding LLMs if you want. You’ll own it, (hopefully) understand it, and can maintain it for year 2 and beyond operations.
What is your exit plan if Retool doesn’t fit your needs otherwise?
This is wise advice, thanks.
Depends entirely on how much per-customer/seat you can charge. Retool is fairly expensive, but they've just recently started offering external user pricing. It's $7-10/user/mo and caps at $4250/mo at 500 users, at which point additional users are free. At 4,250 users you'd be paying $1/user/mo. They also have embedded/portal type solutions now, so your users won't know they're logging into Retool. I'm not sure if you could support a free-user tier without likely violating their TOS, though it does depend on what your SaaS offers. You can host public-facing no-login-required apps for free.
Downsides? The app overhead can be bulky. It's not something users are going to quickly open, look at some stats, and close imo. If your use-case is users logging-into the platform and likely keeping the dashboard/whatever open for hours or indefinitely? That's a better fit.
Their support team needs a lot of work. They generally are slow to respond and don't understand their own products or pricing. A lot of what should be simple questions end up taking multiple back and forth emails where you find yourself explaining the nature of your problem/question to the support person. It's extremely frustrating to the point I've thought about abandoning them over how incompetent support is. That said, the CEO is really responsive to direct emails...
> Their support team needs a lot of work. They generally are slow to respond and don't understand their own products or pricing.
From my experience literally yesterday, they were pretty prompt. But we have a private shared Slack channel—something I suspect they’ll set up if you’ve got high user commitments.
(To the OP’s question, though: we’re not doing anything public facing.)
That's good to hear. I'm stuck with the email based support and apparently the low-quality crew only (my spend is about $500/mo).
PM at Retool - worked on our External apps solution for 2 years.
Retool has a high ceiling for what you can build with it. Generally speaking, most of our external use cases are B2B use cases that focus on productivity and data, not things that require highly differentiated visuals and animations. We call this "Operations software".
To name a few examples:
- Greenly is a B2B climate tech company who built a large portion of its product using Retool. You can see their case study here: https://retool.com/customers/greenly - Ylopo is a real estate tech company that built Retool apps to drive upsell opportunities: https://www.youtube.com/watch?v=nj0_XuRh3G8 - Retool runs its Partner Portal through external-facing Retool apps: https://www.youtube.com/watch?v=Fu7FlG7SsU0
We had to make a lot of platform improvements in Retool's performance and design capabilities to claim that we have first-class support for customer-facing use (it's not as easy as it should be if you're new to Retool, but we're working on it). The bar is simply higher. Pricing and packaging needed to be there as well: we launched external user pricing that gives you a predictable rate at scale, and if you're bootstrapping, you can get up to $60k in credits through our Startup Program, which would cover your Retool bill entirely.
Happy to chat more if you're overwhelmed by all the links - you can email me at antony[at]retool[dot]com.
(Quick plug - we're actually running a webinar on how to build external-facing applications tomorrow! You can sign up on https://events.retool.com/build-external-apps.)
Damn, I missed the webinar! Any chance it was recorded?
Thanks for the info above Anthony - it must have been an interesting project to work on.
I'll reach out on email
I spent a lot of time looking at options in this space for a similar need 1-2 years ago. I really wanted to use Retool but Retool’s pricing and lock in at the time just wasn’t appealing. A few other options I looked at were:
* Plasmic (open source)
* Jet Admin (proprietary)
* Budibase (open source)
* Appsmith (open source)
And a few others. Most had limitations around our need of multi tenancy/team oriented backend, or were too oriented towards internal tools, and I was worried about data lock in with the proprietary ones.
Ultimately I chose to go with Rails with Bullet Train. But this was right before LLMs became kind of the norm to hack stuff together. If I were to choose today, I’d probably pick Plasmic with some LLM hacked together TypeScript backend for a good balance between low effort dev velocity and future proofing, maybe with a BaaS like Supabase+Auth0. All the LLMs seem to be trained on a TypeScript-shaped shallow stack, and static typing gives a bit more protection against LLMs chasing the dragon.
What were your thoughts on Budibase?
I use Budibase for a few projects. I chose it after deciding I couldn't accept Retool's pricing and that I wanted something open source. I have only a few minor complaints:
- The SQL Server plugin is a little halfbaked. It doesn't work properly with failover clustering and I had to punch in the IP address for a specific primary node, which then breaks when the cluster fails over to a different primary node. The "port" field is broken and you have to leave it blank or you get a type conversion error in their connection code. Going through a REST API seems to be the more well-trodden path.
- Google login in the open source edition is clunky, and there's no good way to tell users to use it. There's a separate pair of login/password textboxes on the same page that draws the user's attention; we have to teach users to click on the Google login button which then opens in a new window. In our case we don't even need authentication, but there's no way to remove it and offer a login-free experience.
- You can't really hide that you're running in Budibase. Despite my best efforts, my users call all my apps "Budibase" instead of the actual name that I gave to them. And nobody knows how to pronounce "Budibase"--native speakers tend to come up with "bootybase" instead of "buddybase."
The development experience is delightful. I really like it. I wish I could design all my full-code UIs in Budibase rather than having it attached to a low-code platform.
I used retool briefly and ended up choosing windmill instead. I self host it and find it incredibly useful for prototyping. It’s very robust and the end product actually works quite well.
I wouldn’t ship an actual product with heaps of users from windmill but it’s perfectly capable of proving concepts, and the workflows are excellent.
I do have one product I built entirely in windmill but you’d never be able to tell. It isn’t online right now. It was essentially a scheduled script for fetching smoke forecast data from government websites, a react front end, and a tile server which sent map tiles to the client containing the smoke forecast data. The performance was totally fine and the UI was nice, but I built that part mostly by hand rather than exclusively with their WYSIWYG editor.
From personal experience, I wouldn't try making anything complicated with Retool.
The saying "it makes hard things easy, and easy things impossible" is fitting, once it feels like you're fighting against the platform, it's time to quit and start writing some code.
The thing I like about Retool is that it's pretty easy to just drop to code within Retool itself, provided you're willing to write JavaScript. You can write JS "queries" that just run a piece of code, and you can create completely custom React UI components. You can also write JS for things like conditional formatting of table rows, generating and exporting a CSV file the user can download, transforming API responses, and so on. And you can still take advantage of Retool's automatic coaching and reloading to some extent. In my last job I built a number of fairly complex dashboards with Retool alongside my normal work, including one with an interactive network graph.
At some point you realize the whole thing could have existed as a node or flask app after locking yourself into limitations that simply don't need to exist. Prototyping is great with tools like this but if its not fully open source, not exportable to code, thus dependent on someone elses successful seed round... avoid it.
That's why we went with tooljet at my startup.
Open source and "exportable" dashboards, allows us to setup a dev-stage-prod release cycle for our internal tools as well.
It's been pretty good so far.
Exportable?
I've used retool for years but only for internal apps. Some apps became super large. Generally I really like retool and it's always my go to solution to build anything related to forms and analytics.
As soon as things get more complex I move things to react. But that is usually pretty easy to do as you know the users pain at this point pretty well.
I'm competing in this space, though my solution is still in development. There's a wait-list you can sign-up for if you like: https://aiconstrux.com
Thanks jasfi
It’s ok for an MVP but anything beyond that I wouldn’t use it. It’s ok for internal tools. But has a few annoying bugs and they aren’t too eager to fix. Even our internal users are very annoyed.
Can you share any specifics about the bugs/limitations you've hit?
One massive one that we’ve been struggling with for months.
Some PostgreSQL query errors are not handled correctly. It results in a fatal handling which restarts the entire server. It takes up to 30 seconds for the full reload meanwhile users are getting 504s.
The error is benign and totally retriable in the userland. It’s a query timeout. No need to handle it as fatal.
If you're bootstraped, does that mean you already have something? What is it and why do you want to replace it? Beware of large greenfield remake projects, these often fail spectacularly.
Hey thrw42A8N,
I've done a large greenfield rebuild before, which was a success - but I will never do that again. It ate my life.
I do have a bootstrapped product already in the market, but this is a second, unrelated product for a different audience....a new project entirely.
First project is Node + React but considering Retool for a v1 for this next project.
PayloadCMS was recently front page
Can't speak about Retool but I wouldn't want to go away from standard software development life cycle with version control, release management and testing... And I definitely would want to avoid a proprietary platform. Isn't there an open source alternative?
Thanks for that - I hadn't come across PayloadCMS.
Retool seems to support basics like version control, release mgt etc but the platform risk of a proprietary platform is certainly a concern.
I would also recommend looking at Directus (https://directus.io).
We evaluated PayloadCMS to drive the backend of a mobile app and eventually settled on Directus because it supported heterogeneous collections which was something we had to have.
Directus also has a template for a multi-tenant app which sounds like something you might need.
I believe Appsmith is open source, and self-hostable. Never used it, so I'm not sure if it's fully or partially open.
Lowcoder is fully open source and self hostable.
Given your first project is in Node + React, you might find Toolpad (https://mui.com/toolpad/) worth considering. It’s a set of components designed to build React dashboards. It's built on top of Material UI and is fully extensible. Also, it’s open source and free to use regardless of scale.
Curious, why do you want to start another product, especially on a new stack if you have one already in the market? Doesn't it make sense to put focus all in the one you've launched? I am also trying to figure out this bootstrapping thing so got curious.
yeehhh thats a very good question - we've been asking ourselves the same thing.
We've got one product in the market, but launching that product and talking to customers has given us insight into a potentially larger, more lucrative problem to solve.
So we're currently allowing idea #1 to tick over, while validating idea #2.
We plan to only focus on one of the two ideas going forward, but are first trying to do enough discovery on idea #2, so that we can choose the best one to take forward.
Any advice on how to talk to potential customers in the beginning say even before writing the code? Do you cold email/cold call? How do you start to talk about their problems?
We've been reaching potential customers on LinkedIn, asking them for 15 mins to give feedback on our 'product idea' (at this point is just a sales deck).
Some tactical advice is to include in the connection request message: 1) a little explainer about the problem space that you're looking to tackle 2) the fact that you're an engineer (that why they'll know this isn't a sale call)
Normally we do about 5 mins talking about their business, problems and context then dive into a slide deck that pitches our idea.
At the end of the 'pitch' we get feedback from the customer. We also explain that we're launching a pilot, and give them an opportunity to join the pilot.
The pilot is paid (but cheaper than the public pricing will be), and it involves signing a v.simple 1 page contract/agreement which allows us to invoice them ahead of the 'launch'.
For us, this has been incredibly effective at:
- Understanding if this product hits a pain-point that customers are actually willing to spend budget on
- Weeding out the 'weak' signals like 'I quite like it' (people who 'like' it but may never buy)
- Giving us financial/commercial confidence, since we have invoiceable revenue guaranteed
Sometimes, when you find somebody that really gets it, their body language and attitude is entirely different....they literally PULL the product from your hands (vs. you pushing it on them). They're asking questions like "when can we launch/try it", and "can I introduce you to X Y Z people, who are going to love this?". And they say things like "We're budget constrained, but there are tons of things I'd rather get rid of, to make budget for this"....that's the feeling we're looking for, that tells us we're thinking about the right problem in the right way.
Happy to help if you have any more Qs
This is really actionable, incredible advice. Thanks for breaking down to pieces. This is so much better than the startup books that get too winded and never explain the exact steps to actually talk to customers. I am toying an idea for about 6 months and I think that while there are products in the market that do what I am thinking, I can position myself better. It's targeted towards lawyers, accountants, real estate agents, etc. Do you think LinkedIn is a good channel to reach them? Do you also use LinkedIn premium? Have you tried cold emails? Sorry to bombard you with so many questions. Do you have a way to reach you besides HN? If you are fine with it of course.
Thank you for those kind words - I'm really glad it was helpful advice.
> It's targeted towards lawyers, accountants, real estate agents, etc. Do you think LinkedIn is a good channel to reach them? For lawyers and accounts - yes - LinkedIn should be pretty great.
For Real Estate you may want to try your luck at walking around estate agents at quiet periods in the day. Some may be kind enough to hear you out and what you'll learn from f2f will be even more impactful.
> Do you also use LinkedIn premium?
I actually use Sales Navigator - it's $80/month, but by no means is it necessary - I wouldn't use the lack of Premium/Sales Nav as a reason not to start the process.
> Have you tried cold emails?
Yes - we sent a bunch using Instantly but got such a crappy response that we stopped. Cold email is dead, IMO.
> Sorry to bombard you with so many questions. Do you have a way to reach you besides HN?
No problem - very happy to help! I don't really do twitter or anything, but happy to chat here as much as you like. Does HN have DM? (sorry, new here)
We’ve built Lowdefy to address this use case and more, check it out https://lowdefy.com
Happy to answer some questions and show you what we’ve built with Lowdefy - It’s very powerful and easy to get started with and maintain. gvw at lowdefy.com
Looks like it'll be incredibly fast if we stay within the bounds of the framework, but very hard if we want to do something unexpected?
not really. Depends on what you mean by in the framework. The plugin system allows you to create npm plugins for blocks, actions, operators, connections and even auth adapters and providers. So it’s usually as simple as creating a react component or writing a js function. with an pnpm monorepo setup, you dont even neep to publish it to pnpm to use the plugin in your project.
ohh understood, thx
I fought hard for Retool as an solution to shipping RAD apps when the low-code aspect was appealing as a pathway to self-service and GPT 3 was yet not available.
The ultimate way to go in my situation was to build a library of single-use Streamlit or Gradio code with the aid of an LLM.
it is ok to do proof of concept. But for production, user-facing app, how are you gonna make enough money with their pricing per user? It just doesn't make any sense from a cost perspective if you're creating consumer app or low margin sass app.
You've hit the nail on the head.
Retool launched a way to do this a few months ago: https://retool.com/blog/external-apps
It's definitely used by some non-tech companies (think exercise companies, or property management) but not sure it's the typical HN crowd so you might not get war stories
I've literally been saying it for years: somebody needs to build Retool for user-facing apps. Being an API provider, so many of my customers want this type of service to build a user-facing portal based of specific requirements that don't align with any multi-tenant offering i.e. something we can offer turn-key. Very often, they end up being it in-house in React. I've even pointed customers to Retool but they come back disappointed re: pricing after talking with their sales team. Retool's current pricing makes anything user-facing unviable.
Thanks ezekg.
Their pricing pretty much kills any chance of margin for a typical SaaS company with a free tier.
Frustrating, because Retool is 80% towards being a perfect low/no code builder for complex-ish user-facing apps.
We have. Check out lowdefy.com
[flagged]
If you are interested in Retool but with public facing apps, checkout SkyMass. It’s a code-first alternative to Retool that gives you the high level UI components, auth etc + flexibility of writing normal code.
https://skymass.dev
Is skymass your start-up by any chance?