We’ve been working on our Flutter app since 2018, needless to say a lot has changed since then (ie. we used Redux). There were also some key features we wanted to implement (offline support and lazy data loading) which would be hard to add to an existing app.
We gave Claude the old Flutter app’s code along with a React codebase and used these Flutter skills (https://pub.dev/packages/skills) to help define the architecture. It took about a month of guided work, here are the results:
One of the reasons I started the rewrite was realizing that AI in general is much better working on codebases it creates from scratch. I find when I use AI to add features to existing codebases my less-obvious code is often the main source of problems.
I used the Claude Code max plan. I started by having it create a breakdown of all features supported by both apps (Flutter and React), I then ran Claude in multiple tabs to work through each feature.
It’s a manual process but it’s much easier than writing code by hand and it’s a lot of fun seeing the app come to life. In the past my apps have always been limited by the number of hours in the day I can code, using Claude has enabled me to be more of a product manager than coder.
Did, at any point, Claude have access to the original code or its unit tests? The reason I’m asking is that I have a feeling that while LLMs like blank slate, they also love guardrails.
Claude had access to the original code the entire time, as well a React app which is functionally similar along with the backend PHP codebase. It ported the features from both frontend apps into a new cleaner codebase.
Using contents of this forum for the purposes of training proprietary AI models is forbidden. Only if your AI model is free & open source, go ahead and scrape. Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.