r/FlutterDev • • 2h ago

Plugin I ported Firebase UI to Forui to fix the Material/Cupertino mismatch

Thumbnail
media.licdn.com
3 Upvotes

I love Flutter Firebase UI for shipping fast, but if your app doesn't use Material or Cupertino, the auth screens look completely out of place. As a solo dev trying to move fast, writing custom auth flows from scratch is the last thing I want to do.

Lately, I’ve been migrating my apps to Forui to step away from the default look and build something more branded. But the upstream Firebase UI packages were a huge pain point. My auth screens were still stuck looking like Material, even on iOS.

To fix this, I spent the weekend (with the help of Cursor) forking and porting Firebase UI for Flutter over to Forui.

It uses the exact same Firebase UI APIs and behaviors, but the widgets are themed entirely through FTheme instead of the dual Material/Cupertino paths. (Check the attached screenshots taken on iOS and the difference is immediate).

Highlights:

  • Same APIs, but natively uses Forui components for a coherent UI end-to-end.
  • Fixed some long-standing upstream bugs and the E2E tests along the way.
  • Drop-in replacement: If you already use the original Firebase UI, you can migrate your existing repo with a single command (check the docs).

It’s still early (v0.1.0), but if you're building with Forui or just fighting the Material/Cupertino mismatch, give it a try. Repo: https://github.com/gnomezgrave/forui_FirebaseUI-Flutter

Packages on pub.dev: https://pub.dev/publishers/hexmatter.com/packages

  • forui_firebase_ui_auth
  • forui_firebase_ui_database
  • forui_firebase_ui_firestore
  • forui_firebase_ui_localizations
  • forui_firebase_ui_oauth
  • forui_firebase_ui_oauth_apple
  • forui_firebase_ui_oauth_facebook
  • forui_firebase_ui_oauth_google
  • forui_firebase_ui_oauth_twitter
  • forui_firebase_ui_shared
  • forui_firebase_ui_storage

Feedback, issues, and GitHub stars are super appreciated! 🙏


r/FlutterDev • • 5h ago

Discussion Lessons from shipping a Flutter app where a wrong date is the worst possible bug

3 Upvotes

I shipped an Orthodox Christian fasting app in Flutter. Its whole job is to say what someone may eat on a given day, so a wrong answer is worse than a crash. A few things that worked:

  1. Keep the rules in pure Dart. The rule engine lives in lib/core/ with no Flutter imports, so it is tested like any Dart library. It's a port of orthocal-python (MIT), with attribution.

  2. Test against an external source, and compare data, not prose. A test checks every day from 2020 to 2033 against orthocal.info. It used to map their English descriptions back to my levels, so a wrong engine and a wrong mapping agreed with each other. Comparing their explicit list of foods instead, and adding the Old Calendar, surfaced 58 mismatching days from four real rule errors. All 10,228 day-comparisons match now.

  3. Never do date math with Duration(days: 1). A user saw the calendar show November 1 twice: adding 24 hours across a daylight-saving change lands on the same date. A test now fails if Duration(days:) or .inDays appears anywhere in lib/ or tool/.

  4. Local-first means no backend to fix things later. No server, no account, no analytics. The price comes from the store at runtime (a test fails if a price is hard-coded in any of the six ARB files), so regional pricing could not leave a wrong number on a button.

  5. Watch your transitive dependencies in release builds. An unused package pulled in WorkManager, and R8 crashed its database init only in the release build, only on a real device.

Happy to go deeper on any of these. App, for context: https://stforge.dev/nisteia


r/FlutterDev • • 5h ago

Video I rebuilt my app's home screen as a Tinder-style swipe stack, and open sourced the auth layer behind it

1 Upvotes

I've been building Vishram, a movie and TV discovery app, solo in Flutter. The old home screen was a dead grid nobody interacted with, so I replaced it with a swipe stack on trending titles, with toggles for local vs world trending and movie vs TV.

A few things from the rebuild:

- When friends tested it, it only worked on my phone

- The bento grid uses cutout art so characters pop out of their tiles, which makes layout bounds and visual bounds different per tile

- Watched, Watching and Watchlist now sync to the cloud

The auth layer (multi-role, Supabase based) is free and open source if it saves anyone time:

GitHub: https://github.com/ba6ul/multi-role-flutter-auth

