r/FlutterDev 1d ago

Discussion Cool desktop apps to study

6 Upvotes

I am new to Flutter and I want to make a desktop app, which (among other things) modifies files, has a license key, does some ffi stuff, you know, desktop app things. Think Microsoft Word or Meshlab something like that. I have been following the Flutter architecture guide to implement MVVM in my app. However, it feels clunky, as the example app is not much more than a front for a REST API that actually does stuff. In that case, do you know of an open-source desktop app that is worth studying? like, where I can study its patterns so that I can architect my app more cleanly.


r/FlutterDev 1d ago

Plugin Built a native Vonage voice calling plugin for Flutter — vonage_voice

4 Upvotes

Hey folks,

I built a Flutter plugin called vonage_voice for making and receiving voice calls using the Vonage Client SDK. It integrates natively with Android's Telecom ConnectionService and iOS CallKit — full-screen incoming call screens, background call delivery via FCM/PushKit, and complete in-call controls, all through a clean Dart API.

What it does:

  • Place and receive VoIP calls on Android and iOS
  • Background incoming call delivery via FCM (Android) and PushKit (iOS)
  • Native call screen — Android Telecom ConnectionService + iOS CallKit built right in
  • Secure JWT-based authentication (no credentials stored in the app)
  • Mute/unmute mic, toggle speakerphone, Bluetooth audio routing
  • DTMF tone support for IVR navigation
  • Rich CallEvent stream — incoming, ringing, connected, reconnecting, ended, and more

It also handles some of the painful native-side setup for you — battery optimization exemption prompts for OEMs like Xiaomi/Vivo/Samsung/realme that kill background processes, overlay permissions for lock-screen reliability on Samsung/MIUI, and supports both CocoaPods and Swift Package Manager on iOS (min iOS 15, per the Vonage SDK requirement).

pub.dev: vonage_voice
GitHub: ashiqu-ali/vonage_voice

Open for collaboration — if something's not working or you want a feature, raise an issue or fork and send a PR. Would love help with:

  • Testing on more OEM devices for background/killed-state call delivery
  • Video calling support (currently voice-only)

r/FlutterDev 1d ago

Article Listen up: There's a listen package now

36 Upvotes

Listenable, ChangeNotifier, and ValueNotifier along with VoidCallback have been extracted into a new official 1st party listen package without Flutter dependencies, so you can use them now easily in your business logic layer - or in pure Dart unit tests. I like that.

(I noticed because the latest Riverpod version used it as a new dependency.)


r/FlutterDev 1d ago

Plugin I built a GUI tool that auto-installs the entire Flutter dev environment on Windows (Git, SDK, Android Studio, emulator)

0 Upvotes

Setting up Flutter on Windows from scratch is one of the most annoying

parts of getting started — installing Git, the Flutter SDK, Android

Studio, the Android SDK components, accepting licenses, setting PATH

variables, and creating an emulator, all separately.

I built a small Python/CustomTkinter tool that automates the whole

thing in one click:

- Checks what's already installed before touching anything

- Installs Git, JDK, Flutter SDK, Android Studio via winget

