Strategy
How to Build Internal Tools with Retool: Lessons from a Top Builder

If you want to know how to build internal tools with Retool that actually scale, skip the documentation rabbit holes and learn from someone who's already done it. Miguel Ortiz — currently ranked #2 on the global Retool community leaderboard — sat down for a live Builder Talks session with Taylor Singletary, Retool's Head of Developer Relations, and answered real questions from the community. This post breaks down the most actionable takeaways from that conversation so you can apply them to your own apps today.
What Is Retool Builder Talks?
Builder Talks is a Retool Community series designed to go beyond the docs. Each session features a real builder — someone who ships Retool apps day in, day out — talking through their workflow, their failures, and the patterns that actually work. It's a live conversation plus an open AMA, so the questions come directly from the community. No slides, no sales pitch, just builders talking to builders.
Who Is Miguel Ortiz and Why Should You Care?
Miguel isn't a Retool employee — he's a longtime community contributor who climbed to the #2 spot on the global leaderboard by consistently helping other builders solve hard problems. That context matters. His advice isn't theoretical. It comes from debugging query failures at midnight, untangling transformer logic that broke in production, and figuring out how to make Table components behave across hundreds of rows of live data. When Miguel says something works, it works.
How Miguel Structures His Retool Workflow
One of the clearest themes from the session was intentional structure. Rather than building reactively — dropping components and wiring queries as you go — Miguel approaches each app with a plan. Here's the general workflow pattern he described:
- Define the data model first. Before touching the
canvas, map out what data sources you need and how they relate. Know whether you're reading, writing, or both before you place a single component. - Name everything consistently. Queries like
getOrderById,updateOrderStatus, anddeleteOrderare infinitely easier to debug thanquery1,query2,query3. This sounds obvious — most builders still skip it. - Use
modulesfor repeated UI patterns. If the same form or table shows up in more than one app, it belongs in amodule. Build it once, test it once, reuse it everywhere. - Keep
transformerssmall and single-purpose. Atransformerthat does five things is a bug waiting to happen. One transformer, one job. - Test with real data early. Mocked data hides edge cases. Hook up your actual database or API as soon as the skeleton is in place.
Using AI (Like ChatGPT) to Speed Up Retool Builds
The session touched on AI tooling, and the community conversation afterward reflected what a lot of builders are already experiencing: ChatGPT helps with Retool, but only up to a point. It's genuinely useful for generating boilerplate JavaScript inside a transformer, scaffolding SQL queries, or explaining what a resource query option does when the docs aren't clicking. Where it falls short is on anything that requires understanding the full context of your specific app — the relationship between your queries, your state variables, and your component tree.
The practical takeaway: use AI to get unstuck and to educate yourself on the right approach, then apply that understanding manually. Don't paste AI output directly into a complex event handler chain and assume it'll work. Validate everything.
Performance Optimization and Scaling Retool Apps
Community members specifically asked for more depth on performance — a sign that this is a real pain point. A few principles that came through in the discussion:
- Avoid triggering queries on every component change. Use
manual triggermode and fire queries explicitly viaevent handlersrather than relying on automatic re-runs. - Paginate aggressively. If your
Tablecomponent is loading thousands of rows, you're going to have a bad time. Push pagination to the database level withLIMITandOFFSET, not the frontend. - Lean on
query libraryresources. Queries defined at the org level are easier to optimize in one place and propagate the fix everywhere they're used. - Profile before you optimize. Use browser dev tools to confirm where the slowdown actually is before rewriting your
queries. Nine times out of ten it's a slow database query, not the Retool canvas.
The Real Difference Between Good and Great Retool Builders
The biggest theme across the entire session wasn't a technical trick — it was practical creativity under constraint. Great Retool builders don't just know the platform; they understand the business problem deeply enough to know when to use a Custom Component versus a workaround with existing components, and when to push back on a requirement entirely. Miguel's real-world examples resonated with attendees precisely because they showed the messy middle of building — not the polished finished product, but the decisions made along the way.
What to Watch Next
If this session sparked ideas for your own builds, Builder Talks #2 goes deeper on AI in Retool with Kent and Matei — worth watching if you're trying to figure out how to integrate LLM-powered features into an internal tool without the whole thing falling apart. The Retool community forum is where these sessions live, and the AMA threads are worth reading even after the live event ends. The questions builders ask in those threads are a reliable map of where the real complexity hides.
Ready to build?
We scope, design, and ship your Retool app — fast.