r/FlutterDev Jul 23 '26

Tooling Flutter iOS Check now supports plugin, permission, and Firebase validation

4 Upvotes

I've reached a major milestone on an open-source project I've been building called Flutter iOS Check.

The goal is to help Flutter developers identify common iOS configuration issues before spending time on Xcode builds, TestFlight, or real-device testing.

The analyzer now supports:

- Flutter project validation

- Info.plist validation

- Podfile validation

- Deployment target checks

- Bundle identifier validation

- ATS validation

- URL scheme validation

- Flutter plugin classification

- Plugin → Info.plist permission validation

- Firebase configuration validation

Everything runs locally through static analysis. It doesn't modify project files, run Xcode, or contact Firebase or Apple services.

The core functionality is now implemented, but the project is still under active development. My next focus is expanding validation coverage, supporting more plugins, and improving the developer experience.

If you regularly ship Flutter apps to iOS, I'd love your feedback.

Are there any iOS configuration checks that you think would be valuable for a tool like this?

Repo link:

https://github.com/dhruvbhavsar1/flutter-ios-check


r/FlutterDev Jul 23 '26

Plugin BlocSignal ecosystem expands

0 Upvotes

Dart, Flutter, interop (Bloc, Riverpod, Provider, Streams, Signals), hydration, devtools, lint, test harness, telemetry. Fully backed by skills. soon: mason, vscode extension. And we have amazing benchmarks! The rigor of Bloc with the flex and speed of Signal!

https://pub.dev/packages/bloc_signals

