r/FlutterDev

Agentic Spec Driven SDLC

I've been learning a lot in this space and I wanted to share it with the community, and hopefully kick off a healthy discussion where we can trade notes and learn from each other. So here's what I've been up to.

A lot of big orgs are working on agentic AI for the software development lifecycle right now, with various degrees of success. I'm a software engineer doing something similar for a big org, but I got curious whether I could scale it down to something much smaller for my own personal use. These pipelines are built for whole engineering teams, so could the same heavyweight, multi-repo approach actually work for a single developer? To keep it honest, I picked Flutter and Flame, a stack I'd never written a line of, and shrank the whole thing down to one repo and two slash commands. It carried me the whole way, from PRD to specs to implementation to self-healing code review, mostly fire-and-forget. I learned the stack just by watching the pipeline work, and I wrote up what scaled down, what I cut on purpose, and where the pipeline stops being the right tool.

The story of how I built it: https://www.techtiger.tech/post/shrinking-an-enterprise-ai-sdlc-to-one-developer-to-ship-a-game

reddit.com
u/RoyaLTigeRRK — 5 hours ago

Flutter ko leke confuse ho rhi hu guys

I am a 3rd year Cse student doing flutter(app development) alongwith dsa.I am a bit confused with whether I am on right track to or not .I want to have good placement, want practical answers like what's in demand, what shall I work on, not ideal answers like keep doing what u have interest in

...can anyone guide me or suggest me anything more to do with this to have good placement.

reddit.com
u/kaalibiloti — 9 hours ago
▲ 1 r/FlutterDev+1 crossposts

When to know u are good to start using ai

Hello guys i hope u are doing well , i really like ai and vibe coding and building stuff and i chose flutter because its cross platform , before i started using ai i made project ( solo with tutorials and docs ) : i made notes app with auth using supabase and an ai chat app with supabase edge function and gemini free api also i made weather app then have a search with it , and a pose detection app . I also used feature first architecture. Is this enough to start vibe coding but not just approving blindly or is there anymore stuff i must learn before making apps and hopefully publishing them . Thank you for reading

reddit.com
u/Ammoun442 — 23 hours ago

I feel like giving up on Jaspr before I even try to learn it.

Sorry to ask here about Jaspr, I don't see any subreddit for it , a youtube tutorial etc. all I am reading is the documentation.

since I am a bit comfortable in Dart/Flutter learned riverpod and GoRoute , I just want to test the water with Jaspr..

successfully installed it and created the project.
my problem is there seem to have no hot-reload button and with Auto-save it does trigger hot-reload sometimes its not and if triggers it sometimes slow a change takes around 2~5 seconds before it even trigger auto-reload.

now, I can just reload it directly even if its tedious.. is this normal? or there is a config I need to tweak?

my biggest problem at the moment is running

jaspr serve

It does work on the first try executing it but when you close it and re-open again
[SERVER] [ERROR] Could not start the VM service: DartDevelopmentServiceException: Failed to create server socket (Only one usage of each socket address (protocol/network address/port) is normally permitted): 127.0.0.1:8181

Error like this appear.. its trying to run at port 8181 (?)

I had to taskkill /F /IM dart.exe

so I can run jaspr serve again.

does anyone know how to fix this problem? thank you.

reddit.com
u/matcha_tapioca — 1 day ago

I'm new to flutter/dart. I have web dev experience and I find the styling here too difficult. Is there any way to pick some ideas to make the process enjoying. Currently I'm struggling.

Like, I don't want to write a style multiple times, is there any option to control it like css? I tried ide code assistants help, but still I feel like I wanted to learn this.

reddit.com
u/Blue-Sea2255 — 2 days ago
▲ 2 r/FlutterDev+5 crossposts

Built my first puzzle game using Claude as my main dev partner — the coding was the easy part, publishing wasn't

Just shipped my first mobile game (Brain Twist — 75 lateral-thinking puzzles,

offline, Android), and since this sub is about actually building with AI,

here's my honest experience using Claude through the whole thing.

Stack:

- Flutter (Android, fully offline — puzzle data bundled locally)

- AdMob for monetization

- Claude (claude.ai) as my main dev partner throughout

How I actually used Claude:

I'm not a Flutter expert, so Claude carried a lot of the early weight —

