A Web Developer's First Experience Building an App with Flutter
A Web Developer's First Experience Building an App with Flutter
flutter
Why I Chose Flutter
As a web developer, I started using Flutter for one simple reason:
I wanted to publish an app on the App Store.
At first, I considered building a PWA (Progressive Web App), but I learned that web apps often get rejected during App Store review. So I explored alternatives like React Native and Flutter.
Eventually, I chose Flutter because:
- It’s closer to native performance,
- Provides a more consistent UI,
- And tends to have fewer App Store approval issues.
Challenges I Faced Using Flutter
1. Adapting to Dart
I was already familiar with JavaScript, Python, and Java, but Dart was new to me.
Thankfully, I used Cursor—an AI coding tool—to quickly get up to speed and write code more efficiently.
2. Choosing a Database
At first, I considered using Supabase, but for a simple MVP, I realized an on-device SQL solution made more sense.
I ended up using the sqflite
package and got help from Cursor when writing queries and handling logic.
Reflections on Flutter Development
As a Web Developer Adapting to Mobile
- I began by learning how to install Flutter and understanding its project structure.
- Although Android has higher market share in Korea, I noticed most people around me use iPhones, so I prioritized iOS development.
- I used Xcode to run the iOS simulator and managed Flutter via terminal.
- I relied on AI (like Gemini or Cursor) for most of the code, asking specific questions whenever I didn’t understand something or ran into bugs.
- If I had tried to write everything from scratch by reading the documentation alone, it would’ve taken much longer.
Flutter’s Downsides
- Hot reload was inconvenient via CLI. Although auto-reload is possible, I kept manually pressing
r
in the terminal. - Every time I added a dependency, I had to run
pub get
, and even minor errors required a full rebuild.
On my M1 Mac mini, this significantly impacted productivity. - Sometimes I wondered if building with React Native or simply wrapping a web app might’ve been more efficient.
But in the end, Flutter was likely a safer choice for App Store approval.
AI vs Human: What Am I Better At?
AI writes code at unbelievable speed, but…
-
It struggles with consistency.
Fixing problem A sometimes breaks part B, and AI doesn't always catch that. -
It has limited memory.
Even if AI writes A, B, and C, it often forgets important details from A when debugging. -
Human intervention is always needed.
AI code rarely works perfectly on the first try, especially for more complex logic. -
For solo developers, AI is a massive productivity booster.
But over-relying on it can make it difficult to understand your own codebase. -
Modularization and clear TODOs are essential.
Without structure, AI-generated code quickly becomes hard to manage. -
My advantage over AI is long-term memory and contextual awareness.
I understand the big picture, the architecture, and how parts interact—something AI still lacks.
Conclusion
✅ Build fast and learn as you go
✅ Leverage AI wisely but don’t delegate everything
✅ Own the direction and structure of your code
✅ Focus on productivity, especially as a solo developer
We’re in an era where AI tools are becoming indispensable, but the developer’s role is evolving—not disappearing.
Don’t let AI replace you.
Let it empower you.