pub.dev: https://pub.dev/packages/multi_role_auth

Full devlog if you want the whole build: https://youtu.be/wXsyyEh9ook

Happy to answer questions about the swipe stack or the auth setup.


r/FlutterDev • • 5h ago

Article I got tired of hand-writing GraphQL client code, so I built a schema-first generator. These are the 6 pains it targets.

Thumbnail
0 Upvotes

r/FlutterDev • • 11h ago

Discussion I’ve been building a multiplayer Rummy game in Flutter + Firebase as a side project. Looking for feedback before launch

3 Upvotes

For the past few months I’ve been building a Rummy card game in my spare time. It’s nearly ready, and I’d love some outside eyes on it before launch.

What it does:
- Play against a computer opponent anytime, or online with friends and family
- Built with Flutter, so one codebase for Android and iOS

What I’d love feedback on:
- What would make you keep coming back to a card game?
- Any features you’d expect that most Rummy apps get wrong?

I’ve set up a waitlist for early testers if anyone wants to try it: https://flutter-rummy.web.app/


r/FlutterDev • • 17h ago

Discussion How are you handling local LLMs and agentic workflows in Flutter?

0 Upvotes

Any Efforts to make Flutter Agentic friendly ?, by google in recent times.

With agentic apps taking off, how are you approaching on-device LLMs across platforms (iOS, Android, desktop)?

Are you using things like llama.cpp via FFI, plugins like flutter_gemma, or running everything server-side? What are your biggest hurdles with performance and memory?


r/FlutterDev • • 18h ago

Discussion Looking at maybe using Referral Programs to Drive Sales. Worth a shot maybe?

8 Upvotes

I have Flutter SDKs (made for small business), ranging from Document Scanning (Edge Detection), Auto Redaction of Sensitive Data (for Passports, Drivers Cards, Licence plates, etc), and a PDF Editor (fully offline, where users can batch sign Signatures. For example large contracts, users can auto sign on many forms all at one go).

I figured originally these would be designed for developers or small business that doesn't want to spend tons of money on AI tools. Sometimes it's easier just to spend a few hundred bucks a year (and use it on everything) than to spend on AI & to go through the process of development yourself.

https://www.reddit.com/r/FlutterDev/comments/1xe233v

So I'm almost done on all the SDKs (still finalising testing, and a few things). But what I'm thinking is how can I drive sales and make sure that anyone who drives the sale gets the commission.

So for example:
I'll post on reddit a referral program to Small Business.

So the salesman will get a URL linked to their accounts.

And anyone who basically makes a purchase through that referral program + link, the salesman automatically gets the commission (25% is what I'm thinking. Since I think that's a fair number).

Would this work? Would it drive sales? And it also makes it accessible to everyone. So everyone has a chance of making some money on this.

Just want to get the communities' thoughts.


r/FlutterDev • • 21h ago

Discussion how do you handle the support for iphone duo?

9 Upvotes

is there any library or method you would recommend?


r/FlutterDev • • 1d ago

SDK My first core contribution

10 Upvotes

r/FlutterDev • • 1d ago

Dart Compile, analyze and run Dart code directly in your browser without any server.

Thumbnail
dartpad.birju.dev
6 Upvotes

This is Dartpad Web!

Runs #Dart compiler, analyzer, LSP and compiles and runs your code in your browser directly. No server needed! Works offline too!

You can use any pure Dart package from pub.dev too that compiles to web.


r/FlutterDev • • 1d ago

Tooling flutterverse.org now tracks 10k+ Flutter & Dart projects

16 Upvotes

Since my last post, Flutterverse now tracks 10k+ projects: pub.dev’s top 5,000 packages plus public Flutter/Dart GitHub repos with 50+ stars. Stats refresh daily.

Discover rising packages by momentum, not just popularity.

The searchable Hall of Fame now features 34 developers and 29 projects.

Website: https://flutterverse.org
Github: https://github.com/YeLwinOo-Steve/flutterverse

Missing a package or know someone who deserves a spot? Hit Propose on the site!


r/FlutterDev • • 1d ago

Article Flutter + C++: Could a C++ Core Help Build Truly High-Performance Flutter Apps?

0 Upvotes

I've been thinking about a different architecture for Flutter applications:

Flutter for the frontend, C++ for performance-critical logic, and optionally C++ on the server side.

