General Development Best Practices

Hi all,

coming from a developer background Im just getting into retool and wonder what are considered general best practices to develop apps on retool. Especially in terms of code organisation, reusability, code reviews, using external IDEs, etc.

I see that retool can be an immensely flexible and powerful tool. But I fear that with growing features, complexity, size, etc of an application it has big potential to become unmaintainable if not "done right" from the beginning.

What are your experiences in that regard? Is there a (1st or 3rd party) guide that collects common best practices?

I see that "Source Control" is only available in the very expensive Enterprise tier. Without, how do people maintain good code quality and the capability to work in retool as a team, with mutual code reviews, etc?

Thanks for your insights!


Hi @perelin, Thanks for the big question! Lots of thoughts to share.

Source Control is currently an Enterprise feature, however Retool's pricing/packaging is subject to change, so stay tuned :smiley:

Retool helps developers step through the Source Control and SDLC process, and doesn't require it to start building.

Whenever you first use source control to check code for an App, Resource, Query, or Workflow, Retool will call that object "Protected." Your team's normal SDLC processes regarding pull requests can take over from there. Retool's code is is organized into a few folders that make collaboration and code sharing easy.

Happy to share some resources for thinking about development best practices in Retool, and I'll let others chime in with other ideas and perspectives too!

Center of excellence for best practices:

Source control main docs:

The blog post describes Retool's workflow:

The quickstart is a good example:

Performance testing large apps with lots of component and queries:
App performance best practices | Retool Docs

I hope that helps!

Dan K
Retool TAM

Hi @perelin,

I dove into Source Control before, and your question is "what if I don't use Source Control?"

Check out Releases:

I hope that helps!

Dan K