We embrace low-code and no-code platforms that allow our client's development projects to be built and iterated quicker, better and cheaper, especially during the MVP phase. For a long time we've tested many of these platforms but they never gave us enough confidence that they could do the job because:
- Our lack of direct access to the code meant that if the platform didn't offer a current or future feature then our client would be trapped on the wrong stack and facing a complex migration challenge.
- This meant our clients' couldn't own the code or intellectual property.
- They have typically high "per user" US$ costs which become problematic at scale.
- The App Stores frequently reject such apps.
- Poor performance, because they tended to be websites masking as native apps and/ or are running on a remote server.
Flutterflow seems to have solved all of these problems and we’ve been using it for more than year, developing more than 10 successful client projects on it now. We’ve been recognised as one of just a couple of Official FlutterFlow Experts in South Africa. We love it because:
- FlutterFlow builds "proper" Flutter apps with native app features such as push notifications, geo-location and many more (rather than being web pages masking as apps).
- FlutterFlow allows us to convert prototypes into working MVPs a lot quicker because the design interface is superb so our designers can often do much of the front-end development. This significantly reduces time to market and communication issues... smaller teams can do more.
- It is truly hybrid, which means we can build native apps, Progressive Web Apps (PWAs), web apps and websites on the same platform and with the same code base. This means one project and code base can handle not just the normal customer-facing applications (such as the phone app), but also admin panels and web-based versions of the app which are powerful onboarding tools to allow users to quickly try it out before they have to download it from the app stores.
- We can always directly access the code to customise it or integrate third-party SDKs for example.
- Our clients own the code and IP because we can always export it and share/ complete the project outside of FlutterFlow.
- FlutterFlow doesn’t charge per-user licence fees to our clients so there are no scalability issues. We only pay for premium access to use the platform.
- It automates many of the time-consuming development processes such as compiling apps and distributing via the app stores.
- FlutterFlow is constantly improving and, with strong investors (such as Y Combinator) and, both founded by ex-Googlers and supported by Google, it is here to stay. The documentation and community (which we're actively involved with) are strong.
We have created our own templates, processes, subject-matter experts and project plans around FlutterFlow, meaning we have more than halved the typical project life-cycle from 3-4 months to 1-2 months.
However, it has by no means made app development 100% foolproof! There are some common pitfalls we’ve learned along the way:
- Apps typically still require some custom functions / actions which require knowledge of Flutter to complete. We frequently end up exporting the code to finish the project outside of FlutterFlow, for example when integrating a third-party SDK or a complex piece of functionality.
- FlutterFlow works particularly well when using Firebase as the backend solution or if a client already has their own backend. Whilst Firebase is easy to use and good for an MVP, it can have some performance, cost and functionality limitations at scale. If you require the backend to perform it's own operations or integrate with another system then Firebase probably isn’t the right option. We may recommend alternatives such as Supabase, Amazon Web Services (AWS) or Azure. We use our experience to advise our clients on the right architecture and stack based on their own requirements, strategy, budget and forecasts of growth.
- Some tasks such as deploying to the app stores, adding in-app purchases or integrating SDKs are still complicated if you don’t understand the basics of app development and deployment.
On balance, we love FlutterFlow and use it whenever we can. Our clients seems to agree and especially appreciate the lower costs and faster time-to-market that we can offer because of it.