scaffolding the project, helping me structure the puzzle data, and getting me

unstuck when I hit errors I didn't understand. The pattern that worked best

was treating it like a pair-programmer I could paste an error into, rather

than asking it to write whole features blind.

The honest surprise — the AI-assisted *coding* was the easy part. What ate my

time was everything around it that no amount of code generation solves:

- AdMob review kept flagging my app, and the actual cause was a missing

developer website on the store listing — took a while to trace

- Setting up app-ads.txt (ended up hosting it via GitHub Pages)

- The general Play Store publishing gauntlet — listing requirements, review

waits, all the unglamorous launch admin

If I'd known going in that "make the game" and "get the game live" were two

completely different difficulty levels, I'd have budgeted my time differently.

For others here building with AI: where do you find the assistant stops being

useful? For me it was hard at the boundary between "writing code" and "dealing

with platform/store bureaucracy" — Claude was great at the first, couldn't

touch the second.

Screenshots here are real captures from the game. Play Store link if you want

to see it:

https://play.google.com/store/apps/details?id=com.balumahendra592.braintwist

u/Federal-Spring3264 — 2 days ago

After a week of writing down everything I did, I realized how little of my Flutter job is actually writing Dart

I've been prepping for a performance review and hit the usual wall — I genuinely couldn't remember what I'd shipped six months ago. My commit history was no help, because half my real work never lands in a commit.

So for one week I logged every meaningful thing I did, one line each, as it happened. A normal week looked like this:

  • Reviewed a big Bloc migration PR — caught a Cubit that never got closed, would've leaked on every screen push. Didn't write a line of it.
  • Lost a morning to an Android-14-only release crash (R8 stripped a model class). Fixed it, shipped a new build. Zero commits.
  • Talked a designer out of a custom page transition so onboarding felt native on both platforms.
  • Unblocked a teammate on iOS universal links — the AASA file was cached on Apple's CDN.
  • Paired a new hire through their first platform channel (battery level from native).

Two of my most valuable days that week produced no code at all. If you judged the week by GitHub, it'd look empty — which is exactly the problem at review time.

The method, steal it (no tool required):

  1. Log as you go, not at review time. One line, ~10 seconds, when it happens — notes file, Notion, whatever. The trick is doing it in the moment; nobody reconstructs six months accurately.
  2. Capture what git can't: reviews, incidents, mentoring, store/release fights, design calls. Rule of thumb — if it took real effort and moved something, it counts, even with no diff.
  3. Turn lines into review bullets with action → context → impact. "Fixed a bug" is invisible. "Fixed a silent retry bug dropping ~2% of uploads → cut support tickets 30%" does the work for you. Run your best 5–10 through that and half your self-review is written.

Question for the room: how do you all remember what you actually did by review/promo time — keep a running brag doc, or reconstruct it from PRs and Slack the week before? Curious what actually works for people.