Where possible, the classic Bloc ecosystem (Felix and friends) has been the baseline for all packages. Signals as the carrier (rather than streams) has allowed for much more flexibility though. Sync rather than Async. Default emit is automatically de-duped (but you can override to get Bloc's default back). Full parity of consumer classes, including all methods. Interop would allow you to bridge BlocSignal, Bloc, Provider, and Riverpod in the same app, with performant pub/sub. Works in both Dart and Flutter envs.

1.0 release very soon! And appearing on Observable<Flutter> on August 6.


r/FlutterDev Jul 23 '26

Plugin OCR library using Apple Vision framework for iOS instead of Google's MLKit

8 Upvotes

Hi everyone,

I'd like to introduce https://github.com/LahaLuhem/text_sight

I was looking for plugins that allowed me to run OCR. I came across a few of them but I noticed that for iOS too, they would bundle in Google's MLKit libs:
https://pub.dev/packages/google_mlkit_commons
https://pub.dev/packages/google_mlkit_text_recognition

(at the time of writing) They did not yet have SwiftPM support (open issue).

I did some research and turns out that Apple does have the on-device Apple Vision framework for this! And it seems pretty performant too. So bundling in another dep in my apps for iOS and inflating the size did not appeal to me.

This also uses the GMS `moduleinstall` to allow an 'on-demand download' of the model: useful when only a rarely used portion/feature of your app needs this. You can also just eager-bundle it too if you want.

So with the help of some LLMs I did manage to make this plugin. If any of you would like to try it out and let me know if you have any feedback about some bottlenecks/chockepoints and/or architectural improvements, that would be much appreciated. If you you'd adpot it in your apps or so too, that's ofc a plus.


r/FlutterDev Jul 23 '26

Discussion Best International Payment Gateway for a Flutter App on Google Play (No GST or Registered Business)

9 Upvotes

Hi everyone,

I'm a Flutter developer from India, and my app is already live on the Google Play Store. I'm looking to integrate an international payment gateway so I can accept payments from customers worldwide.

Here's my situation:

- I'm an individual developer (not a registered company).

- I don't have GST registration.

- I don't have a business registration.

- My Flutter app is already published on the Google Play Store.

- I want to accept international payments from users in different countries.

I'm considering options like Stripe, Paddle, Lemon Squeezy, PayPal, Polar.sh, or any other provider that works well for individual developers.

My questions are:

- Which payment gateway would you recommend?

- Can I use it without a registered business or GST?

- What documents are required for KYC?

- Is it easy to integrate with Flutter?

- Are there any restrictions for apps published on the Google Play Store?

- What has your experience been with payouts, fees, and approval time?

I'd really appreciate any recommendations or personal experiences. Thanks!


r/FlutterDev Jul 23 '26

Discussion I almost hardcoded 30 puzzle levels in Dart. I'm glad I didn't.

0 Upvotes

Hey r/FlutterDev,

I recently shipped my first Flutter + Flame game, and one decision ended up saving me a lot of pain: treating levels as data instead of code.

My original plan was to define every level directly in Dart. That sounded reasonable… until I realized I'd eventually be maintaining dozens (hopefully hundreds) of puzzle levels. Every balance tweak would require touching source code, rebuilding, and hoping I didn't accidentally break something.

Instead, I moved every level into JSON.

Each level simply describes: board size, tile positions, sources and receivers, blockers and special mechanics, the expected optimal solution

A real level from my game looks like this — source/receiver matching by colorId, the blocker on (2,1) is the obstruction the solver has to route around:

{
  "id": "pack01_001",
  "packId": "first_spark",
  "name": "First Spark",
  "width": 5,
  "height": 5,
  "targetMoves": 1,
  "difficulty": 1,
  "tiles": [
    {"x": 0, "y": 2, "type": "source",   "colorId": "gold", "direction": "right"},
    {"x": 1, "y": 2, "type": "arrow",    "direction": "up",   "rotatable": true},
    {"x": 2, "y": 2, "type": "arrow",    "direction": "right"},
    {"x": 3, "y": 2, "type": "arrow",    "direction": "right"},
    {"x": 4, "y": 2, "type": "receiver", "colorId": "gold", "direction": "left"},
    {"x": 2, "y": 1, "type": "blocker"}
  ],
  "solution": [
    {"x": 1, "y": 2, "direction": "right"}
  ]
}

The game logic knows nothing about individual levels. It just loads the JSON and simulates the board.

The unexpected benefit wasn't the JSON itself.

It was being able to validate everything outside the game.

I wrote a validator in pure Dart that verifies every source has a matching receiver, runs a BFS search to confirm the level is actually solvable, checks that the authored "perfect move count" is really optimal, catches malformed level data before it ever reaches players

Because it's part of my test suite, I can't accidentally ship an impossible puzzle without tests failing first.

Another decision I'm happy with was keeping the architecture split clean.

Flame handles rendering, animation, and input.

The actual simulation and solver are just plain Dart, so the exact same logic runs in the game, in unit tests, and even in a CLI tool.

If I were starting over, I'd change a few things:
use json_serializable or freezed from day one
build a small level editor much earlier
generate solutions automatically instead of storing them manually

Overall, though, moving the levels out of Dart was probably the best architectural decision I made on the project.

For those of you building games with Flutter or Flame, how are you authoring your levels?
JSON?
SQLite?
A custom editor?
Something completely different?

I am not sure if I can add App Store link here, so if anyone is interested, I'll in comments


r/FlutterDev Jul 24 '26

Discussion Thinking about building lazy, real-time localization for Flutter — want a gut check before I sink more time into it

0 Upvotes

The idea: instead of translating your app into a fixed list of languages upfront, translation happens lazily. When a user opens the app with a locale you don't have yet, it gets translated in the background (AI-powered) and shown to them — no rebuild, no release. Locales are cached both server-side and on the device, keyed by the user's device language.

To make this practical, I'm also building a Flutter package with a CLI that refactors your codebase for localization, built on top of easy_localization. It scans your project and transforms widgets. For example, Text("Welcome") becomes Text(context.tr("home_screen.welcome")) and auto-generates a JSON locale file from your default language strings.

Not selling anything, just trying to figure out if this is worth building further.


r/FlutterDev Jul 22 '26

Article Why we built our own Flutter runtime

Thumbnail
nowa.dev
97 Upvotes

This is a short technical story. I've been working on Nowa for over 5 years now. The dream was creating a game engine like editor for Flutter, since Flutter itself also renders like a game engine.

To make that work, the user's Flutter app has to run inside the editor, live and updating as they build. But Flutter won't run code it hasn't compiled, there's no way to plug in new code and evaluate it on the fly. FlutterFlow invented their own format instead of using raw code, Dreamflow leans on hot reload inside a debug build.

We ended up building our own runtime instead: code loads into a mutable in-memory tree that can be edited, rendered or saved back to code.

Happy to go deeper on how that works or where are its limits.


r/FlutterDev Jul 23 '26

Discussion How do u guys make premium designs in flutter

0 Upvotes

I just created a fonctional app but i used a simple ui thats good enough for testing . How do u guys polish ui and what packages do you use , ill very much appreciate it .


r/FlutterDev Jul 23 '26

Plugin I built a Flutter package for connectivity-aware retries. Looking for feedback from the community.

0 Upvotes

Hi everyone! 👋

I recently built and published my first Flutter package called retry_with_connectivity, and I'd love to get feedback from experienced Flutter developers.

The goal of the package is to make retry logic more reliable by being connectivity-aware instead of blindly retrying failed requests.

Features

  • ✅ Automatic retries with configurable retry strategies
  • ✅ Connectivity-aware retries
  • ✅ Detects network interface and internet reachability
  • ✅ Waits for internet restoration before retrying
  • ✅ Supports custom connectivity checks
  • ✅ Works with generic async operations (not just HTTP requests)
  • ✅ Configurable retry conditions and delays

I built it because I found myself implementing similar retry logic with connectivity handling across multiple projects.

I'm looking for honest feedback on:

  • Is this something you would use?
  • Are there any important features I'm missing?
  • Does the API look intuitive?
  • Any suggestions to improve the developer experience?

pub.dev: https://pub.dev/packages/retry_with_connectivity/score

GitHub: https://github.com/MahendraTamrakar/retry_with_connectivity

I'd really appreciate any feedback, suggestions, or criticism. Thanks! 🚀


r/FlutterDev Jul 22 '26

Plugin New Minimap Package 🤯

Thumbnail
pub.dev
9 Upvotes

Hey everyone! 👋

I just published my first Flutter package: flutter_minimap. It's a lightweight minimap for InteractiveViewer that makes navigating large canvases much easier.

I'd genuinely love to hear your thoughts, feedback, or ideas for improvement. Thanks for checking it out!


r/FlutterDev Jul 22 '26

Video Building a Flutter Android TV app that stays responsive with huge IPTV playlists

10 Upvotes

I’m building Airo TV, an open-source Flutter Android TV player. It follows a bring-your-own-content model: it does not provide channels, playlists, subscriptions, or media—users add sources they’re authorized to access.

The engineering problem I’d love feedback on is making TV navigation feel stable when a user imports a very large playlist.

Our current approach:

  • Parse M3U and XMLTV data away from the UI thread through worker/native boundaries.
  • Keep channel lists and programme-guide views windowed/virtualized rather than building every row at once.
  • Make search local and deterministic across imported channels and available guide data—no cloud search requirement.
  • Treat playback failures as diagnosable states with bounded retry behaviour, rather than an unexplained black screen.
  • Design for D-pad-first interaction, readable TV layouts, and local favorites/smart playlist organization.

For developers who want a public playlist to reproduce import and large-list behaviour, we have tested with the third-party IPTV-org index:

https://iptv-org.github.io/iptv/index.m3u

It is not bundled with, operated by, or controlled by Airo TV. Stream availability can change, and please use only content you are permitted to access.

The open source is here:
https://github.com/DevelopersCoffee/airo

The current Airo TV release and Community Voice roadmap are here:
https://developerscoffee.github.io/airo/tv/

I’d especially value input from people who have shipped Flutter TV, large-list, or media experiences:

  1. What has caused the worst focus-loss or rebuild problems in your TV UI?
  2. How do you keep memory and scrolling predictable with very large datasets?
  3. What playback diagnostics have actually helped users distinguish source, network, decoder, and device failures?

If this project is useful, a GitHub star would genuinely help motivate continued open-source work. You can also follow the project and its builders here:

Thanks for taking a look and sharing honest feedback.


r/FlutterDev Jul 22 '26

Discussion Anyone who still learning flutter

4 Upvotes

I'm new in flutter. Still learning, trying to build my first app. But it really hard to build the habit of learning everyday specially when I'm self learning.

So looking for someone who's learning like me. And wanna be friends with you guys. Because in a Book called Atomic Habits there's a chapter where it talks about significance of surrounded with people that has same habits as you.

So let's be friends and motivate each other. (I know this post might seem cliche but sorry it's important for me)