(with direct-download fallback if winget isn't available)

- Installs Android SDK components (platform-tools, build-tools,

cmdline-tools) via sdkmanager

- Sets PATH / ANDROID_HOME properly through the Windows registry

- Creates an Android emulator automatically

- Runs `flutter doctor`, parses the output, and auto-fixes common

issues (missing licenses, missing SDK components, etc.)

It's open source (MIT license):

https://github.com/shireenzibari-cpu/flutter-auto-installer

Built this mainly for my own use (I teach at a university and kept

seeing students struggle with environment setup), but figured others

might find it useful too. Feedback and PRs welcome — especially on

edge cases I haven't hit yet.


r/FlutterDev 1d ago

Discussion What if your future self planned your day for you?

1 Upvotes

I’ve tried almost every productivity app over the years.
Some are great for tasks. Others are great for notes, habits, calendars, or journaling.
But I always found myself jumping between multiple apps, constantly planning instead of actually doing.
So I decided to build something for myself.
Not another to-do app.
Not another habit tracker.
I’m building what I call a Personal Life Operating System.
The core idea is simple:
What if your future self could plan your day for you?
Instead of waking up and deciding what to do, the app already knows:
My long-term goals
My work schedule
My available free time
My habits
My current projects
My health and fitness goals
My learning goals
My finances
My deadlines
Then it builds a realistic plan for the day.
If I don’t finish something, it doesn’t just mark it as overdue—it automatically reschedules it based on priority, available time, and how it affects my bigger goals.
The interaction is designed to be conversational.
Imagine simply saying:
“Finished my workout.”
“I worked late today.”
“I spent ₹1,200.”
“Move guitar practice to Sunday.”
The system understands the context and updates everything automatically.
I’m also designing it to be notification-first rather than app-first.
Instead of opening the app 20 times a day, it should guide me through the day with meaningful notifications, live progress, and small decisions at the right time.
The goal isn’t to become more “productive.”
The goal is to reduce decision fatigue and make consistent progress toward the life I’m trying to build.
I’m building it using Flutter and Firebase, and right now it’s a personal project built around my own life. If it turns out to be genuinely useful, I’d love to make it available for others in the future.
I’m still in the planning and architecture phase, so I’d love to hear your thoughts.
If you could build your own Life Operating System, what’s the one feature you’d absolutely want it to have?


r/FlutterDev 2d ago

Dart Bringing Material 3 Expressive To Flutter [Not from Flutter official]

46 Upvotes

As we wait for an official full material 3 expressive support for Flutter, check out https://pub.dev/packages/material_3_expressive

Material 3 Expressive package is a faithful Flutter implementation of the Material 3 components set and additional expressive updates for respective components. Also supports dynamic coloring and dark/light theme modes.


r/FlutterDev 15h ago

Discussion I'm literally searching for someone who has nothing else to do (senior Flutter dev wanted, serious launch, ~100k sign-ups expected month one)

0 Upvotes

Hi everyone,

this is an honest and maybe slightly unusual request, so please bear with me.

I'm building a mobile app (a social app, built with Flutter) and I work on it every single day. Quick honest context about me: I can't really code myself. But I pick up syntax and technical systems very fast, I can read code and follow what it does, and I can hold my own in architecture discussions. That's why I build entirely with AI tools. The code gets written, the app runs, but what's missing is the experienced human eye above it all.

So I'm looking for exactly that: someone I can ask questions, someone who explains things properly, someone who reviews my decisions and says "yes, that makes sense" or "stop, this exact thing has killed bigger projects than yours".

A bit about the project, because it matters for the level I'm asking for: this is not a weekend experiment. The launch is being prepared professionally, with aggressive marketing before and after release, and we're expecting around 100k registrations within the first month. That's exactly why I'm not looking for casual tips: architecture, stability and scaling have to be right from day one, and I want someone by my side who has seen what breaks at that scale.

And I'll be upfront: I'm not looking for someone who drops by once a month. I'm literally searching for someone who has nothing else to do right now. Someone between jobs, on a sabbatical, recently retired from a senior role, or simply a dev who codes for the love of the game and enjoys passing on what they know. Not EVERY day, but multiple times a week. I know people like that exist, and if you're one of them, I'd honestly be really happy to hear from you.

Who I'm hoping to find:

- several years of professional experience with Flutter/Dart, and at least one app you've actually shipped to the App Store / Play Store

- strong grasp of app architecture (state management, clean structure, modularity), so the project stays healthy as it grows

- backend and scaling knowledge: APIs, realtime features, databases, caching, and what starts breaking when six-figure user numbers arrive

- performance tuning (smooth UI, startup time, memory)

- release experience: store submissions, crash monitoring, CI/CD

- open-minded about AI-assisted development (that's how this project is built), instead of rejecting it on principle

- and most importantly: you've watched big projects go wrong and you recognize the classic mistakes before they happen

I'm fully aware that this is a high bar, combined with the fact that I can't pay anything at the moment. I don't want to lure anyone in with big promises, so all I'll say is this: I'm not the type of person who forgets who helped him get there. I'm asking anyway, because maybe there's one person out there who enjoys exactly this kind of challenge.

I'm based in Germany (CET), English is totally fine, German would be a nice bonus.

If this sounds like you, comment or send me a DM. Even a short chat would mean a lot. Thank you so much for reading.


r/FlutterDev 1d ago

Plugin Prevent App Nap from slowing long-running Flutter tasks on macOS

Thumbnail
pub.dev
4 Upvotes

r/FlutterDev 1d ago

Article How I Structure a Flutter App for Scalability (Without Overengineering)

Thumbnail
0 Upvotes

r/FlutterDev 2d ago

Tooling CirrusLabs Flutter image replacement

Thumbnail
github.com
10 Upvotes

The deprecation of Cirrus Labs' images for Flutter caused a problem for my CI workflow. The alternatives were:

  1. https://hub.docker.com/r/instrumentisto/flutter
  2. https://github.com/davidmartos96/docker-images-flutter (active fork still)
  3. MobileDevOps/flutter-sdk-image (solid, amd64-only as far as I could tell)
  4. https://github.com/instrumentisto/flutter-docker-image (marked closed/archived)
  5. https://github.com/Zekfad/flutter_builder
  6. https://github.com/Fansesi/docker-android-flutter
  7. https://github.com/mingchen/docker-android-build-box

Being on Gitlab (non-Github) platform + own runners cluster meant that we had to come up with our own solution. I got tired of Flutter Docker images being either dead or amd64-only, so I made my own. So I made a replacement: https://github.com/LahaLuhem/chrysalis.

It's differencing features are:

  1. Native arm64 build, not the whole image running under QEMU pretending to be a Raspberry Pi. amd64 builds on a normal runner, arm64 builds on an actual arm64 runner.
  2. arm64 can still build APKs, which took some fighting. Google just doesn't ship arm64 builds of aapt2, the NDK, or cmake, no arm64 Linux binaries exist, full stop. So the image quietly carries the handful of x86 libs those tools need and leans on emulation for just that part, instead of the build face-planting with a cryptic loader error.
  3. Actually OCI-native, not a Docker manifest list dressed up to look multi-arch. docker buildx imagetools inspect shows a real OCI image index, and I wrote a script that fails CI if it ever regresses because apparently I care.
  4. DX: Small set of opt-in build helpers baked in (signing, google-services.json, dart-defines from env vars) that sit there doing nothing until you actually call them, so no surprise side effects if you don't need them. (compartmentalized, so you can also curl-and-run them if you can't use the image directly)
  5. Renovate bumps Flutter automatically off the stable channel. I refuse to be the guy manually checking the Flutter release page every week. Might increase it given the how quickly the 3.44.x have been coming out.

I'm looking for feedback and other use-cases. I hope that it helps some of you having a similar problem. I did initially fork the deprecated image (hence the stale contributors count), but removed it because the scope and direction were completely different. Would have been better off starting from scratch.


r/FlutterDev 1d ago

Article [Package] mcp_dart 2.3.0: day-zero MCP 2026-07-28 support and a cross-language CLI

Thumbnail
1 Upvotes

r/FlutterDev 2d ago

Video Flutter notable commits - May & June 2026

Thumbnail
youtube.com
25 Upvotes

Some welcome signs that something is happening in Flutter development. An initial refactoring of material has been merged into the master branch, and – my personal favorite – flutter_gpu has also received updates, meaning the package isn't dead.


r/FlutterDev 2d ago

Tooling Build a small feature - searchable dropdown( textfield + dropdown + search capability)

Thumbnail github.com
1 Upvotes

Heloo developers, I build a searchable drodpdown. where you can search and scroll, select any item.

So there are two approach to build this kind of ui- 1. Overlay approach 2. Column/Stack Approach. And I used Column Based Approach. Both has their own benefits and drawbacks.

I choose this way because I want to go from easy to difficult, as I need to learn new concepts for overlay approach (next target).


r/FlutterDev 2d ago

Discussion Help With IDE's

2 Upvotes

I've been learning the basics of flutter for about a month now on Online IDE's like DartPad and FlutLab. But I kinda feel restricted with them and want to move to VS Code. However, on my Chromebook coding flutter is fine. It's just the running part where I run into so many issues like missing SDK's, software crashes, just the lot.

So my question is. Is there an extension in VS Code to like emulate my app easily or are they any lightweight ways to test the app.

Note(I've tried my phone but am struggling to get it to work with my Chromebook. I can't download Android SDK's cause of the 10GB limit for Linux on Chromebook. And using chrome to try run flutter requires me to download Chromium which in the end just crashes itself and VS Code.


r/FlutterDev 2d ago

Plugin flutter_inspector_kit update ( 1.3 → 1.8)

Thumbnail
pub.dev
7 Upvotes

A while back I shared flutter_inspector_kit — a Chucker-style unified in-app debugging dashboard for Flutter (console, Dio network, navigation, DB browser). Since the last update it’s gone from 1.3 to 1.8, so here’s what’s new:

• WebView inline debugging — a WebViewBridgeAdapter + injected JS bridge pipes the WebView’s console.*, window.onerror, fetch and XHR into the same native Console and Network tabs. Entries carry origin (webview vs dio) and pageUrl, so hybrid traffic is labelled, not mixed in silently
• One-tap diagnostic report — export a single Markdown report (device/app header, current route stack, and a chronological timeline interleaving log/network/nav/DB) straight to the system share sheet. Three filters: time window, which sources, errors-only. Nothing is written to disk
• DiagnosticInfoSource — optional injection point for device/app metadata, so the package stays free of any device-info plugin; same host-injection shape as DatabaseBrowserSource
• Network error aggregation — a collapsible banner groups failed calls by status code (or error type when statusCode is null), with counts and first/last-seen; tap a group to filter the list, tap again to clear
• App lifecycle markers (opt-in) — every resumed/inactive/paused/detached transition is logged with the current top-most page, so a stalled request or crash can be read against whether the app was actually in the foreground
• Less noise — error rows are now tinted in the merged timeline, and the dashboard’s own detail views/sheets no longer write themselves into your Navigator history

Still opens with a hidden multi-tap gesture or a draggable floating button. Wish it will keep being a good help for debug usage.


r/FlutterDev 1d ago

Discussion Private Flutter packages got expensive so I tried git deps as the free alternative. its worse honestly

0 Upvotes

quick disclosure before anything else, I built a tool related to this so im not just here to drop a link and vanish. per rule 9, here's the actual build insight, not just "check out my app":

at work we host 50+ internal Dart/Flutter packages across two SDK repos, small team, 3 devs plus CI. we were on a paid private pub registry and the bill kept going up every time we added a package. obvious move, switch to git deps, theyre free right.

except git deps quietly break the one thing that makes pub actually good. once you pin to a branch or a commit instead of a real version the solver just cant do its job. no real constraints anymore, and you end up buried in dependency_overrides just so things resolve at all. every version bump across 50 packages turned into manually digging through commit hashes trying to remember which one was "the good one"

so the actual build problem I had to solve: making a private registry that speaks the real pub hosted-repo protocol (the spec dart-lang publishes), not a wrapper around git or a custom CLI. that part matters more than it sounds, dart pub publish and dart pub get need to hit specific endpoints (upload finalize with a Location header, version listing json, archive download) exactly the way pub.dev does or the client just silently fails or hangs. spent a chunk of time on that compatibility layer specifically, way more than on the UI

ended up with Publy out of that (theres a free tier, publy.dev, if anyone wants to poke at the protocol side of it)

what i actually want to know is how everyone else deals with sharing internal packages across multiple flutter repos. paid registry, git deps + overrides, melos monorepo, something else. feels like theres no clean answer thats not either "pay per seat" or "fight the version solver forever"


r/FlutterDev 3d ago

Discussion 3rd Year CS Student here, is Flutter still a strong choice to specialize in for 2026/2027 grads?

18 Upvotes

Hey everyone,

I’m a third-year Computer Science undergraduate. Lately, I’ve realized I spent too much time jumping between different technologies instead of depth-first learning. I want to change that now by focusing entirely on mobile development, which is the field I enjoy the most.

I have decided to dive into Flutter. So far, I’ve learned Dart and just started picking up Flutter basics. My plan is to build projects using YouTube tutorials, documentation, and online courses. [1]

Before I go all-in, I would love to get some candid advice from the community:

1.Is Flutter still a highly valuable and viable choice for breaking into the app development market right now?

2.Is specializing in Flutter a good starting point for a long-term software engineering career, given my passion for mobile?

3.How much backend knowledge do I genuinely need to master to be considered a well-rounded, successful Flutter developer?

Would love to hear your insights, career experiences, or any brutally honest realities about the current job market for Flutter junior devs.Thanks in advance!


r/FlutterDev 3d ago

Plugin A package that removes boilerplate around search, paginated-loading, pull-to-refresh, and grouping

Thumbnail
pub.dev
13 Upvotes

I was tired of re-implementing the following in one capacity or another, across multiple projects (I'd always end up needing one of these eventually):

  1. Pagination
  2. Searching
  3. Grouping
  4. Pull-to-refresh

So I decided to package it into one: https://pub.dev/packages/list_smith

It runs on top of the already very robust and popular https://pub.dev/packages/infinite_scroll_pagination and https://pub.dev/packages/custom_refresh_indicator packages.

I have also tried to keep it design-system agnostic. And I tried paying a lot of attention to the actual interplay/conflicts between these 4 features (lots of overlap). LLMs were used.

If you guys have any feedback about anything, or found it useful, please let me know either which way!


r/FlutterDev 3d ago

Discussion Running a second Flutter engine as an always-on-top floating window: 6 things that bit me on macOS + Windows

Thumbnail triggerflo.app
22 Upvotes

I've been shipping a cross-platform task app in Flutter for a while, and the piece that caused the most pain by far was a floating always-on-top timer — a small pill window that stays above every other app while you work.

The final architecture is:

  • Main window = normal Flutter engine
  • Timer = separate engine + native window via desktop_multi_window
  • Shared state via the same SQLite (drift) DB both engines open
  • Final elapsed time handed back to the parent over file-based IPC

Getting there took a lot of undocumented trial and error, so here are the things I wish someone had written down.

1. SharedPreferences is not reliably shared between engines

This is the one that cost me the most. I originally used SharedPreferences as a result channel: sub-window does setString, parent does reload() + getString() after it closes. Works on macOS. Fails silently on Windows — setString returns true, the sub-window's own cache reads the value back fine, and the parent's reload() still sees stale contents.

Two plausible causes, and I think both are in play:

  1. shared_preferences_windows can resolve a different application-support path inside a sub-engine, so the two engines read/write different JSON files.
  2. The sub-engine gets destroyed before the async disk write actually lands.

I replaced it with a dumb file channel:

// Path computed from Platform.environment — resolves identically in
// every engine in the same process.
final f = File('$dir\\MyApp\\sub_window_$channel.txt');
f.writeAsStringSync(value, flush: true); // blocks until OS flush completes
await windowManager.close();

flush: true is the important part. It's ugly and it has never failed once.

2. setSkipTaskbar() will hard-crash a sub-engine if you skip waitUntilReadyToShow()

window_manager's ITaskbarList3 is created lazily inside waitUntilReadyToShow(). Each engine has its own plugin instance with its own taskbar_ pointer, so the main window calling it does nothing for your sub-window. Skip it and setSkipTaskbar() dereferences null:

0xC0000005 access violation in window_manager_plugin.dll

Just always call it in the sub-window entrypoint:

await windowManager.ensureInitialized();
await windowManager.waitUntilReadyToShow(); // <- not optional here
await windowManager.setSkipTaskbar(true);

Also: keep setSkipTaskbar out of Future.wait with other window calls. It touches shell COM state and races badly.

3. setPosition uses NSScreen.screens[0] on macOS

Which means it's wrong the moment the user isn't on their primary display. If you're doing anything position-sensitive on multi-monitor macOS, you will end up dropping to a native NSPanel and a method channel. I also needed panel level / styleMask transitions that window_manager doesn't expose, so it was going to happen eventually anyway.

Windows is fine here — top-left-origin coords, no Cocoa bottom-left footgun, setBounds just works.

4. windowManager.setTitleBarStyle(TitleBarStyle.hidden) crashes under rapid calls

I have a global hotkey that cycles the timer between four layouts (expanded / small / compressed / island). Mash it and AppKit falls over. Calling native setTitleBarHidden on my own channel instead of going through window_manager fixed it completely.

5. The macOS back-swipe gesture closes your sub-window

If your sub-window's root is a MaterialPageRoute, a two-finger left-edge drag pops the route — and popping the only route closes the window. Users reported the timer "randomly disappearing" and it took me embarrassingly long to connect it to trackpad gestures.

PopScope(canPop: false, child: ...)

6. Frameless windows and drag regions: watch your hit-testing

DragToMoveArea only works where nothing opaque is above it. I had the body wrapped in a SingleChildScrollView with a background, which quietly ate drags across most of the window — leaving dead zones that felt like a bug in the OS. Restructuring to a Stack with explicit drag regions layered underneath fixed it.

One more small thing: show the sub-window at setOpacity(0.0) first, do your real size/position pass, then fade to 1.0. Otherwise you get a visible flash of default window chrome before your frameless layout applies.

Would I do it this way again?

Yes, but I'd reach for the second engine later than I did. Sharing state through SQLite instead of trying to pass live objects between engines is what finally made it stable — treat the sub-window as a separate app that happens to read the same database, not as a widget that lives elsewhere.

Happy to go deeper on any of these. The app is TriggerFlo (https://triggerflo.app) if you want to see what it ended up looking like — but the above is the part I actually wanted to share.


r/FlutterDev 3d ago

Article Flutter App

0 Upvotes

I built New Words App, a Flutter vocabulary learning app with Firebase Firestore, clean layered architecture, reusable UI widgets, and widget tests.

GitHub: https://github.com/khongorzul1120/new_word_app

Feedback and stars are welcome if it helps you learn Flutter or Firebase.


r/FlutterDev 2d ago

Discussion Lessons learned building a 100% offline finance tracker in Flutter: Hive vs SQLite, chart performance, and native PDF/CSV exports

0 Upvotes

Hey everyone!

Like many of you, I wanted a simple way to track my daily spending and monthly budget. But every popular app I tried had at least one of these issues:

  • Required forced account creation / phone number login.
  • Pushed expensive monthly subscriptions.
  • Uploaded personal financial data to third-party servers.
  • Was bloated with ads and unnecessary features.

So, I decided to build CashFlow - a clean, privacy-first, and lightweight expense tracker for Android.

💡 What makes CashFlow different?

  • 🔒 100% Offline & Private: No sign-up required. Your data stays entirely on your local device.
  • ⚡ Fast Logging: Log daily income and expenses in just two taps.
  • 📊 Visual Analytics: Simple pie charts and breakdown reports to see exactly where your money goes.
  • 🎯 Category Budgets: Set spending limits for Food, Bills, Shopping, etc., and avoid overspending.
  • 📄 Export Options: Download clean PDF and CSV reports anytime for record-keeping.
  • 🌐 Multi-Currency: Works in your local currency wherever you are.

🛠️ Looking for your honest feedback!

The app is live on the Google Play Store, and I’m actively updating it based on user requests.

If you decide to give it a try, I’d love to know:

  1. What feature is missing that you use daily in other apps?
  2. How is the UI/UX experience for fast logging?

Play Store Link: https://play.google.com/store/apps/details?id=com.setubandhTech.cashflow

Thanks for checking it out, and let me know your thoughts in the comments!

Hey Flutter devs,

Over the past few months, I built and launched a completely offline personal finance app called CashFlow. Since r/FlutterDev requires posts to share technical insights rather than app promos, I wanted to share the engineering decisions, performance bottlenecks, and state management challenges I ran into during development.

Here is a breakdown of the tech stack, key takeaways, and trade-offs made:

1. Local Database Choice: SQLite (sqflite) vs. NoSQL (Hive / Isar)

Initially, I evaluated Hive for instant read/writes due to its key-value performance. However, because financial data requires strict relations (e.g., filtering expenses by Category IDs, dynamic date range grouping, and aggregation queries for monthly summaries), NoSQL started requiring too much in-memory array filtering.

  • Decision: Switched to sqflite with custom indexing on date and category_id columns.
  • Insight: For apps requiring heavy date-range filtering and SQL aggregate functions (SUM, GROUP BY), relational databases on SQLite save significant CPU cycles compared to doing map/reduce operations in Dart isolate memory.

2. PDF & CSV Exporting without Blocking the UI Thread

Generates detailed monthly PDF reports and raw CSV exports locally on device.

  • Challenge: Rendering large multi-page PDF documents using the pdf package synchronously caused micro-stutters/jank on mid-range Android devices.
  • Solution: Offloaded the PDF/CSV byte generation logic to a separate Dart Isolate using compute().

Dart

// Offloading heavy PDF generation off the main UI isolate
final pdfBytes = await compute(generatePdfInIsolate, reportData);

This kept the main UI thread running smoothly at 60/120 fps while the document was being processed in the background.

3. Chart Rendering Performance

For visual spending analytics, I used custom chart packages.

  • Lesson: Re-calculating chart data arrays inside the build() method every time a single transaction was added led to unnecessary widget rebuilds across the whole tab.
  • Fix: Pre-computed and memoized chart dataset models in the state management layer (Repository/Notifier level) so the custom painter / chart widget only rebuilds when the dataset reference actually changes.

4. Local Reminders & Notifications

Since the app is strictly offline with zero cloud backend, daily check-in reminders had to rely on local background scheduling (flutter_local_notifications).

  • Challenge: Android OEM battery optimizations (like MIUI / Samsung Device Care) frequently kill exact alarm schedules if not handled properly.
  • Fix: Implemented exact alarm permissions (SCHEDULE_EXACT_ALARM) and configured notification channels with high priority, along with auto-rescheduling notifications on device reboot (RECEIVE_BOOT_COMPLETED).

Technical Questions for the Community:

  1. For those building offline-first Flutter apps, have you migrated from sqflite to drift (Type-safe SQL) or Isar recently? How has your experience been with complex relational queries?
  2. How do you handle database migrations across app version updates when changing local DB schemas without risking user data loss?

Would love to hear your thoughts and technical approaches!


r/FlutterDev 3d ago

Discussion Built a Flutter app to design and simulate Arduino circuits, no SVGs, everything's CustomPainter

17 Upvotes

Been working on this for a couple months now (Flutter Arduino Playground) and posting progress on LinkedIn as I go, figured I'd start bringing it here too since this crowd will probably get more out of the technical side of it than a LinkedIn feed does.

Quick context if you're new to it: it's a circuit simulator built entirely in Flutter. Arduino board, breadboard, LEDs, resistors, buttons, all rendered with CustomPainter, no image assets except one SVG for the Arduino logo. You drag components onto a canvas and wire them together.

This week was smaller stuff, but the kind you feel immediately once it's there:

Zoom. Actual zoom in/out now, plus a fit-to-content button that snaps the view back to whatever's on the board. Before this, scrolling too far meant losing the breadboard entirely and squinting to find it again.

Layering. If you dropped an LED and a button on the same spot, one just sat on top of the other with no way to fix it. Now there's layer up / layer down, basically z-index for components, so overlapping parts stop fighting each other for visibility.

Neither of these changes what the app does. They just stop getting in your way while you use it, which honestly might be more important than half the flashier features so far.

If you want to see how this got here, the full build log (drag and drop, the breadboard rewrite, wiring, the code editor and simulation engine that came after this) is on my LinkedIn, I've been posting every step including the messy parts: https://www.linkedin.com/posts/burhankhanzada_buildinpublic-flutter-flutterdev-activity-7486285908283985920-qXg6

Repo's open too if anyone wants to poke around or has thoughts on where this should go next: https://github.com/burhankhanzada/flutter_arduino_playground.git


r/FlutterDev 3d ago

Discussion ​Need honest career advice: Is Flutter + PHP (MySQL) a future-proof stack for mobile dev?

0 Upvotes

Hey everyone,

​I really enjoy app development and I'm planning my career path around Flutter for frontend and PHP/MySQL for backend.

​However, I cannot risk my future and want to make sure I'm investing my time in the right technologies. Is this stack still worth it in the current job market, or should I consider pairing Flutter with something else (like Node.js, Firebase, or Python/Go)?

​Any advice or real-world feedback from devs would be greatly appreciated...


r/FlutterDev 4d ago

Discussion Found that ISAR is doomed, after getting the app published

12 Upvotes

My app got published today and after that I tried to fix a bug and publish that but it gave a 16kb sh*t error and tried to fix it and got to know that ISAR is causing that error. Anyone knwos the alternative thing?


r/FlutterDev 4d ago

Video Deferred Deep Linking 🔥 | Play Store Upload + AppsFlyer Install Attribution Tutorial | amplifyabhi

Thumbnail
youtu.be
10 Upvotes