(Disclosure, since it's relevant: doing this by hand annoyed me enough that I'm building a tiny app for it — happy to share if anyone wants, but the method above needs zero tools and that's the point.)

reddit.com
u/darko_bacic — 3 days ago

Book Page Flip Realistic Package

Hello, I created efficient quite realistic page book curl package with nice shadows and magazine-like gloss (optional). Feel free to give your feedback.

package name - book_page_flip

Couldn't insert preview here.

pub.dev
u/sam_ktt9 — 2 days ago

I built a Flutter terminal widget powered by Alacritty's Rust engine — feedback welcome

👋 I’ve been working on flutter_alacritty — a Flutter terminal widget you can drop into desktop apps, backed by an Alacritty-based Rust engine.

Why I moved away from xterm:

I used xterm for a long time, but kept running into limitations that mattered for my use case:

  • Text rendering — many glyphs/styles didn’t render correctly
  • No OSC hyperlinks — modern CLIs and tools that emit OSC 8 links weren’t supported
  • Resize, scrolling, and high-density output — performance was poor when the terminal was under real load

So I built flutter_alacritty (with AI coding agents helping along the way). It’s what TeamPilot uses today, and it has held up well across multiple agent TUIs rendering at once.

Links:

Real usage: TeamPilot uses it for embedded terminals (local PTY + SSH) in a multi-agent desktop client.

Try it via the standalone demo in the release.

I’d love feedback from anyone embedding terminals in Flutter.

u/Status_Support2913 — 4 days ago
▲ 0 r/FlutterDev+1 crossposts

I built the missing AI SDK for Flutter — one interface for Claude, OpenAI & Gemini (swap providers in a line)

There's a polished SDK for talking to LLMs on the web (the Vercel AI SDK). On the Dart/Flutter side there was nothing equivalent — everyone re-wires the same plumbing (request shaping, SSE streaming, tool-call round-trips, multi-provider) by hand.

So I built llm_sdk: one interface, three brains behind it.

  • 🔁 Multi-provider — Claude, OpenAI, Gemini. Swapping is literally one line.
  • ⌨️ Streaming — streamText gives you a Stream<String>, word by word.
  • 🛠️ Tool calling — declare a Tool, the SDK orchestrates the whole loop.
  • 📋 Structured outputs — generateObject<T> fills a typed Dart object.

The whole design rests on a 2-method provider contract; all the logic (tool loop, streaming, structured outputs) lives once in the client. Adding a provider is pure dialect translation.

Pure Dart package (no Flutter dependency), MIT, fully tested (mocked request/response + SSE).

pub.dev: https://pub.dev/packages/llm_sdk GitHub: https://github.com/Geekles007/llm_sdk

Feedback very welcome — especially on the API ergonomics and which provider you'd want next (Mistral? Ollama? local?).

u/ProfessionalPage7174 — 3 days ago

Flutter Widget Wrapper for Jetbrains IDEs

I’m happy to share that my Flutter Widget Wrapper plugin has just been approved!

Flutter Widget Wrapper adds context-aware Flutter widget wrappers directly to the Alt+Enter intention menu. You can wrap widgets without manually moving code, fixing indentation, or rebuilding constructors. It includes built-in wrappers such as Align, AnimatedSize, Expanded, Flexible, GestureDetector, InkWell, Opacity, SafeArea, SingleChildScrollView, and Stack.

Wrappers are shown only where they are valid; for example, Expanded and Flexible are offered only for direct children of Row, Column, or Flex.

It also lets you create your own reusable wrappers. Just select a widget, choose “Create wrapper from ” in the quick actions, and reuse that wrapper whenever you need it.

Available now on the JetBrains Marketplace: https://plugins.jetbrains.com/plugin/32605-flutter-widget-wrapper

reddit.com
u/Dull-Enthusiasm9904 — 4 days ago

I m pretty new to Flutter and still trying to understand the 'right" way to structure a app.

I am pretty new to Flutter and still trying to understand the 'right' way to structure a app.

I keep seeing people recommend get_it, but I also found dependy and it looks pretty nice too.

Do I actually need a dependency injection/service locator package for a normal app? Or is it just adding complexity that I dont need?

If you had to pick today, would you go with get_it or dependy? And why?

Im still learning Flutter so Im trying not to over engineer things from the start, Any advice or things you wish you knew when you was beginning would be awesome.

References:

https://pub.dev/packages/get_it
https://pub.dev/packages/dependy

u/flankey_frozen — 5 days ago
▲ 1 r/FlutterDev+1 crossposts

dart_agent_core now supports full lifecycle hooks for building AI agent loops in Flutter

I’ve been working on dart_agent_core, a Dart package for running AI agents directly inside Flutter apps, without needing a Python or Node backend for the agent loop. The latest update adds a unified AgentHook pipeline plus observation-only AgentController events. This is useful if you are building agent loops or runtime/eval harnesses. Instead of only sending a prompt and waiting for a final answer, you can now intercept the loop as it runs:

  • Use beforeModelCall to inject temporary context, change tools, adjust model config, or return a synthetic model response.
  • Use afterModelCall to validate a response, retry, or replace the final model message.
  • Use beforeToolCall to approve, deny, defer, or rewrite tool calls.
  • Use afterToolCall to normalize tool results, inject follow-up context, or stop the loop.
  • Use onTurnCompletion to continue the loop when the model stops too early.
  • Use persistence hooks to decide when state should be saved.
  • Use AgentController events for tracing, debugging, evals, and Flutter UI updates.

Pub.dev Github

u/SparkleMing — 4 days ago

I'm building an open-source Flutter app with Material 3 Expressive, and...

Flutter Devs,

I'm building an open-source app with Material 3 Expressive for UI, and Serverpod for backend.

What's the app? It's called BunPod: a podcast player mobile app with its unique design style.

I'm aiming to make it the most beautiful M3E app out there, showing how beautiful the apps built with Flutter are 🩵

You might be thinking: "How, when Flutter doesn't support M3E?".

And that's true: Flutter's material package doesn't support M3E at all. But that's the challenge: I'm building all the components, motions physics and typography from scratch, and sometimes reaching for what great developers like Kostia and Tim shared online.

It's already fully open-source on GitHub, and I'm doing #BuildInPublic at X (@kamranbekirovyz) by sharing every step, learning and experience.

So, follow along if that sounds interesting, send feature requests, check codebase, get inspired.

Uhm, the link is: https://bunpod.app - gonna release for TestFlight and as an APK in the coming days.

Let's give Flutter the spotlight it deserves 🩵

reddit.com
u/kamranbekirov — 5 days ago

Building my own programming language in Dart to learn how languages work

Hi everyone, I've recently started working on a small side project called Doro++. The goal isn't to create the next Python, Rust, or Java. I mainly started this project because I wanted to understand what actually happens behind the scenes in programming languages instead of only using frameworks and tools every day.

As a Flutter developer, I realized there are many concepts I've heard about for years lexers, parsers, ASTs, interpreters, compilers, memory management, and diagnostics but never had the chance to build myself.

So I decided to learn by building. One idea I'm exploring with Doro++ is making code more readable and making error messages more helpful for beginners. Instead of only saying that something is wrong, I'd like the language to explain what went wrong and suggest how to fix it.

Example syntax:

let age = 22

if age is greater than 18 {

print "Adult"

}

Current progress:

✅ Interpreter

✅ Variables

✅ Expressions

✅ Conditions

✅ Friendly diagnostics

✅ Lexer

✅ Parser (in progress)

✅ AST (in progress)

The entire project is currently being built in Dart.

I'd love to hear feedback from people who have worked on compilers, interpreters, language tooling, or educational programming languages. Are there any books, resources, or common mistakes I should watch out for as the project grows?

Github repo: https://github.com/bacsantiago/doro-plus-plus.git

github.com
u/secretkimchi123 — 4 days ago

AI Voice Chatbot

calling out all the experts regarding AI Voice Chatbot.

Asking for some tips or ideas.

My Architecture - STT (Eleven Labs) -> LLM -> TTS(Eleven Labs)

Issue (according to my managers & CTO)-
- STT should be always accurate.

Our use case is only English.

Our product - Coffee based Voice Assistant. User can ask questions regarding coffee techniques, products etc.

Currently, issues are sometimes text transcribed by STT is not exactly what user said. I have added a parameter which eleven labs supports (Keyterm prompting - it charges 20% premium for keyterms) and in that parameters I have added some coffee products name and chatbot name so that stt model is biased toward those keywords and hence send accurate spelling for those keywords in final transcription.

Apart from this, there is still a case where transcription is not 100% or all of the time accurate.

There are three issues primarily:

  1. Sometimes one or two words dropped from sentence spoken by user.

  2. Spelling issues or words mismatch sometimes.

  3. VAD (currently it is server driven 1.5 sec) but I have read about End of Turn Detection models which we can use for this.
    So how to solve this?

I am also open to try different architecture or different STT model - local/cloud anything will do).