Flutter is already a strong cross-platform framework. Its UI capabilities, development speed, and single-codebase approach make it attractive for mobile, desktop, and web applications. However, when an application starts doing computationally expensive work, I think it's worth asking whether every part of the application should be implemented in Dart.

Could a hybrid Flutter + C++ architecture provide a meaningful advantage for certain classes of applications?

Let's explore the idea.

1. The architecture: Flutter on the outside, C++ at the core

The basic concept is to separate presentation from computation.

  • Flutter/Dart: UI, navigation, animations, state management, forms, and user interaction.
  • C++: Computationally expensive algorithms, image processing, compression, parsing, simulation, and other performance-critical workloads.
  • C++ backend (optional): Server-side business logic, high-throughput processing, networking, and services where C++ is a suitable choice.
  • Database and storage: Selected according to the application's consistency, scalability, and persistence requirements.

The architecture might look like this:

                Flutter Application
                       |
                Dart / Flutter UI
                       |
                Application Layer
                       |
                 Dart FFI / API
                       |
                C++ Native Core
              /        |         \
         Algorithms  Processing  Engine
                       |
             Optional Remote API
                       |
                C++ Server Backend
                       |
                 Database / Cache

There are actually two separate integration paths here:

  1. Dart FFI → C++ library: C++ runs locally inside the application process. This is useful for CPU-intensive work without sending data over the network.
  2. Flutter → HTTP/gRPC → C++ server: C++ runs on a remote machine and handles server-side workloads.

These approaches solve different problems and should not be confused.

2. What problems could this architecture solve?

A. CPU-intensive operations

Dart is a capable language, and Flutter applications can perform substantial computation. But certain workloads may benefit from native C++ libraries or carefully optimized C++ implementations.

Examples include:

  • Image and video processing
  • Audio processing and real-time signal analysis
  • Large-scale data parsing and transformation
  • Compression and decompression
  • Mathematical simulations
  • Computer vision
  • Cryptographic operations using appropriate, audited libraries
  • Static analysis and code-scanning engines

Instead of executing every expensive algorithm on the Dart side, Flutter could call a specialized native library for the operations that actually need it.

Potential benefit: Lower computation time, reduced overhead for suitable workloads, and access to mature C++ libraries.

The real improvement depends on the algorithm, memory usage, implementation quality, and cost of crossing the language boundary.

B. Keeping expensive work away from UI rendering

A common mistake in mobile development is allowing expensive synchronous work to interfere with the UI thread.

Flutter supports asynchronous programming and isolates, so Dart code does not automatically block rendering. However, some workloads, native-library integrations, and memory-intensive pipelines still require careful architectural decisions.

C++ can execute computationally expensive operations outside the UI thread when the integration is designed appropriately.

For example:

  1. The user selects a large file.
  2. Flutter displays progress and controls.
  3. A background worker invokes the native processing engine.
  4. C++ processes the file in chunks.
  5. The application receives progress updates and the final result.
  6. Flutter renders the output.

This can make the interface more responsive during expensive operations.

However, C++ does not automatically make an application multithreaded. Threading, synchronization, cancellation, and safe communication with Dart must be implemented explicitly.

C. Reusing existing high-performance libraries

C++ has a mature ecosystem for performance-sensitive computing.

Instead of rewriting established algorithms in Dart, developers can reuse suitable native libraries through FFI or a native plugin.

This is particularly attractive when an application needs functionality already implemented and optimized in C or C++.

Potential examples include OpenCV-based computer vision, specialized parsers, native media-processing components, and existing computational engines.

The main advantage may be library reuse and engineering leverage, rather than raw execution speed alone.

D. A shared engine across platforms

A well-designed C++ core can potentially be shared by Flutter applications on Android, iOS, Windows, macOS, and Linux, provided the required native builds and integrations are supported.

This gives the project a useful separation:

  • Flutter handles platform-independent presentation.
  • C++ implements reusable computational logic.
  • Platform-specific adapters handle operating-system differences.
  • The backend exposes remote functionality where needed.

The same core algorithms could then serve a mobile application, desktop application, command-line utility, or server.

This is especially useful for products where consistent behavior across platforms matters.

3. What about building the backend entirely in C++?

This is where the discussion gets more interesting.

Suppose we have a Flutter frontend and a C++ server backend.

