
Show HN: Retool – build internal tools faster - dvdhsu
https://tryretool.com
======
dvdhsu
Hi HN! I'm one of the creators of Retool, and we're excited (and very nervous
again) to be posting this on HN. We first showed Retool to HN around a year
ago
([https://news.ycombinator.com/item?id=14515494](https://news.ycombinator.com/item?id=14515494)).

When we posted Retool last time, we thought it was a cool idea (visual
programming + functional reactive programming). But we didn't really know
whether it was useful, and whether people would pay for it.

Since last year, we've been hard at work talking to customers and writing
code. We discovered that internal tools (eg. to manage deliveries) is a good
use case for a visual programming language like Retool.

Basically, Retool gives you components (textinputs, dropdowns, tables, etc.),
and queries (connect easily to APIs, SQL databases, etc.). In a FRP way, they
can interact with each other. So your tables can pull in data from queries,
and buttons can pull in data from a table's selected row.

When we show Retool to people, they often think "oh! it's visual basic for the
web!". And in many ways - it is! Maybe that's something you think is great -
maybe not. In any case, I'd love to hear HN's thoughts. :)

Here's a 3 minute video demo I just made this morning:
[https://cdn.tryretool.com/approval_video.mp4](https://cdn.tryretool.com/approval_video.mp4)
of me making an approval workflow in 3 minutes

If you're curious how it works - here are the docs:
[http://docs.tryretool.com/](http://docs.tryretool.com/).

Thanks!

~~~
danial
Ha! I see in your video demo that someone is being naughty:

[https://www.dropbox.com/s/ymacuu8eo3m5267/Screenshot%202018-...](https://www.dropbox.com/s/ymacuu8eo3m5267/Screenshot%202018-08-09%2012.46.28.png?raw=1)

~~~
dvdhsu
That’s me - in fact! We thought it’d be a funny joke HN would appreciate :)

------
solutionyogi
Holy Crap. This is amazing. Lot of folks have tried to make a general purpose
visual programming solution and it always sucks. However, if we narrow the
problem to

1\. Show some data on a grid based on user input. 2\. Let user select a row.
3\. Provide different buttons to take actions on the selected row by doing an
API call.

Then your tool solves the above problem extremely well (based on the tutorial
I saw). And I guarantee you that any organization with tech teams have need to
create plenty of such 'mini apps'.

I recently started a new job as a technical lead and I am going evaluate this
tool seriously. Due to the nature of the business, we will be prefer an an on-
premise solution. Do you have existing clients who use your on-premise
solution? How are the updates to the tool distributed? And most importantly,
what's the pricing like? Feel free to reach out to me via email.

BTW, you guys have done FANTASTIC job on the main page design/copy. It's been
a long time since I saw a product website which instantly sold me on the idea.
Well done!

~~~
Terretta
> _if we narrow the problem_

Cold Fusion shipped with a wizard to build web CRUD apps against SQL
databases, which worked, and you could then continue coding from. It wasn’t
bad, and came long before Rails or Django admin.

This feels like democratizing that.

~~~
tennien
Definitely! You'll find Retool supports much more than SQL databases and
Django admin supports a tiny subset of Retool use cases. For instance, most
companies find that after a certain scale Django admin apps need to be
converted to custom code. Retool is designed makes custom code unnecessary at
any scale.

------
mmastrac
Not having played with it, I love the concept! I'd suggest making the docs
more readily available from your frontpage, as it's somewhat difficult to find
a link to them.

EDIT: signed up, ran through the tutorial, and I'm suitably impressed. This is
a very polished product.

Will you support command-line tools? There's a few places where I can see my
admin tools using command-lines to make things happen. Might be nice to be
able to spin up a docker instance and run a set of command-line tools in
response to an action, or to provide the contents of a table.

A few questions:

\- Why is there only support for Google Sheets query on-premise?

\- How many users can access an account in your free tier? This might be a way
to better segment between free/first tier - add a limit of ~3-5 users before
you need to start paying for the service.

\-
[https://github.com/tryretool/retool_onpremise.git](https://github.com/tryretool/retool_onpremise.git)
404s for me - are you adding customers to that repo manually before they can
clone it?

~~~
dvdhsu
Just added and deployed docs above the fold on home screen. Thank you!

\- Whoops - we forgot to update that - we added it to cloud a few weeks ago.
Updated our docs - thanks!

\- Hm - good question! I think there's currently no limit, but yes, that's a
good idea as we scale. We want to have a "generous" free tier because most
engineers we meet find Retool fairly interesting. And so we want to allow
people to play around with, without having to pay us.

\- Yes - that's correct for now. Once we have a better on-premise process,
we'll open it up! :)

Thank you for the questions and feedback!

------
m0meni
Your landing page is insanely good. How did you create those animations?

Also just the general styling/design of the entire site + retool itself is so
well done.

~~~
dvdhsu
Thank you! Our designer + engineers are very happy to hear that!

We created the animations ourselves with [https://github.com/drcmda/react-
spring](https://github.com/drcmda/react-spring).

~~~
buremba
I wonder if such a tool exists for creating responsive animations from
websites as if recording screencasts.

------
arichard123
When I was first taken on as a developer in 2002 I worked on something like
this, though I was very junior. XML was a thing then and so the "app" stored
it's configuration as an XML file. You would alter your app by writing XML.
This meant it looked like code and it failed in the marketplace, as people
already had code and they didn't see the use of learning something new. Also
this XML had to contain SQL, and HTML, and it had URLs in it. So not something
a novice could cope with. The next step taken was to try and build a GUI to
generate the XML files, but that didn't sell either because in order to do the
really good stuff you still had to understand SQL, and HTML, and Javascript
and the URL structure. Even if the app was responsible for some of those
things.

Projects like these blur the lines between "coding" and "configuring"
software, and I think the success of Retool long term will be understanding
how to walk that line. The benefit of code is that it allows for greater
complexity to be understood meaningfully, and configuration's benefit is that
it is easier to learn. I think if someone is expecting to code and gets a
configuration interface, that's OK until it limits them, and if they want to
configure and end up having to code, then that's a fail for them as well.

Good luck.

------
_yhdy
What's the open source alternative? I'd like to help in building something
like this.

~~~
mappu
Hard to say - LO Base and Kexi don't have any web support at all.

Perhaps [https://github.com/formtools/core](https://github.com/formtools/core)
? Or [https://form.io/](https://form.io/) is open-core but more polished (from
the screenshots).

~~~
_yhdy
Web is important because a fair level of development is being done for non-
technical end users.

------
oxplot
No one has mentioned Google App Maker which comes with GSuites Business and
Enterprise. Retool seems to be in direct competition.

~~~
dvdhsu
Sort of! We've definitely drawn inspiration from them (for example, we
borrowed some ideas from their right hand side for editing component
properties). But I think we're fairly different.

For example, in Retool, you can make a `PUT` request in a Postman-like GUI.
And when you press run, we handle the data flow for you. In Google App Maker,
you still have to write custom JS to call APIs or execute SQL queries:
[https://developers.google.com/appmaker/models/external-
data-...](https://developers.google.com/appmaker/models/external-data-
options). nd when you do call them, you have to worry about error handling,
setting `isFetching` states, etc.

------
nhunter
Really cool idea, and would completely simplify our internal tools building
process, but opening our firewall to allow access to the small scale internal
DBs that we would work with is a total no go.

Not to mention that even trying to create a demo for internal teams that would
build tools using this with our data would mean miles of red tape that makes
it a heavy sunk cost before we even get to the starting line.

If this had some form of containerized app (like Influx Chronograf as an
example), then I could create demos that would likely lead to license
purchases. But without that, we'll just keep building internal tools with
internal frameworks.

Great idea, heavily limited by not having something I can deploy internally
without an enterprise license.

~~~
bostonvaulter2
Elsewhere in the thread it is stated that 70% of the installation are actually
on premises.

------
leon_sbt
The image bounding box labeling widget looks like a hidden gem! This tool
would shine where the dataset has sensitive information or the job is too
specialized to use on Mechanical Turk.

[https://docs.tryretool.com/docs/tagging-images-for-
machine-l...](https://docs.tryretool.com/docs/tagging-images-for-machine-
learning)

~~~
dvdhsu
Thank you! Yes - a few customers use it for exactly that! Please try it out
some time - it's one of our coolest (IMO) components. :)

(There was surprisingly - no good open source library for drawing bounding
boxes / landmarking on images. So we built our own - and now every Retool user
gets to use it!)

------
onlyrealcuzzo
Congrats! Your landing page is fantastic.

I would definitely urge people in my company to give this a try for future
internal tools.

I hope it works out as well as you've sold it [=

~~~
dvdhsu
Thank you very much! I think it will - but the only way for you to figure out
is to try it :)

------
frostymarvelous
I've been using this for the last 3 months and it's a pretty amazing tool. We
need to spin up tools quickly for our operation teams and this has been a
godsend.

The support has been amazing as well. Very quick response times and fixes when
we report any bugs.

------
topazas
Do You have any plan, when the on premise tool will be publicly available on
github?

------
asadlionpk
This looks very cool. Will give this a try!

Btw, I think I remember you back from a Startup School some years back! You
dropped me home. Hi!

~~~
dvdhsu
I remember it! Nice to see you again, and thanks for the kind words!

------
kluck
This seems optimized for creation of small apps (and is also presented very
well). But what striked me watching the intriduction video: When you revisit
your a written app, it seems hard to understand whats going on and also hard
to get a feel for if all functionality have been implemented and works. How
does testing your app with this tool work? How does it help with maintaining a
written app to lets say add a new functionality (when you have forgotten all
about where your data is stored, where it is read from, what your queries
where when you wrote them etc.).

------
Kiro
How do you actually connect this to your database? Can't find anything about
it in the docs. Maybe it's obvious if you log in but would like to know before
I try.

~~~
dvdhsu
Sure! You can either deploy it on-premise or you can whitelist our IP address.
(I just realized our docs for whitelisting our IP address is gone, so I'm
adding it back in now.)

On prem docs: [https://docs.tryretool.com/docs/setup-
instructions](https://docs.tryretool.com/docs/setup-instructions)

~~~
zrail
The github repo that this references is either private or doesn't exist.

~~~
nodesocket
I'd assume because they are not open source and if you want to use enterprise
you need to sign a license agreement.

~~~
zrail
Which absolutely makes sense. Except they plug the Heroku button which only
works with open source, which makes the whole thing pretty confusing.

~~~
dvdhsu
It's a little confusing - sorry. We recently switched the repository from
public to private, and forgot about the Heroku button! We'll get that fixed
soon - thanks for the feedback!

------
mohanarpit
We've used Retool extensively for multiple products at our startup. It's a
fantastic tool that's gotten us out of trouble many times. David & Anthony are
amazing founders as well!

If you ever need to build an internal tool, do give them a look before you
decide to build it in-house. Wishing Retool all the best!

------
borntyping
Definitely impressive. The short description seems a little vague or
misleading to me though. "Internal tools" can mean a lot of different things -
deployment tools, testing tools, data management, etc - so I expected
something more generic by the title.

~~~
dvdhsu
Thanks! We’ve found it difficult to describe exactly the tools that people
build in Retool, and “internal tools” is the best phrase we’ve found.

We’ve considered “business apps” (vague), “operations tools” (unclear), or
“CRUD tools” (sounds unimpressive). What do you think?

------
orliesaurus
Super impressive. This is like the perfect evolution of what Blockspring
should've been!

~~~
tennien
It's true - retool can do much of what blockspring does (or blockspring might
be able to be implemented in retool). But retool can do much more, writing
back data and running arbitrary api endpoints. The range of frontend
components you'll find in retool goes well beyond tables too - from the basics
of any app (buttons, dropdowns, checkboxes) to more advanced json previewers,
forms, and even image labelling.

~~~
dalacv
any chance you will implement a tree structure?

------
dylanbfox
This is great -- landing page and docs are super informative and makes me want
to try this.

~~~
tennien
Thank you, you should try the onboarding as well!

------
pcmaffey
Love seeing a year of solid effort manifest like this. Nice work!

For every frontend team out there, this should be the goal of your development
efforts--to build a component library like this that can be used to rapidly
compose any kind of application.

~~~
dvdhsu
Thank you!

------
meowface
Great work. One of the very few "Show HNs" I'm impressed by at first glance.
My team's internal tools are all CLI-based, but if I had to support users who
preferred GUIs I'd definitely give this a try.

~~~
dvdhsu
Thank you - we appreciate the kind words!

------
anonytrary
If you answer my question, I'll tell you where a bug is in your docs
(kidding).

Question: Do you use (P)react or some other framework for your components, or
have you done all of this component synchronization from scratch?

Bug/Typo (Chrome): I can't click on the "Local Storage" section[0] in the
Component reference, and the description for `localStorage.values` is
incomplete: "A key-value store with the data with all the".

[0]
[https://docs.tryretool.com/reference#libraries](https://docs.tryretool.com/reference#libraries)

~~~
dvdhsu
React! Syncing from scratch would be difficult, and probably not worth it for
now.

Thanks for finding both bugs! I’m on my phone (in bed) now, but I’ll fix it
tomorrow morning. Appreciate it! :)

~~~
anonytrary
Thank you, I suspected it was React (I later saw somewhere you will add
support for custom React components). Looks like good work man, best of luck
to you!

------
deepakkarki
Cool product! If anyone is interested in a similar research project, here is
an amazing one from CMU, done about 5 years ago!

[http://www.cs.cmu.edu/~shihpinc/gneiss.html](http://www.cs.cmu.edu/~shihpinc/gneiss.html)

"Gneiss is a spreadsheet tool for using and analysing online data. It
contributes many extensions to the conventional spreadsheet model to support
using and analysing web service and other hierarchical data, and creating
interactive, data-driven web applications."

------
ivanakimov
In FAQ, "What's an query?" should be "What's a query?"

~~~
dvdhsu
Fixed - thank you!

------
jakemor
David reached out to me around 5 months ago with a demo (it was a sales pitch)
and I was thoroughly impressed! Very happy to see the product get even better.
Good job to everyone at Retool! Will be signing up as soon :)

~~~
dvdhsu
Thank you - I enjoyed talking to you as well!

------
snikch
Looks really interesting. I'm getting a 503 on the Google auth though :(

~~~
dvdhsu
Weird! It looks like we had a few scaling hiccups - should be fixed now!

------
kornish
Congrats on launching, David + team! So great to user test a few weeks ago —
everything from landing page plus onboarding flow seems to have come a long
way since then. Keep up the good work.

~~~
dvdhsu
Thanks Ted! We learned a lot from our user onboarding with you! :)

(I should reply to your email from last week - sorry I've been really busy
with launch!)

~~~
kornish
You're all good man, no rush - fully understand :) Let me know when you and
Boaz get together. I have a feeling you'll hit it off.

------
scarejunba
Do you have an on-prem demo version I can try? I'd like to make a small
pretend app to showcase to my team how this can be effective.

EDIT: Ah I see. I should contact you. I'll do that.

~~~
tennien
Yes, definitely! Reach out to us at hello@tryretool.com

------
arejaytee
Congratulations on launching, the professionalism and communication from these
guys are second to none. Now to go find and read the Slack bot integration!

------
victor106
Super cool...What technologies is this built on?

~~~
tennien
The frontend is standard react + redux + a lot of customization. A lot of the
engineering effort is in the library of components and database connections
we've built up.

------
sandGorgon
looks pretty cool! I'm glad you built something great in the past year.

We build a bunch of tools on top of React-Virtualized which is a brilliant
framework (by one of the core devs of react). But obviously what you have is a
brilliant end-product.

~~~
dvdhsu
Thank you!

------
benoror
Completely mind blown by this, lot's of use-cases rushing to my mind!

~~~
benoror
Why you guys are not on Twitter?
[https://twitter.com/benoror/status/1027757144895094784](https://twitter.com/benoror/status/1027757144895094784)

------
omegaworks
Can we incorporate Retool into our HIPAA compliant stack?

~~~
dvdhsu
Yes - we have 2 customers who are HIPAA-compliant, and who use an on-premise,
airgapped version of Retool. I don't see an email in your account - do you
mind dropping me a line at david@tryretool.com?

Thanks!

------
expalantir
looks familiar ;)

------
dosy
I just went through the whole 4 minute tutorial. It was really amazing what I
could achieve and everything in Retool worked perfectly.

This is incredibly polished and amazing and great. Well done!

Only thing I wanted was a dragger on the right hand side of the table so I
could pull the table to be wider.

Also, I'm wondering, it looks and works so great, and the UI has so many
parts, what did you build it in?

~~~
dvdhsu
Thank you for your kind words! Yes - dragging and dropping + resizing is one
problem we should spend a lot of time improving. It currently works... but we
could probably make your Retool experience a lot better by just improving
that, haha.

Yep - as tennien mentioned - React.

~~~
dosy
Thank you ! :D

