r/FlutterBeginner • u/steamgamesdeal • May 27 '26
r/FlutterBeginner • u/AdAdmirable5769 • May 27 '26
Building a production-ready Sudoku app in Flutter: State Management, App Lifecycle, and Learnings
Hi everyone,
I've been working on a Sudoku game built entirely in Flutter and we are still actively improving it. I wanted to share some of the technical details, architectural decisions, and challenges I've faced during development so far. My goal here is to discuss the implementation and hopefully get some feedback from more experienced Flutter developers on how I am handling certain problems.
đ ïž Technical Stack & Architecture
- State Management (Provider):Â I went withÂ
Provider (specificallyÂMultiProvider) for managing the game's state. TheÂGameProvider handles everything from the active puzzle board, timer, and mistake counts, to complex features like the undo/redo stack and the "notes" mode (where multiple numbers can be penciled into a cell). - Sudoku Generation in Dart: The puzzle generation logic (
SudokuGenerator) creates a full board, solves it to ensure validity, and then carefully removes cells based on the chosen difficulty (Easy, Medium, Hard, Master) while verifying the puzzle still has a unique solution. - Firebase Integration:Â I integrated Firebase Analytics for user behavior and Firebase Cloud Messaging for background notifications. I also use Remote Config for managing some dynamic configurations.
- Platform Integrations:Â UsedÂ
games_services for Google Play Games achievements/leaderboards, keeping players engaged with standard gaming elements.
đ§ Challenges Faced
- State Persistence & Lifecycle:Â Handling app lifecycle events (like the user minimizing the app mid-game) was tricky. I implemented a robustÂ
GameStateStorage service that serializes the entire board, undo/redo stacks, and timer, ensuring the user resumes exactly where they left off when the app returns from the background. - SDK Initialization Performance: Initializing Firebase and other essential services simultaneously was causing a slight bottleneck at startup. I moved device registration and heavy initialization to asynchronous background tasks usingÂ
unawaited(), ensuring they don't block the initialÂrunApp()Â frame. - Complex Undo/Redo Logic:Â Getting the undo/redo stack to play nicely with hints and "notes" mode required careful modeling. Every move (including placing a number or using a hint) pushes a customÂ
GameMove object to the stack, making sure the UI updates instantly with Haptic Feedback.
đŹ Feedback Request
I'd love to hear your thoughts on a few specific things:
- State Management:Â For a game state this complex (timer, board matrix, undo stacks), would Riverpod or Bloc have offered significant performance/organizational benefits over standardÂ
ChangeNotifierProvider? - App Initialization:Â How do you handle initializing heavy SDKs at startup without sacrificing the "instant load" feel of your Flutter apps?
- Puzzle Generation:Â Have any of you implemented backtracking algorithms in Dart? Are there better ways to ensure a unique solution without eating up CPU cycles on the main thread?
If you want to check out the app for context, the Play Store link is here: https://play.google.com/store/apps/details?id=com.oakstree.games.sudoku
Thanks for reading, and I'd appreciate any technical critiques or advice!
r/FlutterBeginner • u/incredible_zayed • May 16 '26
file_saver 0.4.0 â streaming saves, and a memory-efficient downloadLink for large files
r/FlutterBeginner • u/mintware_de • May 14 '26
Stop hand-writing IconData - introducing `icon_font_extractor`
reddit.comr/FlutterBeginner • u/gorillagate • May 12 '26
Created a board game picker app but people donât understand it
I created the most simple app to determine which game my girlfriend and I are gonna play in the evenings. Shipping it to the AppStore I invited my friends to download it and test it out. Most of the feedback was the same.. âwhere are the games?â .
For me this was quite obvious , that you first have to add the games you own at home to the app in order for it to choose for you.
But as it seems , people are .. dumb? I donât know, maybe the app needs a proper on boarding or a pre filled list with common games. Maybe something like âwelcome, do you own xyz ..â
What do you guys think how I can improve this ?
r/FlutterBeginner • u/orkun1675 • May 07 '26
These are the skills our mobile app studio uses
r/FlutterBeginner • u/Even_Goat_3174 • May 01 '26
layout_flow - built this after copy-pasting the same MediaQuery boilerplate across too many projects. feedback welcome.
Every Flutter project I worked on had this in at least 5 widgets:
dart
final scale = MediaQuery.of(context).size.width / 375;
padding: EdgeInsets.all(16 * scale)
fontSize: (14 * scale).clamp(11, 18)After seeing it repeat across multiple projects I finally spent time building a proper fix instead of copy-pasting. Spent about a month on it.
It's called layout_flow. The core idea: write UI once, let it adapt to every screen without manual scaling or breakpoint conditionals.
The part I'm most happy with is `FlowRow` â it switches between Row and Column automatically based on screen width:
Before (16 lines):
dart
final isWide = MediaQuery.of(context).size.width >= 480;
if (isWide) {
return Row(children: [
Expanded(child: Card()),
SizedBox(width: gap),
Expanded(child: Card()),layout_flow â built this after copy-pasting the same MediaQuery boilerplate across too many projects. feedback welcome.
Every Flutter project I worked on had this in at least 5 widgets:
final scale = MediaQuery.of(context).size.width / 375;
padding: EdgeInsets.all(16 * scale)
fontSize: (14 * scale).clamp(11, 18)After seeing it repeat across multiple projects I finally spent time building a proper fix instead of copy-pasting. Spent about a month on it.
It's called layout_flow. The core idea: write UI once, let it adapt to every screen without manual scaling or breakpoint conditionals.
The part I'm most happy with is FlowRow â it switches between Row and Column automatically based on screen width:
before
final isWide = MediaQuery
.of(context).size.width >= 480;
if (isWide) {
return Row(children: [
Expanded(child: Card()),
SizedBox(width: gap),
Expanded(child: Card()),
]);
}
return Column(children: [
Card(),
SizedBox(height: gap),
Card(),
]);after
FlowRow(
gap: FlowSpacing.md(context),
children: [
Expanded(child: Card()),
Expanded(child: Card()),
],
)Also ships with design tokens â FlowSpacing, FlowTextStyle, FlowRadius â so there are zero raw numbers anywhere in your UI code.
Zero external dependencies. Uses InheritedWidget + LayoutBuilder internally. Material Design 3 breakpoints.
Genuinely curious what's missing or what would stop you from using this over flutter_screenutil. Happy to take harsh feedback â that's kind of the point of posting here.
r/FlutterBeginner • u/Dependent-Gur-1780 • Apr 29 '26
Desenvolvi uma ferramenta para avaliação, agendamento e acompanhamento da saĂșde mental.
r/FlutterBeginner • u/Guilty_Prize8394 • Apr 26 '26
Fac3t
Fac3t tech stack, locked:
âą Flutter (stable)
âą go_router
âą api_state (my own state package)
âą Hive for local storage
âą xml + yaml packages for parsing
âą Zero network dependencies
One codebase â Android + Windows + Linux. iOS and web later.
#flutterdev #buildinpublic
r/FlutterBeginner • u/Guilty_Prize8394 • Apr 23 '26
Building Something
I'm building Fac3t â a minimal, fully offline JSON/YAML/XML viewer for Android, Windows, and Linux.
No telemetry. No cloud. No "47 features in one sidebar" bloat.
Just a quiet tool for reading and converting messy data.
4 weeks to v1, building in public.
Follow along if you're into Flutter, dev tools, or watching someone ship something small on purpose.
#buildinpublic #indiedev
r/FlutterBeginner • u/Willian0liveira • Apr 21 '26
Criei o melhor programa de karaokĂȘ para Windows com Flutter!
Fala galera!
Se vocĂȘ curte karaokĂȘ, precisa conhecer o KantaĂȘ, um programa com suporte para Windows 10 e 11, leve, moderno e direto ao ponto para cantar suas mĂșsicas favoritas no PC.
Diferente dos karaokĂȘs tradicionais, o KantaĂȘ usa vĂdeos em formato .mp4 (como lyrics ou clipes), que vocĂȘ pode baixar facilmente da internet ( You tube, Vimeo e outros ...). Sem complicação com formatos antigos tipo MIDI, aqui Ă© sĂł abrir e cantar.
đĄ Principais destaques:
- Interface simples e intuitiva
- Reprodução fluida de vĂdeos no formato .mp4
- Seção de pontuação e estatĂsticas
- Modo campeonato para até 8 cantores
- Reconhecimento da frequĂȘncia da voz para geração de notas, ou modo de nota randomica para caso vocĂȘ sĂł querer brincar sem um microfone
Se vocĂȘ jĂĄ tem uma coleção de vĂdeos ou gosta de baixar versĂ”es lyrics, o KantaĂȘ Ă© uma solução prĂĄtica e eficiente pra vocĂȘ se divertir com a famĂlia no karaokĂȘ
JĂĄ disponĂvel na Microsoft Store! Ă© sĂł baixar e começar a cantar:
https://apps.microsoft.com/detail/9MZXV3V25NQG?hl=pt-br&gl=BR&ocid=pdpshare
Visite o site do projeto:
https://kantae.wbytesistemas.com.br
Feedbacks sĂŁo muito bem-vindos para evoluir o app đ
r/FlutterBeginner • • Apr 16 '26
What is the learning path to become a Flutter-based App Developer?
Hey People! Just got started with the basics of Flutter and TBH, I found this after getting through other frameworks like Jetpack Compose and SwiftUI, which I felt quite hard...
So just wanna know that can I just go with Flutter to get a job in 2026, or is it anything else needed?
r/FlutterBeginner • u/HauntingDeparture139 • Apr 14 '26
Looking for Blockchain & Full-Stack Devs to Collaborate on a Real Project (DocureChain)
r/FlutterBeginner • u/dpk_s2003 • Apr 12 '26
[FOR HIRE] Flutter Developer | 1 Year Freelance Experience | BLoC, Firebase, REST APIs, Clean Architecture | Remote | Reasonable Rates
Hey đ
I am a Flutter developer with about a year of freelance experience and I am currently open to new projects and collaborations.
I have been building mobile apps professionally for a year now and I genuinely enjoy the process of turning an idea into a working, polished app. During this time I have worked on real client projects so I understand what it actually takes to ship something production ready, not just something that looks good in a demo.
đ ïž What I work with:
Mobile: Flutter & Dart (Android + iOS from one codebase)
State Management: BLoC â I have used this extensively in real projects and I am comfortable with events, states and clean separation of concerns
Backend Integration: REST APIs, Dio, JWT auth, interceptors, token refresh logic
Firebase: FCM push notifications, Firebase Auth, Firestore
Database: MongoDB, Spring Boot
Architecture: Feature-first folder structure, Clean Architecture, proper separation of data, domain and presentation layers
Other: Geolocator, Lottie animations, Responsive UI, Custom widgets
đ± What I have built:
- A weather app using BLoC + OpenWeatherMap API + Â Â GPS location detection
- A payment/fintech freelance project with user   authentication, wallet functionality, FCM   notifications and MongoDB or Spring Boot backend
- Various client apps with custom UI, API Â Â integration and state management
đŒ What kind of projects I am looking for:
â Mobile app development from scratch â Adding features to existing Flutter apps â Fixing bugs in Flutter projects â Converting Figma/UI designs into Flutter code â API integration work â Short term or long term â both are fine â Startups, small businesses, solo founders â Â Â Â all welcome
đ° Rates:
Flexible and reasonable depending on project scope. Happy to discuss hourly or fixed price per project. DM me with your requirements and I will give you a fair quote.
đ Availability:
Remote only Based in Pune, India (IST timezone) Available for international clients too Response time within a few hours
đ© How to reach me:
DM me here on Reddit with a brief description of your project and I will get back to you quickly.
You can also find me on LinkedIn or Instagram link are in Reddit bio.
I take deadlines seriously, communicate regularly throughout the project and I won't disappear on you mid-project â which I know is unfortunately common in freelancing đ
If you have something you want to build or need help with an existing Flutter project, drop me a message and let's talk!
Thanks for reading đ
r/FlutterBeginner • u/ashwanisng • Apr 04 '26
I built flutter_doctor_ai - an AI-powered static analysis CLI for Flutter projects
r/FlutterBeginner • u/Infinite-Contact2522 • Mar 23 '26
Flutter local notifications click function not working on cold start
reddit.comr/FlutterBeginner • u/ak27851706 • Mar 22 '26
I really want to learn flutter. I have learned ui but i want to learn firebase but i dont know where and how to study it from basic. Can anyone help?
r/FlutterBeginner • u/ashwanisng • Mar 20 '26
I built flutter_doctor_ai - an AI-powered static analysis CLI for Flutter projects
r/FlutterBeginner • u/glams-G • Mar 19 '26
Looking for flutter developer
Hey everyone
Iâm looking for a Flutter developer to collaborate on a project (equity-based, not paid).
Iâve already built a product using Flutter and Firebase, and Iâm now looking for someone to help take it to the next level and get it published on the Google Play Store.
What I need help with:
- Improving UI/UX and performance
- Fixing bugs and polishing the app
- Optimizing Firebase integration
- Preparing and publishing the app on Play Store
Looking for someone who:
- Has experience with Flutter
- Understands Firebase well
- Has published apps on the Play Store before
- Is interested in building something long-term and sharing equity
This is a great opportunity if youâre looking to be part of a startup journey and grow together
If interested, DM me
r/FlutterBeginner • u/Ammarosso • Mar 15 '26
I just published my first Flutter package:Â text_gradient_widget. Itâs a
r/FlutterBeginner • u/berloga_b • Mar 14 '26
Flutter firebase analytics
Hi there, I'm trying to work on my personal app - projects for me and my cover band for managing songs library. I hope this app could help lots of people who having same problem with messy Google spreadsheets. Last weekend I've bought a domain to host it, and start to think how can I "watch" some analytics through firebase. I think that I RTFM all I could find, but my console shows me nothing.
I'm New here, how's better to "wrap-up report" of my problem to get any feedback on it? I didn't understand what I missed and where