reddit.com
u/NoComplaint8347 — 4 days ago
▲ 2 r/FlutterDev+2 crossposts

Why I deliberately didn't bind my Keystore key to biometric auth (Flutter password manager, now open source)

I've been building a zero-knowledge password manager (PassKeyra) in Flutter for the past year, and I just released it under the GPL-3.0 license.

The most interesting Flutter problem was biometric unlock, and I made a deliberate trade-off I'm not 100% sure about. I'd love this community's take.

The vault is encrypted with a key derived from the master password (PBKDF2-HMAC-SHA256, AES-256-GCM), entirely in Dart. For biometric unlock, I didn't want to keep that vault key in plaintext behind a simple fingerprint, so I wrap it with a hardware AES-256-GCM key stored in the Android Keystore.

Flutter_secure_storage is great for storing secrets, but it doesn't expose the wrap/unwrap primitives I needed. So I wrote a small native Kotlin plugin (BiometricKeywrapPlugin) over a MethodChannel: wrapKeyMaterial / unwrapKeyMaterial / clearWrappingKey. StrongBox is best-effort, with a fallback, because setIsStrongBoxBacked(true) doesn't throw at build time: it throws at generateKey() via StrongBoxUnavailableException on devices that don't have it (a lot of mid-range phones and tablets).

