With Flow, the app achieves the maximum possible speed performance by using only Views. Avoid using Fragments whenever possible as explained here and here. Views are preferred over Activities, as a complete Activity lifecycle is not needed in most use cases, and it is much slower to start an Activity using Intent than to attach a View.
The library dependencies used in the app are chosen carefully to avoid going beyond the DEX 65K limit. App cold-start time is thus reduced by as much as 50%.
Use Lombok, AutoValue, SpotBugs and Checkstyle to help writing clean code and concise methods. Write as many tests as we can.
Use open sourced technologies whenever possible. If not, use free services.