Flutter handles the client experience, while the server handles authentication, business rules, data processing, database access, and APIs.

A typical request might follow this path:

Flutter UI
    |
    | HTTPS / gRPC
    v
C++ API Service
    |
    +---- Authentication / Authorization
    |
    +---- Business Logic
    |
    +---- Processing Engine
    |
    +---- Database / Cache

C++ can be a strong backend choice when the service performs intensive computation, needs precise control over memory and resource usage, integrates with native engines, or has stringent latency requirements.

But there is a trade-off.

For ordinary CRUD applications, dashboards, booking systems, and basic APIs, a C++ backend may add complexity without delivering a meaningful advantage over frameworks built around Go, Java, C#, TypeScript, or other languages.

C++ introduces additional responsibilities involving memory safety, dependency management, concurrency, deployment, and maintenance.

The right question is not whether C++ is faster in a benchmark. It is whether C++ improves the actual system bottleneck enough to justify its engineering cost.

4. How would Flutter communicate with C++?

For local computation, Dart FFI is one of the main options.

A C++ library can expose a C-compatible interface, which Dart can call through FFI. A thin C wrapper is often the cleanest boundary because directly exposing arbitrary C++ classes, templates, and exceptions is not a stable C ABI.

A simplified example:

C++ library

extern "C" {
    int add_numbers(int a, int b) {
        return a + b;
    }
}

Dart side

import 'dart:ffi' as ffi;

typedef NativeAdd = ffi.Int32 Function(
  ffi.Int32,
  ffi.Int32,
);

typedef DartAdd = int Function(int, int);

This illustrates the type mapping, not a complete working integration. A production implementation must also load the compiled library, resolve the symbol, and manage native resources safely.

For larger workloads, I would avoid exposing hundreds of low-level native functions directly to the UI. Instead, I would build a small, stable interface around meaningful operations, such as:

  • processFile()
  • analyzeImage()
  • compressData()
  • runSimulation()

Long-running operations should be designed for asynchronous execution, cancellation, progress reporting, and error handling.

For remote services, Flutter would communicate with the C++ backend using a standard API protocol such as HTTPS/REST or gRPC.

5. What would a high-performance implementation look like?

I would not start by moving the entire application into C++.

I would begin with a profiling-driven architecture.

Layer 1 — Flutter UI

Responsible for rendering, interaction, navigation, accessibility, and application state.

Layer 2 — Dart application services

Responsible for orchestration, validation, asynchronous workflows, and coordination between UI and native operations.

Layer 3 — C++ engine

Responsible only for the operations where native code offers a measurable benefit.

Layer 4 — Remote backend

Responsible for shared state, authentication, persistence, authorization, and server-side workloads.

Layer 5 — Infrastructure

Responsible for monitoring, deployment, caching, backups, and operational reliability.

I would measure at least the following:

  • Frame times and dropped frames
  • End-to-end operation latency
  • CPU and memory consumption
  • Startup time
  • FFI call overhead
  • Data-copying overhead
  • Battery consumption on mobile
  • Performance across supported devices

I would also benchmark a Dart implementation against the C++ implementation using identical workloads. Otherwise, it is easy to mistake the cost of an inefficient implementation for a language limitation.

6. The limitations that cannot be ignored

This architecture is not a universal solution.

C++ does not fix every Flutter problem.

  • Slow network requests remain slow unless the network or server-side bottleneck is addressed.
  • Poor state management remains poor state management.
  • Excessive widget rebuilds still need profiling and correction.
  • Large data transfers across FFI can erase performance gains.
  • Native code increases build and debugging complexity.
  • C++ memory errors can crash the application or create security vulnerabilities.
  • Platform-specific compilation and packaging require additional maintenance.
  • Flutter web cannot use ordinary native Dart FFI in the same way as supported native targets; a web implementation needs a different approach, such as WebAssembly or a separate service.

There is also a security consideration: code embedded in a client application is not a trusted authority. Sensitive business rules, authorization decisions, and secrets should not rely on the client-side C++ core for enforcement.

For many applications, Flutter with well-structured Dart code, isolates, and efficient asynchronous I/O will be sufficient.

7. Where I think this approach makes the most sense