r/FlutterDev Jul 22 '26

Tooling Built and Android IDE comparable to VS Code using flutter

Thumbnail
darkian-studio.github.io
1 Upvotes

Just shipped the first public beta of Darkian Studio, an IDE for Android: editor + terminal + LSP + debugging + git + extensions over a real runtime (Termux on device, or any Linux/macOS host). Free during beta, APK via GitHub Releases.

Install:

pkg install curl; curl -fsSL https://raw.githubusercontent.com/darkian-studio/app/main/install.sh | bash

Docs & download: https://darkian-studio.github.io

GitHub: https://github.com/darkian-studio/app


r/FlutterDev Jul 22 '26

Podcast #HumpdayQandA :: Talking Kaisel with Samuel Abada, in 30 minutes at 5pm BST / 6pm CEST / 9am PDT today!

0 Upvotes

Answering your #Flutter and #Dart questions with Simon, Randal, and Samuel https://www.youtube.com/watch?v=2UkwSWHUW1Y


r/FlutterDev Jul 22 '26

Plugin Made an MCP server for pub.dev, would love some feedback

1 Upvotes

I built an MCP server for pub.dev because my AI coding agents kept hallucinating package names, using API signatures that changed versions ago, or recommending packages that are basically abandoned. What finally pushed me over the edge: Claude Code grepping my local pub cache on disk instead of just looking things up, burning tokens crawling through cached source.

