5 ms·
Show HN: Retool Templates – Custom internal tools with drag-and-drop components
- ValCanBuild 7y agoWow, this looks amazing. I might give it a go and see if I can replace my own internal crappy admin panel with this. Kudos for supporting GraphQL!
- syogi 7y agoHi, I’m Yogi, the engineer who worked on templates. Retool (https://retool.com https://retool.com) itself is a fast way of building custom internal tools (think Visual Basic, but in the cloud). One thing that’s been challenging for us: because Retool is such a horizontal product, it was always hard for us to explain a) what exactly Retool is, and b) what people use it for. That’s why I decided to work on templates. A template is a pre-made app that you can plug your datasource (Stripe, Postgres, Github, etc.) into. Think old-school MS Word templates but for apps instead. You can plug in your credentials to get an extensible UI for your data. These templates aren’t meant to be 100% usable out of the box, but really to give you an idea of what you can do with Retool, quickly. (For example, here’s a video of us building the Github PR dashboard, which I mention below, in 15 minutes: https://cdn.tryretool.com/github_dashboard.mp4 https://cdn.tryretool.com/github_dashboard.mp4) All of these templates are built from real-world use-cases that other companies are using Retool for. For example, we have customers using something very similar to our “Stripe refund tool” template. It pulls in data from Stripe, joins it to purchases in our database, and lets you refund an order in one click. (It updates the database, POSTs back to Stripe, and sends an email to the customer.) My favorite is probably the Github PR dashboard. As an engineer myself, I want to start work everyday knowing who I’m blocking (i.e. I need to review their PR), and who I’m blocked on (i.e. I need to remind them to review my PR). I’d also like a quick summary of what a PR is. So I built this dashboard that loads all this information with the Github API at once, so I can just browse through them without waiting for each page to load. (Apparently this is an actual internal tool at Stripe that engineers check every day.) Please let us know what you think! You can use any template to create your own app by clicking on “Use Template”.
- jcwayne 7y agoPlease clarify the definition of 'user' for billing purposes. Specifically, do end-users (with no edit permissions) count?
- dvdhsu 7y agoHi, yes, they count for billing purposes. We bill per end-user of the tool. But... if you have a good use case and can't make the pricing work, please let me know. I'm david@retool.com, and I'd be happy to give HN readers a significant discount or even free Retool for a bit. Your guys' feedback has gotten us to where we are today. Thanks!
- vish4 7y agoI have 3 cases: 1) a dashboard for an internal system which will be used by a team of 10 only. Will it cost me $100/month? 2) A dashboard used by 10 people in my team, but could be view by the rest of the company (say 100) people occasionally. will it cost me $1100/month? 3) Lastly, say I develop 10 different internal tools for my team of 10 people. Will I have to pay $100/month for each app?
- dvdhsu 7y ago1 - Yes, $100 / month. 2 - We bill per monthly active user, so if they're active that month, we'll bill for them. If that's too much for you, please reach out to david@retool.com and I'll try to find some pricing plan that works for you. 3 - No, you can build as many apps as you want. Thanks for the questions!
- infinite8s 7y agoOne model you could explore would be similar to Tableau's creator vs user/viewer license, which has a 10:1 price difference.
- ckluis 7y ago@yogi - will retool work for non-multi-tenant environments to aggregrate & create tools for the same data from XXX+ databases? or more simply - can you connect a single "tool" to multiple databases?
- ElFitz 7y agoThe last time I used Retool, I ended up wanting to kill myself. But that's mostly because we rely on Firebase and have many collections, with documents referencing other documents,... So loading times ended up taking for ever, and it seemed like the simplest thing to do was to query everything and handle the references 'locally', leading to astronomical RAM usage :/ After a week a scrapped it all and went back to developing the back office's front in React. Although, in hindsight, maybe I was "holding it wrong". Unless my situation wasn't appropriate for the tool. Or maybe my way of using Firestore collections is just plain wrong. Who knows? ¯\_(ツ)_/¯
- dvdhsu 7y agoHi, I'm David, and I work @ Retool. I'm really sorry that our Firebase support is bad — we built it specifically for one customer and haven't iterated on it since. You're right that Retool doesn't handle deeply nested JSON well. (We designed Retool mostly for databases, so it handles tabular data pretty well.) This is something we will be working on next sprint! Do you mind if I reach out to you? (Edit: found your email via your blog; just sent you an email.) I know that you've already built everything in React so I'm not here to sell you / convince you to switch back to Retool; I'm here to see how we can improve our Firebase integration / our handling of nested JSON so the next ElFitz doesn't have this issue again. Thanks!
- ElFitz 7y agoHi David! Got your email, and replied. I'd be glad to help. Also, although I have ended up building our back office in React, I'd be glad to ditch it, have one less thing to maintain, and let my "internal customers" build their own tools. Have a great week-end!
- Dansvidania 7y agoHey David, love to see you guys on hacker news! Come visit us in Czech Republic again soon :D
- knubie 7y agoAt my last startup I ended up having to build the "Stripe refund tool" myself in our custom rails admin app. I wish Retool had been around back then.
- parentheses 7y agoBeen watching Retool for a while and it's a fantastic looking product and concept. I think almost every company ends up spending a relatively significant chunk of time building up internal tooling like this.
- alexgodin 7y agoMostly lurker coming here to say that Retool is the #1 SaaS app we use to run our startup. I rarely evangelize things, but Retool is so amazing that I feel the need to yell from the rooftops. Everyone on our team is now able to build complex tools and dashboards without dev resources!
- syogi 7y agoThanks for your support Alex!
- craze3 7y agoThis is awesome, and your landing page is super beautiful, but perhaps there is a better way of describing your product/value other than "pre-built internal tools" ? I was really confused until I scrolled through your landing page and I learned from examples.
- sonofaplum 7y agoI used retool at work for a while. We had some specific peculiarities with our stack that added a little too much friction for us, but overall it's a super impressive product with a lot of potential. I hope you guys continue growing so that it's around for a long time to come. One piece of feedback/missing feature was the ability to see a version history. Ideally I'd like to be able to back up my entire set up to github so that we could rollback changes easily.
- dvdhsu 7y agoThanks! If you don't mind, what were the specific peculiarities with your stack that made using Retool difficult? I'm always curious what blockers to Retool adoption are, even if it isn't something we can solve today. Ah, good feature request! We recently launched a beta version history + git syncing to on-prem customers. Every Retool app is a JSON blob, and we serialize it to human-readable YAML, so you can do nice diffs + PRs. If you're interested in trying it out... let me know? Thanks! https://docs.tryretool.com/docs/git-syncing https://docs.tryretool.com/docs/git-syncing Here's what an example Retool app in YAML looks like, btw: version: 2.8.1 components: - id: table1 position: top: 1 right: 1 width: 8 height: 5 template: data: "{{ query1.data }}" selectedIndex: '' columns: - id - name - salary columnWidths: - 10 - 100 - 50 columnColors: - white - white - "{{ self > 60 : 'green' : 'red' }}" pageSize: 10 alwaysShowPaginator: true onRowSelect: '' serverPaginated: false totalRowCount: '' paginationOffset: 0 sort: null sortedColumn: '' sortedDesc: false allowMultiRowSelect: false queries: - id: query1 template: query: "select * from users" runWhenPageLoads: false runWhenModelUpdates: true requireConfirmation: false confirmationMessage: "" queryDisabled: "", triggersOnSuccess: [] triggersOnFailure: [] privateParams: [] queryRefreshTime: '' queryThrottleTime: '750' queryTimeout: '10000' showSuccessToaster: true, successMessage: ''
- JaDogg 7y agoThis looks interesting. Looks like VB6 on steroids. (With less coding as well). Good luck.
- vijucat 7y agoHow is extensibility handled (on the UI side, on the back-end)? Are internals transparent or is it meant to be a black box? Just wondering what happens if one hits the boundaries of what the tool can do and wants to extend or integrate... The last time I evaluated RAD (Rapid Application Development, for all you cool folks who refuse to know anything that wasn't invented after JavaScript) tool-builders, I really liked https://www.awareim.com/ https://www.awareim.com/. They're not that famous, but I appreciated the extensibility.
- dvdhsu 7y agoWe're engineers, and Retool is built for engineers. So it's pretty flexible: the internals are all available for you to see and modify (every Retool app is serialized to a YAML blob, and can be synced bi-directionally to Git), you can write JS in most places, as well as import npm packages (everything inside {{ }} is sandboxed JS), the front-end components are extensible (you can import your own React, Vue, etc. components), and the back-end we're completely agnostic towards (we connect to any REST / GraphQL API, as well as most databases). Here's more info on: * git syncing: https://docs.tryretool.com/docs/git-syncing https://docs.tryretool.com/docs/git-syncing * hosting on-prem: https://docs.tryretool.com/docs/setup-instructions https://docs.tryretool.com/docs/setup-instructions * custom components: https://docs.tryretool.com/docs/custom-react-components https://docs.tryretool.com/docs/custom-react-components * using JS between {{}}: https://docs.tryretool.com/docs/javascript-overview https://docs.tryretool.com/docs/javascript-overview * writing custom JS: https://docs.tryretool.com/docs/custom-js-code https://docs.tryretool.com/docs/custom-js-code Let me know if there's anything else I can help with? Thanks!
- Dansvidania 7y agoI love Retool, but before I have had a hard time explaining its value to non-technical people (trying to sell it to enterprise); this will be of great help! :)
- ethiclub 7y agoRetool and the Retool team are absolutely superb. In our experience, it's the current winner amongst the flourishing low code/db app/spreadsheet app space. It is one of few that to me, proves that this space should (and will) eat market share from excel/gsheets on one end, and expensive bespoke tools on the other. Also eager to see these offering more competition against small ERPs, CRMs and the like - Perhaps this will eventually even give behemoths such as ConnectWise, Salesforce et al a run for their money. Those companies need some competition on both innovation and price. For now though obviously, this is best used for business automation, small tools, and stitching data/processes together. Not affiliated, just a very happy customer. Customer support is above and beyond. Trialed internally to great success, thus preparing to consider in client solutions.
- thedangler 7y agoProduct looks amazing and I'm thinking about using it on a personal level. But my overall sentiment is the same, per user billing is getting out of hand. It makes sense for application where you expect 1 - 20 users max but for places like us we wont use anything that has per user billing. Our end users are in the 1000's Love your work though!