 <p>After gathering more information I came accross an interesting architecture (I have found the idea on reddit but could not retrieve the url).</p> <p>Your whole code should be sperated into independent apps (separation of concern) and you need to define 2 "project wide" apps (site and utils): </p> <ul> <li>the site app can depend on any other app.</li> <li>the utils app does not depend on other apps but other apps can depend on it.</li> <li>the independent apps can only depend on utils.</li> </ul>