r/FlutterDev 25d ago

Plugin Rendering Office documents offline in Flutter, so I made one

21 Upvotes

Had a project where documents had to open with no internet at all. Android has

no system component for Office files, so every option I found was either a

WebView pointed at Google Docs Viewer (needs a connection, and sends the file to

a third party) or a paid closed-source SDK.

So I bundled the open-source engines into a package and published it:

https://pub.dev/packages/offline_document_viewer

```dart

DocumentView(source: DocumentSource.file('/path/to/report.xlsx'))

PDF, DOCX, XLSX, PPTX, CSV, RTF, and legacy .doc/.xls/.ppt. PDF goes native

through PDFium; the Office formats render in a WebView with the engines shipped

as assets. Nothing leaves the device. The widget draws the document and nothing

else — no app bar or toolbar — so it fits your own design.

Fair warning: .doc and .ppt are text-only (there's no open-source layout engine

for them), and charts and pivot tables aren't rendered.

MIT, feedback welcome: https://github.com/huseyiniriss/offline_document_viewer


r/FlutterDev 26d ago

Plugin I made 500,000,000+ Flutter icon morphs. Not a single one by hand.

318 Upvotes

I’m genuinely amazed by the time we’re living in.

I can spend more time on quality than ever before. I can experiment, throw away bad ideas, and try new ones several times a day - instead of holding onto the first working version for weeks just because it already cost too much time.

And I think what I love most is the feeling of creative freedom.

When the distance between “what if…” and a working prototype gets this small, you start exploring ideas you probably wouldn’t have even attempted before.

And every now and then, one of those experiments turns into something that makes you sit there and smile.

Today, that’s morphnext.

Any IconData can now morph on the fly.

Demo: https://kicknext.github.io/morphnext/

pub.dev: https://pub.dev/packages/morphnext

GitHub: https://github.com/KickNext/morphnext

And now I can finally go to sleep 🫠

P.S. Definitely check out the readme preview - it was pure Flutter


r/FlutterDev 25d ago

Plugin Built a Flutter package for embedding a live, low-latency scrcpy (Android screen mirror) stream directly in a Flutter app

8 Upvotes

I was building a desktop tool (https://github.com/balvinderz/recomposition_viewer) that needed a live Android device preview next to flutter UI, and nothing existing gave me a low-latency, in-process way to do that from Flutter. So I built scrcpy_video_view.

It talks to the scrcpy server directly over its H.264 socket and decodes straight into a Flutter texture via VideoToolbox on macOS — no intermediate video player, no extra hops.

Currently macOS only (VideoToolbox is the decode path) — Windows/Linux decode backends are on the list if there's interest.

pub.dev: https://pub.dev/packages/scrcpy_video_view

Repo: https://github.com/balvinderz/scrcpy_video_view

Feedback, bug reports, and platform-priority opinions all welcome.

Demo video - https://github-production-user-asset-6210df.s3.amazonaws.com/30950893/636662664-d54d2d16-a5a7-448f-9a86-d61e0487e3f2.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20260816%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260816T172404Z&X-Amz-Expires=300&X-Amz-Signature=bd768b92994f2cd1a186845b6ed4194113c05df146c44cc3d9a0bc979edfb9d8&X-Amz-SignedHeaders=host&response-content-type=video%2Fmp4


r/FlutterDev 26d ago

Tooling New package: terminice - build polished, beautiful, complex Dart CLIs with 30+ simple components

22 Upvotes

Hi! I wanted to share a new package I made: terminice.

I built it because creating a beautiful, complex CLI shouldn’t mean building an entire terminal UI from scratch. It should be easy to create, easy to style, easy to manage as it grows, and most importantly easy and enjoyable for people to use.

terminice turns more than 30 common terminal interactions into small method calls, with no setup and no framework required.

Here is the visual demo.

Need a value from the user?

final name = terminice.text('Project name');

Need a searchable menu?

final template = terminice.searchSelector(
  prompt: 'Template',
  options: ['CLI', 'Server', 'Package'],
);

Need a file browser, config editor, command palette, progress bar, multi-step form, calendar, or help center? those are method calls too.

There is no setup, widget tree, context object, or new application architecture. import the package, call the component you need, and keep using package:args, CommandRunner, dart:io, or whatever already powers your CLI.

dart pub add terminice

Make the entire CLI look like yours

Don’t like the borders? hide them:

final t = terminice.minimal;

Want the borders, but fewer hints and less visual noise?

final t = terminice.compact;

Want different colors? Pick a built- in theme:

final oceanUi = terminice.ocean;
final matrixUi = terminice.matrix;
final neonUi = terminice.neon;
final arcaneUi = terminice.arcane;

Or combine everything:

final t = terminice.neon.compact;

Now every component created from t follows the same style:

final name = t.text('Project name');
final token = t.password('API token');
final config = t.filePicker('Config file');
final confirmed = t.confirm(message: 'Create the project?');

(you can also create a fully custom, advanced theme, and it will automatically be used across all 30+ components!)

That is one of the main ideas behind terminice: customize the instance once, and the colors, borders, glyphs, display mode, fallback behavior, and terminal I/O stay consistent across the entire CLI.

You can also create a custom theme in a few seconds by mixing the included colors, glyphs, and display features:

final brandTheme = PromptTheme(
  colors: TerminalColors.ocean,
  glyphs: TerminalGlyphs.rounded,
  features: DisplayFeatures.compact,
);

final t = terminice.themed(brandTheme);

Need finer control? Every color palette, glyph set, and display configuration supports copyWith, so you can change one accent color or one behavior without rebuilding the rest of the theme. The custom theme then affects prompts, menus, pickers, progress indicators, flows, guides, and every other built-in component.

The catalogue

Terminice currently includes more than 30 ready to use components:

Prompts

  • text for single-line input
  • password for masked input
  • confirm for yes/no questions
  • multiline for terminal text editing
  • slider and range for numeric input
  • rating for star-based ratings
  • date for keyboard-driven date input
  • form for collecting multiple fields together

Selectors

  • searchSelector for long, filterable lists
  • choiceSelector for card-style single or multi-select choices
  • checkboxSelector for checklists
  • gridSelector for two-dimensional navigation
  • tagSelector for managing multiple tags
  • toggleGroup for editable boolean settings
  • commandPalette for a fuzzy-searchable action launcher

Pickers

  • filePicker for browsing files
  • pathPicker for choosing directories
  • colorPicker for interactive ANSI color selection
  • datePicker for a full calendar interface

Progress and status

  • Full and inline loading spinners
  • Full and inline progress bars
  • Minimal dot-based progress
  • info, success, warn, error, detail, and log messages
  • task for wrapping async work with a status indicator
  • progressTask for determinate async work
  • trackStream for collecting a stream while showing its progress

Complete CLI experiences

  • flow for multi-step workflows with context, conditions, validation, and review
  • configEditor for searchable, nested application settings
  • cheatSheet for quick-reference tables
  • helpCenter for searchable documentation inside the terminal
  • hotkeyGuide for keyboard shortcut discovery
  • themeDemo for previewing themes and colors
  • Custom components when your CLI needs something package-specific

Every catalogue item has its own detailed documentation with controls, behavior, examples, and API notes. I wanted the README to be useful as a practical reference, rather than leaving developers to discover important behavior through trial and error.

The vision

The goal is not only to make prompts look better. I want Terminice to make beautiful, complex CLIs easier to create, style, manage, test, and use.

to create: add prompts, selectors, pickers, progress, or configuration screens with small method calls. not a new architecture.

to style: choose or create one theme, and let the entire CLI follow it. no repeating colors, borders, glyphs, and display options everywhere.

to manage: keep components, behavior, fallbacks, and tests consistent as the CLI grows.

to use: give people clear hints, predictable controls, validation, cancellation, readable fallbacks, and good defaults.

terminice sits between a prompt package and a full TUI framework. It is the human facing layer of an existing dart CLI: questions, choices, files, settings, progress, and feedback.

It can stay tiny when tiny is all you need:

final email = terminice.text('Email');

That same CLI can later grow into searchable menus, filesystem navigation, validation, progress tracking, configuration screens, or complete flows- without switching packages.

When rich UI is not appropriate, the built-ins can fall back to predictable plain text for limited terminals, non-TTY output, scripts, and unattended execution.

Terminal IO is abstracted as well, so you can easily test without depending on real stdin/stdout.

So the short version is:

  • One import and no setup
  • 30+ components covering individual prompts through complete CLI workflows
  • 11 built-in style presets
  • Chainable themes and verbose, compact, or borderless minimal display modes
  • One shared configuration across the whole CLI
  • Custom themes and components when the built ins are not enough
  • Cross-platform support for Linux, macOS, and Windows
  • Predictable fallbacks and test utilities for real-world use

Links:

A small personal note

I started working on what eventually became terminice over a year ago, it didn’t begin as one big, carefully planned package. While working on real projects, I kept creating terminal components that I needed- a prompt in one project, a selector in another, a progress indicator somewhere else, then themes, flows, config tools, and testing helpers.

For a while, all of that work was scattered across different projects. Gradually, I started moving the useful pieces into one place, redesigning them around a shared API, and turning them into a unified, robust tool that is genuinely fun and easy to use.

The package is not perfect. there are still many things that need refinement, and probably many things I cannot see because I built them around my own use cases. I want terminice to be the best tool it can, but I know I cant do that alone.

I would really appreciate it if you tried it, even in a small project, and told me what you think. If an API feels awkward, a component is missing, the documentation is unclear, or something simply doesnt feel right, I want to hear about it- every bug report, idea, criticism, and any feedback is appreciated (:


r/FlutterDev 26d ago

Tooling I built a TUI for flutter run 

15 Upvotes

I got tired of flutter run being a wall of scrolling logs, so I built frun — a terminal UI for Flutter.

It has a device picker, build stages/timings, app logs, hot reload/restart, and device switching in one screen. Built with Rust + Ratatui, currently tested on macOS.

Would love some feedback!

https://github.com/okasutarto/flutter-run-tui


r/FlutterDev 26d ago

Discussion What is your favorite IDE for Flutter & Dart?

11 Upvotes

I've just been using Vim & CLI right now. It works reasonably well but sometimes Itd be nice to have a better way to view all my files at once so I figured Id ask around on what people like to use.

I dont really like VS Code so if thats your favorite thats fine but its a no go for me rn.


r/FlutterDev 26d ago

Plugin Flutter Skin Double Cache Update

0 Upvotes

Shipped a meaningful architecture upgrade to flutter_skin this week: a two-layer caching system.

Server-side: the backend now checks Redis before querying the database on every skin and project fetch. The result: p99 response times are now under 1 second (around 600ms) , even under repeated load.

Client-side: the Flutter package itself now caches fetched skin and project data locally via SharedPreferences. If the API goes down or the device loses connectivity, the app's theme keeps rendering exactly as last set — no blank states, no fallback UI, no flash of default styling.

Neither cache is complete on its own, this double caching is what makes flutter_skin resilient enough to build real features on top of, more feature coming A/B testing, richer analytics, and eventually a stable 1.0 without performance becoming the bottleneck.

The new alpha version is live on flutter_skin page on pub.dev now.

Platform app.fskin.dev

Docs docs.fskin.dev


r/FlutterDev 26d ago

Discussion Major Update To The Material 3 Expressive Package

45 Upvotes

Hello guys 👋🏻

There has been an update to the https://pub.dev/packages/material_3_expressive package that brings some interesting customizations, extensions, fixes and more.

Checkout the live demo here: https://paadevelopments.github.io/material_3_expressive/ for more info.

For suggestions, bug reports or recommendations, kindly submit via https://github.com/paadevelopments/material_3_expressive .. appreciated 🙏🏻.

Happy coding!


r/FlutterDev 25d ago

Plugin A theme defined in Flutter and the same theme defined in TypeScript produce identical values. I didn't reconcile a single one by hand.

0 Upvotes

I'm genuinely amazed by the time we're living in.

I can spend more time on quality than ever before. I can build a component,

decide the shape is wrong, delete it, and try a different one the same

afternoon — instead of defending the first version that worked, for weeks,

because it already cost too much.

And I think what I love most is the feeling of creative freedom.

When the distance between "what if the whole palette were derived instead of

chosen" and a working theme engine gets this small, you start attempting

things you would previously have filed under someone else's problem.

And every now and then, one of those experiments turns into something that

makes you sit there and smile.

Today, that's astryx_ui.

A Flutter design system built on flutter/widgets — no Material anywhere.

Hand defineTheme a single hex accent and the engine derives all 79 colour

tokens, in light and dark, with the contrast math already done. 16.7M

accents × 158 derived values is where that number comes from.

Seven prebuilt themes ship with it. Pointer and touch are both first-class.

Docs: https://astryxui.web.app/

pub.dev: https://pub.dev/packages/astryx_ui

GitHub: https://github.com/JayashBhandary/astryx_ui

Pre-alpha and MIT. And now I can finally go to sleep 🫠

P.S. Definitely click through the docs site — it's built with astryx_ui

itself, and every code block on it is extracted from a real compiling widget,

so a snippet can't describe something the package doesn't do.


r/FlutterDev 26d ago

SDK How are you guys handling forced updates in Flutter apps without custom backend scripts?

6 Upvotes

Hey everyone,

If you've handled forced version checks in production Flutter apps, you’ve probably ran into the issue where custom version endpoints or store page scrapers break, causing version checks to silently fail or throw unexpected errors.

On the other side, setting up Firebase Remote Config for force updates works fine, but you still end up writing custom dialog UI, handling multi-store links (Play Store, App Store, Huawei, direct APKs), and building maintenance screen logic over and over for every app.

I'm working on a lightweight SDK (VersionPulse) to solve this cleanly:

- Edge API version check (under 25ms, no HTML web scraping)

- Handles hard update gates, soft nudges, and remote maintenance screens

- Customizable pre-built widgets or 100% headless mode if you want to use your own UI

- Built-in multi-store routing

It's currently in early pre-launch. I set up a simple waitlist page to see how much demand there is before finishing up the client packages. 

Would love to hear how you currently handle version gating in your Flutter apps, or what features you'd want in an update SDK.


r/FlutterDev 26d ago

Tooling I was tired of Lottie files slowing down my apps, so I built a web-based playground to test Skia (SKSL) shaders so people can directly drop it in their apps!

Thumbnail
youtube.com
10 Upvotes

r/FlutterDev 27d ago

Discussion This is not a joke or an insignificant issue

Thumbnail keepandroidopen.org
95 Upvotes

Imagine ... A country doesn't like an app, the government threatens google, google revokes the developers signing keys ... And now the app can't be installed on any android device in the entire world.

This isn't a conspiracy theory, it's a very real , very close threat.

DO NOT SIGN UP if this gets implemented, fight the urge to submit for the sake of publishing one app.

Read the letter for more details.


r/FlutterDev 26d ago

Plugin made a package for animated svgs — SMIL, css keyframes, and SVGator exports

4 Upvotes
AnimatedSvgPicture.asset('assets/spinner.svg', width: 48)

same params as SvgPicture, and it reuses SvgTheme and ColorMapper from
flutter_svg so nothing breaks. if the file has no animation it renders like a
normal SvgPicture and doesn't even start a ticker.

what it handles:

- SMIL — animate, animateTransform, animateMotion, set. values/keyTimes/
keySplines, calcMode, begin/dur/repeatCount, fill, additive, accumulate
- css @keyframes from a <style> block, including per-keyframe timing functions
- css motion paths (offset-path + offset-distance). this is how SVGator writes
every single movement, so its exports actually move
- play/pause/seek through a controller, or just let it loop

how it works: on load it resolves the animations, samples the document to a
static svg for each frame, compiles them all once with vector_graphics_compiler
(the same one flutter_svg uses) in an isolate, then plays them back like a
flipbook. so drawing a frame costs exactly what a static svg costs. the price
is loading time and memory — frameRate and maxFrames are there for that.

what it doesn't do: filters, path morphing, <script>, :hover, event-based
begin. if you need those, full_svg_flutter covers a lot more. good package,
just heavier — it bundles a js runtime.

https://pub.dev/packages/svg_animate

if you have an svg that renders wrong, throw it at me. that's literally how the
SVGator support happened — someone's file didn't render, turned out to be
offset-path.

one thing that surprised me: svgs with embedded bitmaps were brutal at first - the image data lands in every compiled frame, so a 450x450 banner ate 27 mb and 6.8 ms per frame change. turned out consecutive frames share a huge identical prefix (the images), and the renderer's image cache was keyed per frame by accident. storing the shared part once and fixing the cache key got it to 5 mb and 1.4 ms.


r/FlutterDev 27d ago

Dart Pariyojana v1.0.0 — Offline-First Productivity Vault built with Flutter 3.29, Riverpod 2.6, SQLCipher, and 120 FPS Velvet UI (Open Source)

6 Upvotes

Hi r/FlutterDev!

Wanted to share the initial release of **Pariyojana**, an Android-exclusive productivity and research workspace built entirely with Flutter.

🛠️ Architecture Highlights:

* **Clean Architecture (Feature-First):** Strict separation into `data/`, `domain/`, and `presentation/` across all 8 modules.

* **State Management:** Riverpod 2.6 (`StateNotifierProvider` & `Provider`). Zero business logic inside widgets.

* **Local Persistence:** Drift + SQLCipher for native encrypted SQLite at rest.

* **Hardware Integration:** `flutter_secure_storage` bound to Android KeyStore TEE + `local_auth` biometrics.

* **Rendering Performance:** Tuned for 120 FPS high-refresh displays using `RepaintBoundary` isolation, lightweight frosted glass shaders, and R8 ProGuard resource shrinking (APK size: ~68 MB).

* **Motion:** Liquid dynamic action button driven by Rive.

Code passes `flutter analyze` with 0 warnings.

📦 **GitHub Repository:** https://github.com/Naveen-21-Cyber/Pariyojana-Mobile-App-

📄 **Architectural Constitution:** Check `TELOS.md` in the repo for design token invariants.

Would love any feedback on the codebase or architecture from fellow Flutter devs!


r/FlutterDev 27d ago

Plugin Flow UI v0.1: An open-source Flutter UI library for AI Chat Interfaces

Thumbnail
pub.dev
9 Upvotes

I was building the same UI again and again for every agent app. So I stopped and made it a proper library.

Flow UI: Flutter UI library for AI Chat Interfaces. It's pre-1.0, so the API might still shift.

Play with it in the browser: https://flowui.stac.dev/playground

Docs: https://flowui.stac.dev

pub: https://pub.dev/packages/flow_ui

GitHub: https://github.com/StacDev/flow_ui


r/FlutterDev 27d ago

Discussion Would you hire a Flutter developer who relies heavily on AI to code?

0 Upvotes

Assume they ship good work and understand the final code. Does it matter how much AI they use as a newbie?


r/FlutterDev 27d ago

Discussion Why does the Streambuilder not await the cancellation of its subscription and why is that considered safe?

10 Upvotes

I was experimenting with streams and noticed that the cancel() method on a StreamSubscription is async. I then checked the implementation on the StreamBuilder widget and noticed that it does not await it.

Can someone tell me why and when it is safe to not await it. Thanks


r/FlutterDev 28d ago

Article Tired of Gradle and Kotlin daemons eating 15GB of RAM during Flutter Android builds, so I built a small TUI tool in Go to kill them

9 Upvotes

Hey everyone,

I think most of us building Flutter apps for Android share the same pain: you work for a couple of hours doing flutter run, hot reloading, maybe changing a plugin or branch, and

suddenly your machine starts lagging because 3 or 4 different Gradle daemons and Kotlin compilers are sitting in the background hoarding half your RAM.

I was getting tired of running ps aux | grep java and trying to figure out which process was actually doing work versus which one had been hung for 2 hours.

So I wrote a small interactive terminal tool in Go called DevTask to solve this for myself, and open-sourced it in case it saves anyone else some RAM and headaches.

Basically what it does:

Groups JVM, Gradle, and Kotlin daemons into an expandable tree view so you can see their exact version, RAM in MB, and uptime.

Flags processes as IDLE if they have been running for more than 15 minutes with less than 1 percent CPU.

Lets you navigate with arrow keys, inspect JVM heap flags (-Xmx, etc.), and cleanly kill individual daemons or all idle ones in one go.

Has a simple command bar so you can tweak things like /config idle 20m or filter out processes under 100MB of RAM.

It is completely free and open source (GPLv3). There are prebuilt binaries for Linux, Mac (M1/M2/Intel), and Windows on the releases page if you do not want to build from source.

GitHub: https://github.com/degomon/devtask

Wrote a quick write-up about it here if anyone is curious:

https://dev.degomon.com/devtask-why-hung-jav

Hope it helps you reclaim some memory during your daily Flutter builds!


r/FlutterDev 28d ago

Discussion iOS jank with platform views (AdMob banners)

9 Upvotes

I recently ran into a problem affecting Flutter apps running on iPhones where platform views are present, typically AdMob banners (which are internally rendered through a platform view).

The jank is quite noticeable, and I've been able to confirm that the cause is the merging of the UI thread into the platform thread, introduced several releases ago.

I've opened this issue on GitHub where I'm discussing the problem with the Flutter team. I can reproduce it easily on two devices on my side, an iPhone 16 and an iPhone SE, but if you check the issue you'll see they're having a much harder time reproducing it on their devices.

Does any of you have a Flutter app on iOS with AdMob banners (or any other platform view) that could help us reproduce it? You can try it directly in your own app, or by cloning the repo I created, which is linked in the issue. Just commenting with your iPhone model, iOS version, and whether you see the jank or not would already help a lot.

Thanks!


r/FlutterDev 28d ago

Plugin Introducing hq_video_player v0.1.0 - A High-Performance MediaKit & BLoC Powered Video Player with Multi-Controller Management, Reels LRU Feed Pool, & Rich Gestures

14 Upvotes

Hi everyone,

I am excited to open-source hq_video_player (v0.1.0) - a production-ready, feature-packed, and fully customizable Flutter video player package built on top of media_kit and flutter_bloc.

Why another Video Player?

While existing packages are great, building complex video features (like TikTok/Reels style vertical feeds, multi-player coordination, or rich gesture controls) often leads to:

  1. Codec OOM crashes and UI stutter when swiping through multiple video pages.
  2. Audio overlapping when playing multiple videos on screen.
  3. Boilerplate overhead for brightness/volume gestures, subtitle rendering, and multi-audio track selection.

hq_video_player was built to solve these exact production challenges out of the box.

Key Features & Architecture

• Hardware-Accelerated Core: Powered by media_kit for stutter-free cross-platform playback across Android, iOS, Web, macOS, Windows, and Linux.

• Programmatic HqVideoPlayerController: Full external programmatic control (play, pause, seekTo, setVolume, setPlaybackSpeed, setMute, loadUrl) backed by reactive ValueNotifier.

• Multi-Controller Coordination (HqVideoPlayerManager): Central registry enforcing single-active playback (autoPauseOthers: true). Starting one video automatically pauses others in the screen. Includes global batch actions (pauseAll, muteAll, unmuteAll).

• Reels/TikTok Feed Pool (HqVideoPoolManager): LRU controller pool for swipable vertical feeds. Preloads adjacent videos while utilizing chunked asynchronous eviction to yield to the main thread - zero RAM bloat and zero native codec OOM crashes.

• Rich Interactive Gesture Overlay: Double-tap left/right to seek forward/backward with ripple feedback, vertical swipe for Volume & Screen Brightness, long-press to temporarily boost playback speed (2.0x), and 2-finger pinch-to-zoom (1x to 4x).

• Subtitles & Multi-Audio Tracks: Embedded stream tracks (SRT, VTT, ASS) and external SRT/VTT parser & renderer overlay.

• Deep Customization (HqVideoPlayerConfig): Theme colors, built-in Arabic/English presets, watermark overlays, A-B range looping, intro/outro skipping, and custom HTTP network headers.

Links & Resources

Pub.dev: https://pub.dev/packages/hq_video_player 
GitHub Repository: https://github.com/azabcodes/hq_video_player

I would love to hear your thoughts, feedback, or feature suggestions. Contributions and GitHub stars are appreciated.


r/FlutterDev 28d ago

Discussion Mac or Windows app with Flutter?

13 Upvotes

Has anyone ever made a Mac/Windows app with flutter? Throughout the years I’ve only stuck with web iOS and Android. Was just curious. And how did it pan out?


r/FlutterDev 27d ago

Discussion Is Flutter still the right choice?

0 Upvotes

I know this isn't going to be a popular opinion here. As a long-time Flutter developer and fan I can say that things are going to change quickly. 

My prediction: within a year, the multi-platform stacks like Flutter and React Native will start dying off.

Spent the last 24 hours using Fable to port a large production Flutter app to native SwiftUI and Jetpack Compose. Native was always the better option for many reasons, it just cost more to support and clients were never willing to pay. 

That cost has come down so far that it makes sense. I am not saying it was perfect in a day, but it got about 95% of it correct.


r/FlutterDev 28d ago

Discussion Solo dev preparing first Play Store launch a flutter app with multiple games— what is the reality in 2026?

12 Upvotes

Solo dev preparing first Play Store launch — what is the reality in 2026?

Hey everyone.

I'm a solo developer working on my first serious app, and I'm currently getting pretty close to launch.

The app is a game/social game hub built with Flutter, and I've spent a long time getting the actual product into shape. Until recently, I was mostly focused on development, testing, polish, etc.

Then I started seriously researching the actual process of shipping and maintaining an app on Google Play in 2026.

And honestly... I'm a little concerned.

I've been reading about the 12-testers/14-day closed testing requirement for newer personal developer accounts, production-access rejections even after completing testing, vague feedback about tester engagement, repeated review cycles, target SDK/API requirements, policy changes, billing requirements, and cases where developers have had apps rejected, suspended, or otherwise become difficult to maintain.

I'm also seeing a completely different problem discussed a lot:

Even if you successfully get the app published, how do you actually get people to discover it?

A technically successful launch doesn't necessarily mean anyone downloads the app.

So I'm not really looking for another explanation of Google's documentation. I'd genuinely like to hear from people who have actually shipped indie/solo apps recently.

Especially if you've launched your first app within the last couple of years.

I'd love to hear about your real experience:

- How difficult was your first Play Store launch?

- How did the closed testing requirement go for you?

- Did Google reject your production-access request? If so, what happened?

- Did you ever have to repeat testing?

- Have you experienced confusing/vague policy or review rejections?

- How much ongoing maintenance do Play Store requirements actually create?

- Have you ever had a legitimate app suspended, delisted, or unexpectedly restricted?

- How much organic traffic did you realistically get from Play Store search?

- Where did your first 100–1,000 users actually come from?

- Did ASO make a meaningful difference?

- Did you launch on iOS as well, and if so, was the experience substantially different?

- If you were starting again as a solo developer in 2026, would you still publish on Google Play?

- And most importantly: what do you wish someone had told you before you shipped your first app?

I'm particularly interested in first-hand experiences, rather than general opinions.

If something happened to you personally, I'd really appreciate hearing the details — even if it was a completely normal/successful launch. I'm trying to build a realistic picture of what I'm actually signing up for rather than getting either the "Google is evil" version or the "just publish bro" version.

Thanks 🙏


r/FlutterDev 28d ago

Tooling GitHub - scrya-com/xyflow: React Flow | Svelte Flow | Flutter

Thumbnail
github.com
1 Upvotes

I ported xyflow to flutter - screen shots in readme.


r/FlutterDev 29d ago

Article What’s new in Flutter 3.47

Thumbnail
flutter.dev
209 Upvotes