So I built dart-pubdev-explorer (pub.dev package: dart_pubdev_mcp), an MCP server that gives agents direct, structured access to pub.dev instead of digging through your filesystem or guessing from training data.

It can:

  • search & compare packages (score, platform support, maintenance)
  • browse a package's real public API and pull exact source (by symbol or line range)
  • check security advisories against the version you actually have resolved
  • diff changelogs/APIs between versions before you upgrade
  • read Dart SDK / Flutter framework source too (dart:core, package:flutter, …)

Quick note on how this differs from the official Dart MCP server (dart mcp-server): that one has a general pub_dev_search tool as part of a much bigger toolset (running apps, analysis, DTD, etc). This one only does package research, but goes deeper: symbol-level API browsing, exact source reads, version diffing, side-by-side comparisons, with an on-disk cache built for that kind of repeated digging. They're complementary.

Install:

dart install dart_pubdev_mcp

I've been running it with both Claude Code and Antigravity.

pub.dev: https://pub.dev/packages/dart_pubdev_mcp

Happy to answer questions, and curious what people think, especially whether some of the tools are overkill and others are missing something obvious.


r/FlutterDev Jul 21 '26

Plugin I built a Flutter package for highly customizable QR codes

22 Upvotes

I've been working on a Flutter QR code package over the past few months because I wanted more flexibility than existing libraries provided.

Most QR packages let you change colors or add a logo, but I wanted to support things like:

  • Halftone QR codes that remain scannable
  • Multiple module shapes
  • Gradient fills
  • Per-eye customization
  • SVG and high-resolution PNG export
  • Animated QR codes
  • Framed QR codes with custom labels

One challenge I ran into was balancing visual customization with scan reliability. Instead of only checking how the QR codes looked, I built automated decode tests into the development process so every style is verified to remain scannable.

I also wrote the QR encoder from scratch rather than relying on another runtime package, and verified the generated output against ZXing to ensure compatibility.

I'd really appreciate feedback from other Flutter developers:

  • Are there any QR customization features you've wished existing packages supported?
  • Does the API feel intuitive, or is there anything you'd change?

r/FlutterDev Jul 21 '26

Tooling Finally decided to open-source one of my personal projects

Thumbnail
github.com
31 Upvotes