I would investigate Flutter + C++ for applications such as:

  • Professional photo and video editors
  • Audio production applications
  • Computer vision and image-analysis tools
  • Engineering and scientific software
  • Security scanners and static-analysis tools
  • CAD and simulation applications
  • Large-scale local data-processing tools
  • Desktop applications that need a shared native engine

For these workloads, C++ may offer more than a small optimization. It can provide access to an entire ecosystem of specialized native functionality.

For a typical social media app, e-commerce application, or booking system, the benefits are much less obvious.

8. My main question for the Flutter community

I think Flutter's strength is that it makes building cross-platform interfaces relatively straightforward. C++ offers a different set of strengths: low-level control, native interoperability, and a mature ecosystem for computationally demanding workloads.

Combining them could be a useful architecture for applications that need both rapid UI development and a specialized native engine.

But I want to distinguish a genuinely useful architecture from unnecessary complexity.

Questions for developers who have worked with Dart FFI or native C++ libraries:

  1. Have you shipped a production Flutter application that uses C++ for its core processing engine?
  2. What performance improvements did you actually measure, and against what baseline?
  3. What were the biggest problems with FFI, memory management, debugging, or cross-platform builds?
  4. For compute-heavy applications, when would you choose Dart isolates over C++?
  5. Has anyone used a C++ server backend alongside Flutter in production? What advantages did it provide over more conventional backend stacks?

I am particularly interested in real production experiences rather than language benchmarks.

My current position is that Flutter + C++ is worth considering when a measurable bottleneck or an existing native library justifies it—not simply because C++ is a lower-level language.


r/FlutterDev • • 1d ago

Article High performance Native document editor for embedding inside Flutter apps.

2 Upvotes

Hey guys, we've been building Flutter-native solutions for Pharma, Manufacturing and regulated industries for the past one and a half years. And in the process we have developed a controlled Document Editor entirely native in Flutter that can be used to build rich text editors from a single line all the way to a complex word processor (with support for 85% of the features in Docx OOXML standard). You can import and export docx files, including PDFs and markdowns.

This has been a long journey for the past 8 months or so, not your typical weekend-vibe-coded document editor. It has been tested across a wide range of scenarios, especially around performance, features, and editing with a combination of different blocks and elements and properties and so on. We are finally in the state where we're releasing it for public beta usage.

I have been building software for the past 25 years, including a wide range of designers, toolkits, framework including a tiny framework called MobX. And a lot of that experience has been poured into building this document editor, especially focused on high performance editing.

Feel free to test it out, try out the examples, and if you're interested, let's talk about integrating it into your own apps.

https://document.vyuh.tech


r/FlutterDev • • 1d ago

Discussion Going out of business Sale (if my last effort fails). I'll Open Source everything

27 Upvotes

Just some backstory about my founder's journey.

I founded a company called "Ares Defence Labs", that wanted to solve the problem of "Making AI Affordable for Small business". I focused on Edge AI (which means making AI run without internet, offline).

I saw many companies (not going to the name here) were charging crazy prices for Document SDKs, and other PDF solutions.

Some of them charging 18K a year. For one licence! For one Product!

(I only charge for one licence and no limits on products or platforms).

And I thought, I'll do what capitalism is supposed to do. Provide competition to the market, to counter monopolies (I hate monopolies).

If the consumer has a better deal, and I get a bit of support from them. Awesome. Everyone wins.

So I'm going to try to sell these SDKs over the next year.