The obvious "secure" choice is setUserAuthenticationRequired(true), so the Keystore key only decrypts after a fresh biometric auth through a CryptoObject. I deliberately chose NOT to do that.

The reason: CryptoObject-bound auth requires STRONG biometric (Class 3). That silently breaks face unlock on a huge number of devices. Many Pixels and Samsung tablets only expose Class 1/2 / WEAK / CONVENIENCE. Users would lose biometric unlock for no visible reason. So the key is non-exportable and hardware-bound, but with setUserAuthenticationRequired(false), and biometric auth is enforced at the app layer via local_auth.authenticate() BEFORE wrap/unwrap is ever called.

Once auth passes, unwrap runs without a second prompt. The honest downside, which I left as a comment in the code: the key isn't cryptographically bound to strong biometric. It's the same model as Bitwarden and 1Password, but I'd rather say it plainly than pretend it's more solid than it is. The code (it's all there, including that comment): https://github.com/Pass-Keyra/PassKeyra

 

My questions for you:

  1. Would you have forced Class 3 and accepted losing face unlock on a lot of devices?

  2. Is there a cleaner pattern to get both broad device support AND CryptoObject-level binding in Flutter?

 

Thanks for reading this far, and a special thank you to anyone who takes the time to go look at the code. That's exactly the point of open source: you shouldn't have to take my word for it.

(This is a shipped freemium app, with an ad banner in the free version. I'm posting here for the technical discussion.)

u/PassKeyra — 6 days ago

Flutter app is slow, not connecting well and overheating

Hi all,

I published my flutter app in store, but I am having some issues with it. I have users from country, where internet speed and quality is very poor and also their phones are really low end - around 80€ cost of phone.

Do you have some kind of recommendations where to find ideas how to optimize my app? I am using GPS, maps, api calls and also websocket, but all the time I am having issues with them complaining about how long it takes to connect and how slow app is etc.

On other hand, in my country, app is fast and working well, but on high end devices like S24 Ultra, it is overheating.

I am trying to find some kind of guide or some article, where I could learn something about app in slow internet and poor devices country.

Thanks for any advice

reddit.com
u/zarek_macik — 6 days ago

Flutter desktop multi-window, wait or use existing packages??

Flutter multi-window support is actively being developed, but slowly. I'm not aware of any imminent indication that it's going to get moved to production-ready. Someday. Not today. Not soon.

My desktop application desperately needs this, but not just "another widow." The application is a document editor, so I basically need shared state across windows: the ability for app to know if a file is open in any existing window, ability to drag/drop content from one window to another, ability to move a document tab from window A to window B, etc.

So if I just needed another window for additional separate content, I'd go ahead and implement it using existing packages in pub.dev... but the issue is that these effectively boot a second (independent) flutter engine into a second rendering canvas (window), where each window is a silo with an extremely primitive "messaging" capability via the hostOS between windows. It's basically "boot a second copy of your application into a second window" not a single app controlling two windows.

My question: has anyone who's implemented using the existing packages had to deal with significant integration between "instances" in those windows? How did that go?

Alternatively, is anyone able to point me to details I missed as to plans/timelines for current multi-window support work being declared production ready and merged into flutter core?

[Note: sorry if this is a duplicate. I thought I'd posted it earlier today, but it appears nowhere in my post history -- some post error I didn't notice before closing the window maybe? Not sure.]

Edit: if it's not clear what I'm talking about with "single window implementation", there's a 20 second movie in the first "about this app" feature item on the beta signup page (https://fractaloutliner.app). Note that you should mostly ignore everything else. The beta signups and app availability are technically live, but but this is literally the first public mention of it I've made anywhere. The beta isn't really "public" yet.

reddit.com
u/driftwood_studio — 6 days ago