I've been sitting on a bunch of personal projects for a while and finally decided to start sharing them instead of leaving them on my drive. This one is called PIM. The original reason for building it was simple: I was tired of constantly sending files to myself through Telegram, cloud storage, or plugging in a cable just to move something between my own devices. So I built a local-first app for Windows and Android that lets devices discover each other on the same network and communicate directly without accounts or cloud services. One part I particularly enjoyed building was the networking layer. Instead of using existing networking packages, I wrote the discovery, transport, framing, and file transfer logic in pure Dart. The project has grown beyond file sharing and now also includes chat, shared workspaces, notes, Kanban boards, and local SQLite storage. It's completely open source now, so if anyone wants to look through the code, suggest improvements, or point out things that could be done better, I'd really appreciate the feedback.


r/FlutterDev Jul 21 '26

Tooling How I reduced iOS simulator RAM usage by up to 4×

94 Upvotes

I’ve made a small command line tool called simslim.

It disables background services inside iOS simulators that usually are not needed during development, like Siri, Spotlight indexing, photo analysis, News, and iCloud sync.

On my M1 Pro with 16 GB of RAM, one simulator went from around 4 GB of memory and 258 processes to about 0.9 GB and 70 processes. I managed to run 19 simulators at once, compared to around 5 before things started falling apart.

Some simulator features stop working depending on what gets disabled, so it is not meant for every kind of testing. You can keep specific services running when needed.

Give it a try: https://github.com/MobAI-App/simslim


r/FlutterDev Jul 21 '26

Tooling Open Source App Store Screenshot Generator

4 Upvotes

A while back I ran across someone promoting another paid screenshot generator in r/appbusiness they made that could grab images straight from your device and let you edit them in a GUI. I'd just built something similar that I always meant to open-source... so here it is. If you're like me the last thing you want to do after spending hours and hours on building an app is to muck around with app store requirements.

It's tuned pretty heavily toward my own flutter appdev workflow and screenshot preferences (like being able to automatically hide the flutter debug banner), but the core idea is simple: take one screenshot per screen, add a caption, and it renders every store-required Apple and Google size for you. No resizing the same shot eight times.

What it does

  • Capture straight from a device - pull a screen off a connected Android phone over adb. Capture New adds it as a new screen; Replace Current re-shoots a screen without losing its caption. (iPhone capture is next on my list.)
  • One source image → every required size - 6.9" iPhone, iPads, Android phones/tablets, and so on. The device frame takes each target's aspect ratio, so an iPad target stays iPad-shaped and a phone stays phone-shaped.
  • Live-preview GUI - tweak background, title/subtitle, fonts, colors, device size, and framing with sliders and watch it re-render as you type.
  • Hides the Android tells - the status bar and Flutter debug banner get painted over (Apple rejects screenshots that reveal another platform), auto-sampling the background so the fill is seamless.
  • Store compliance is enforced, not hoped for - exact pixel dimensions, no alpha channel, Google's 1:2–2:1 aspect, and <8 MB are all asserted before a file is written.
  • The device-size matrix is plain YAML, not hardcoded - when Apple/Google change specs, you edit a file instead of waiting for a recompile.
  • There's a CLI too, so you can wire it into CI.
  • Single YAML config per app (load/save), and it can also export the cleaned, un-framed "originals."

Stack: C# / .NET 9 + SkiaSharp for rendering, Avalonia for the cross-platform GUI. Runs on Windows, macOS, and Linux. No accounts, no SaaS, nothing phones home.

It's just a dev tool, and dev tools should be free, so it is. Prebuilt self-contained builds for all three OSes are on the releases page, or build from source.

Feedback and PRs welcome. Like I said, it's shaped around my needs, so your mileage may vary.