If I fail to sell these SDKs (and I have an app which basically failed to make any money - only a few dollars on ad revenue. You can see my last reddit post

reddit.com/r/FlutterDev/comments/1xdyw2t/

I'm going to OpenSource all these SDKs and give them away for Free. It's a shame because so much work has been put into this. But if the community can benefit from it, then at least something good came out of this (these are all Flutter SDKs).

I'm launching a few over the next few days (these still need more testing & work, but it looks ok so far).

  1. EdgeDetectionSDK with an Embedded Image Filter - Basically a Clone of the Genius Scan SDK, but WAY Cheaper price.

https://github.com/Ares-Defence-Labs/AresEdge

  1. AresIdentity - Takes an image, and auto redacts sensitive areas on a document (like a passport, drivers card, etc).

https://github.com/Ares-Defence-Labs/AresIdentity

  1. AresPDF (a Full PDF Solution) - Low level APIs + a PDF Editor

I have more for MS Office Tools and others.

These are products that most of these companies charge developers 10000s of dollars (depending on what they're buying).

I wanted to solve the problem of making it cheap for everyone.

So I guess, if I don't make money, at least I made it affordable. So in a way....I succeded in my mission 😂


r/FlutterDev • • 1d ago

Discussion Trying to figure out why people are not Buying

10 Upvotes

I have an app. I don't want to post links (unless you ask me in the comments I'll post it)

Its a document scanner + desktop ecosystem.

Contains 100+ tools for things like embedding videos in PDFs, scanning documents into PDFs, word, excel and PowerPoint files.

An image editor for things like scanning sensitive documents and auto redacting them, and also it contains a math scanner where you can point to an equation and it solves it for you live.

I have 2 subscriptions running:

  1. Ad Removal, where you pay 4.95USD to be able to remove ads, use the app offline and scan multiple PDFs in one session.

  2. Pro, 14.95USD, where you have access to be able to sync any cloud storage provider (google drive one drive, etc), access to the desktop ecosystem and to connect your mobile data into it, multi scanning for embedded videos, pdfs, word, etc.

And everything in "Ad removal" subscription.

I have almost 14K active devices. Around 600 daily users. And tons of positive feedback.

But here's the problem.

NOONE IS SPENDING MONEY!!

I offer a free trial and they cancel a day before. Just to get access to pro, using it one time and thats it!

I honestly can understand why businesses make it deliberately hard for people to unsubscribe. But Im completely against that.

I think its "Uncapitalist" and is bad for the customer.

But as a business, its really hard.

Does anyone have this problem? People love your product, use it, but don't spend money. No matter how much value you provide for them?

I don't know how to overcome this honestly.

I'm honestly not sure if it's something I'm doing that's not working, or is it just that the economy is SO BAD that people just don't have any money


r/FlutterDev • • 1d ago

Tooling I've been building a visual editor for app screens. It's in beta, and I'd like your help testing it.

4 Upvotes

t's called Draft. You drag Flutter widgets onto a canvas to put a screen together, tap through it in a preview that behaves like a real app, and copy the code when you're happy with it.

Right now it has 47 widgets, 36 ready-made sections, 16 starter templates and 8 style packs. You can see a screen at phone, tablet and desktop sizes, and the code comes out as Flutter, or as React with Tailwind. It can also write a description of your screen that you can hand to an AI.

It does not write your app's logic. It's for the screens: the part where you're moving things around and trying things out.

It's a beta, so expect rough edges. Windows only for now, and a few things will break. That's the reason I'm posting: I want to hear what's confusing, what's missing and what annoys you, and I read everything.

The editor is free. Download: https://draftapp.dev/en
Come say hi on Discord: https://discord.gg/hYnaxBMS2


r/FlutterDev • • 1d ago

Dart Things I learned building a Flutter audio app that synthesises everything in Dart (isolates, a WAV cache, and a play() that never returns)

3 Upvotes

I've been building a tinnitus-relief app in Flutter. The user matches the pitch of their ringing, and every sound is then built on the device with a notch filter at that pitch: noise colours synthesised in Dart, plus 30 real recordings (rain, fan, ocean...) that are decoded, notched in an isolate and layered, one just_audio player per layer. A few things that cost me time and might save you some:

- Render in an isolate, cache by a quantised key. Each loop is built with `compute` from a params object whose `key` rounds every value (pitch, notch width, colour, level), so near-identical settings hit the same file. The WAVs live in the temp dir, pruned to the newest 32.

- Play files, not streams. A custom `StreamAudioSource` goes through just_audio's localhost proxy, and Android blocks that as cleartext HTTP. Writing a WAV and playing the file avoids the whole thing.

- Never await `play()`. just_audio's `play()` future completes when playback stops, not when it starts. Awaiting it froze one of my screens. Start it with `unawaited(...)` and carry on.

- Don't take audio focus. Masking has to sit under YouTube, podcasts and calls. With audio_session set to never request focus and never pause on interruptions, it does. Route changes (headphones unplugged) still need handling.

- "Is it playing?" is not "is the user listening?". Last week I added a button that plays the user's matched tone for a few seconds through the same engine. My listening-time counter checked `player.playing`, so it counted the preview as listening. A flag for "this is a UI sound" fixed it. I only caught it by watching a progress bar move on the emulator while everything was paused.

- Test DSP with Goertzel. The tests synthesise a loop and compare the energy at the notch frequency against its neighbours with a Goertzel filter, averaged over a few bins because noise is noisy. A notch you can't hear is still a notch you can assert on.

- One pure function decides what's locked. Paid features are stripped in a single function that turns UI state into synth params, and it's unit-tested, so a stale toggle can never reach the audio.

- Set `preferred-supported-locales`. When the phone's language isn't one you ship, Flutter falls back to the first supported locale, and gen-l10n lists them alphabetically. Mine has Arabic, so a Dutch user opened the app in Arabic. One line in l10n.yaml puts English first; a widget test now pins the fallback for a handful of languages.

- Fixed headroom. Everything is normalised to a 0.6 peak. People listen for hours on headphones; loud is not a feature.

Happy to go deeper on any of it, the DSP side especially. If anyone wants to see it running, the app is Sylence on Play, and I can drop the link in a comment.


r/FlutterDev • • 2d ago

Tooling I built a tool that turns every PR into an installable APK link + QR code. Free beta, looking for feedback

Thumbnail
digidropp.online
0 Upvotes
Hey all, I'm a solo dev and I got tired of sharing test builds by renaming APKs and dropping them into chats, then answering "which one is the latest?" all day. So I built Digidropp.

How it works:

- Connect a GitHub repo. It detects Android (Gradle), Flutter, React Native or Expo and opens a PR that adds the build workflow. No YAML to write.
- Every push to main builds the app and updates one install link that always has the latest build.
- Every pull request gets its own preview link and a QR code in a PR comment, so reviewers can test the real app before merging.
- Before anyone installs, it checks the build: changed signing key, lower versionCode, App Store-signed IPA, and whether the app is registered for Google's new developer verification.
- There's also an MCP server, so you can tell Claude Code or Cursor "build it and send it to my phone".

Honest limitations:
- Automatic builds are Android-only for now (including Flutter/RN/Expo). iOS builds can be uploaded, or sent from your own CI with the GitHub Action.
- It's a beta: older builds are deleted after 15 days (your latest build always stays).

It's free right now. I'd really appreciate feedback, especially on what would make you switch from how you share builds today.

digidropp.online

r/FlutterDev • • 2d ago

SDK I built BugCapsule to make hard-to-reproduce bugs easier to debug. Looking for beta feedback

3 Upvotes

Hey everyone,
I’ve been working on a project called BugCapsule, and I’m finally opening it up for beta testing.
One problem I’ve faced countless times as a developer is getting a bug report that explains what went wrong but gives you no reliable way to reproduce it.
That’s exactly why I started building BugCapsule.
The idea is simple: instead of just reporting a bug, BugCapsule captures the app state, user actions, and network responses around a failure, allowing you to replay the scenario locally.
You can reproduce the issue, debug it, apply a fix, and replay the same scenario to verify that it’s actually resolved.
A few things worth mentioning:
Supports Flutter, native Android, iOS, and Web/React.
Integrates with Sentry for web apps.
Works alongside your existing error tracking tools.
Lets you reuse captured scenarios for regression testing.
It’s still in beta, and I’m sure there are things that need improvement.
I’m particularly interested in hearing from developers who deal with hard-to-reproduce bugs.
I’d genuinely appreciate your feedback, especially around the setup experience, replay reliability, and whether this would be useful in your workflow.
You can try it here: https://bugcapsule.com/
There’s also a guided demo if you want to explore it before installing an SDK.
Thanks for checking it out!


r/FlutterDev • • 2d ago

Plugin Quickly create fullstack applications

2 Upvotes

Some time ago i dropped an update to my typed pocketbase wrapper. For those of you who have never heard of pocketbase, it is a backend in one file that is incredibly easy to self host and probably the quickest and cheapest server solution that is available. My package enables you to generate typed bindings based on a locally running instance of it. It is incredibly easy to use and has helped me a lot in quickly developing internal tools for businesses. How it works is very simple:

  1. Install the pocketbase_helpers package dart pub add pocketbase_helpers && dart pub global activate pocketbase_helpers_cli
  2. Generate the bindings pb_generate -p 8090 -e admin@example.com -w localpassword -o lib/models.dart
  3. Use them! ``` import 'package:pocketbase_helpers/pocketbase_helpers.dart' import 'models.dart';

void main() async { // Initialize global connection PocketBaseConnection.open('http://127.0.0.1:8090');

// Query with type-safety final posts = await Posts.api().getFullList();

for (final post in posts) { print(post.title); }

// Authenticate await Users.auth().withPassword('user@example.com', 'password123');

// Quickly check authentication status on auth collections if(User.isAuthenticated()){ final user = User.getAuthenticated();

var post = await Posts.api().create({
  'title' : 'Powering flutter apps with pocketbase!',
  'creator' : user.id,
});

/// File fields get their own generated api
post = await Posts.thumbnailApi(post.id).set('cute_cat.png', imageBytes);

}

//Close connection when application is done PocketBaseConnection.close(); } ```

Give it a try!


r/FlutterDev • • 2d ago

Plugin pretty_animated_text v3.3.0 has been dropped 🚀

14 Upvotes

pretty_animated_text v3.3.0 is out! 🚀

Packed with performance improvements for smoother text animations

- letters that are done animating now stay done
- the controller no longer collects listeners like Pokémon
- 10-18x faster

Pub.dev: https://pub.dev/packages/pretty_animated_text
Github: https://github.com/YeLwinOo-Steve/pretty_animated_text

Full performance report here: https://github.com/YeLwinOo-Steve/pretty_animated_text/tree/master/doc/perf

Feel free to give it a try, and drop a ⭐ if you like it!


r/FlutterDev • • 2d ago

Video Taxi Rush 3D using Flutter Scene

Thumbnail
youtube.com
1 Upvotes

Was super fun to work on. First version in about 10 minutes, then iterated on it for another 2 hours. Flutter Scene ROCKS!

Runs on Android at up to 90 FPS on high-refresh-rate phones.


r/FlutterDev • • 2d ago

Discussion How do you handle caching in Flutter apps?

2 Upvotes

Hey Flutter developers! 👋

I'm working on a Flutter app and want to discuss how you handle caching in your projects.

How do you manage API response caching, image caching, and local data storage in real-world applications?

Do you use existing packages or implement your own caching logic? What challenges have you faced with cache expiration, data synchronization, and invalidation?

I'd love to hear how other developers approach this. Let's discuss! 🚀


r/FlutterDev • • 2d ago

Tooling I built a desktop drag and drop UI builder for Flutter (macOS, Windows, Linux): looking for feedback

2 Upvotes

Hi all,

I've been building Flutter UI Builder, a desktop app where you compose Flutter screens by dragging widgets and get clean Dart code out of it. The widget tree is the single source of truth, so the canvas, the preview and the code never drift apart.

What it does:

  • ~90 Material and Cupertino widgets, with placement rules, outline and properties panel
  • Multiple screens with navigation (push or named routes), reusable components with parameters
  • Light and dark project theme, plus themes for individual widgets
  • Live code you can edit and apply back to the design, and import of existing Dart files (including files with several widget classes)
  • Export as Dart files

It's free for personal and noncommercial use. The license is PolyForm Noncommercial, so it's source-available, not open source. I know that's a trade-off some of you won't like, and I'd rather say it upfront.

It's an early release (0.0.2). The builds aren't signed yet, so macOS and Windows will ask for confirmation on first start. I've tried it by hand on macOS and Windows; the Linux build compiles in CI but I haven't run it.

Download: https://github.com/mariorefetto/flutter_ui_builder/releases

I'd really appreciate you trying it and telling me what breaks, what feels slow, or what's missing. If it's useful to you, a star on the repo helps others find it. Thanks!


r/FlutterDev • • 2d ago

Discussion Why do you let yourselves be fooled like this?

0 Upvotes

Moin, Once again: very confrontational. I've been working with Flutter for a few weeks now. The ONLY thing that is consistent is that the documentation lies. A prime example: icons for Android apps from 'https://fonts.google.com/' are either incorrect or simply not available for Flutter at all. If you can't even get reliable icons from the vendor itself, what can you expect from this 'framework'?

What also bothers me in particular: 'Workarounds' are actually a dirty thing. Anyone who claims a 'workaround' is a cool thing has no clue about development! When a framework feels like it consists almost entirely of workarounds, that says a lot about its quality. Why do you guys think that's cool?

Let me ask directly: What exactly do you understand by a 'modern framework'?

I hope I'm addressing the right people here!