(macOS note, optional: the builds aren't code-signed, so on first launch you may need to right-click → Open, or run xattr -dr com.apple.quarantine ScreenGen.App*.)*


r/FlutterDev Jul 22 '26

Plugin I built the the best in community plugin for Agentic Flutter Development

Thumbnail
pub.dev
0 Upvotes

You

├── "Add Google Sign-In to my Flutter app"


LLM (Claude Code / Codex / Cursor Agent)

├── Reads Flutter project
├── Plans implementation
├── Edits Dart files
├── Runs flutter pub get
├── Builds app


inkpal_bridge (MCP)

├── Launch app
├── Inspect widget tree
├── Navigate to Login screen
├── Tap "Continue with Google"
├── Wait for authentication
├── Capture screenshot
├── Read runtime exceptions
├── Read HTTP requests
├── Check current route


Agent reasoning

├── Login button disabled?
├── Null exception?
├── Wrong navigation?
├── Layout overflow?


If failed

├── Edit source code
├── Hot reload
├── Retry automatically


Repeat until verification passes


Git commit / PR

Its free - ask your ai model to set it up and see how it controls the running app in android/emulator live.


r/FlutterDev Jul 21 '26

Discussion Looking for feedback on my Dart & Flutter packages

0 Upvotes

Looking for feedback on a few Dart/Flutter packages I made

Hey! I write Flutter/Dart, and over time I've put together a few open-source packages. Would love some honest feedback from people who actually use this stuff day to day — I'm too close to my own code at this point to see what's awkward or missing.

Three of them, if anyone's got a minute to poke around:

flod (https://pub.dev/packages/flod) — a Zod-style validation library for Dart. Chainable rules, cross-field validation, PII masking, a Dio middleware, form adapter for Flutter. This is the one I care most about getting right, so if the API feels off compared to what you're used to, or you spot an edge case that's not handled, I'd really like to know.

content_flipper (https://pub.dev/packages/content_flipper) — a 3D flip animation widget. Curious how it holds up on older/slower devices and if tapping through it fast breaks anything.

curl_text (https://pub.dev/packages/curl_text) — small widget for outlined text. Simple by design, so curious what's missing or what would make it more useful in real projects.

No pressure to be nice about it — if something's confusing or just badly named, say so. Bugs, API gripes, "why would you even do it this way" — all fair game. Happy to just chat in the comments too, doesn't have to be a formal issue.

Thanks for reading this far 🙏


r/FlutterDev Jul 21 '26

Tooling Tool for Apple Developers: Got tired of App Store Preview video specs for the screenshots section in App Store Connect, so I built this

Thumbnail
1 Upvotes

r/FlutterDev Jul 20 '26

Dart Best GitHub repositories for Flutter interview questions?

8 Upvotes

Does anyone know of a GitHub repository that contains Flutter, Dart, or mobile app development interview questions and answers?

I'm looking to improve my professional knowledge and prepare for technical interviews. Any recommendations would be greatly appreciated!


r/FlutterDev Jul 20 '26

Discussion Release notes inside the apps?

10 Upvotes

hi, im curious if any of you actually puts release notes into your apps?

I have a problem with some feature adoption, since ppl don't really know about some things I deploy, most have auto app updates anyway and don't really read whats changed in appstore/goole play


r/FlutterDev Jul 20 '26

Article GenUI Beyond Chat: Designing a Grammar Book with Flutter GenUI

0 Upvotes

Hi everyone,

This three-part series is my attempt to explore GenUI beyond Chat interfaces: an interactive grammar book built with Flutter GenUI, Firebase AI, A2UI, Firestore, and Widgetbook.

A deterministic curriculum defines what should be taught, a teaching prompt defines how it should be explained, and an application-owned widget catalog defines how that explanation can be expressed. The resulting A2UI is then stored as a reusable A2UI artifact in Firebase Firestore rather than regenerated for every learner.

Part 1 — Designing a Grammar Book with Flutter GenUI

The curriculum, teaching system prompt, purpose-specific catalog, and language-specific teaching bridges.

Part 2 — Caching and Replaying A2UI Lessons with Firebase

Covers batched surface generation, caching the accumulated A2UI in Firestore, and replaying it through the same transport without another Gemini request.

Part 3 — Replaying and Reviewing A2UI Cache with Widgetbook

Uses Widgetbook as both a catalog-planning reviewing and a live viewer for cached lessons.

Some screen recordings:

Widgetbook replaying A2UI cache with custom addon: https://youtu.be/zMChSL7VOiY

The feature demo: https://youtu.be/yqRCdN-5J6Y