Everything you need for offline games.
PlayMate is a premier, offline-first mobile companion engineered for board game enthusiasts, sports teams, party gamers, and competitive tabletop players. Whether you're playing tabletop RPGs in a secluded cabin, scoring a fast-paced gully cricket match in the park, splitting pickup squads on the turf, or settling friendly bets with a coin toss, PlayMate brings an entire physical game-box utility kit straight to your pocketβno internet connectivity required.
- Key Features
- Screenshots
- Technology Stack
- Architecture Overview
- System Requirements
- Installation & Getting Started
- Project Folder Structure
- Build & Run Commands
- Documentation Suite
- Roadmap
- Contributing
- Security & Privacy
- License
- Author & Acknowledgments
| Utility | Description | Highlights |
|---|---|---|
| π² Dice Roller | Cryptographically randomized polyhedral and multi-die generator. | D4, D6, D8, D10, D12, D20 dice options, 1β6 simultaneous dice, Shake-to-Roll physics, haptic feedback, roll history log. |
| πͺ Coin Toss | Ultra-responsive 3D coin flipping simulator. | Fair 50/50 physics RNG, Heads/Tails tracking, streak counter, sound effects, single-tap or shake trigger. |
| π₯ Team Generator | Balanced and randomized squad partitioning. | Dynamic player roster input, 2β8 team generation, skill-weighted or purely random balancing, quick roster export. |
| π Score Tracker | Universal multi-round, multi-player score register. | Unlimited players, customizable increments (+1, +5, -1, custom), leaderboards, round-by-round persistence, game presets. |
| π Cricket Scorer | Dedicated offline ball-by-ball scorer for gully and club cricket. | Over counters, wicket tallies, extras (wides, no-balls), run rate calculator, target projection, match summaries. |
| π‘ Spin Wheel | Customizable decision wheel and prize picker. | Custom labels, customizable slice colors, realistic angular momentum decay, audible clicking sound per peg. |
| π Tournament Generator | Automated bracket creation for competitions. | 4 to 32 player brackets, single and double elimination, automatic winner advances, shareable final rankings. |
| β±οΈ Versatile Timers | Game clock hub for speed and strategy games. | Multi-mode timer: Countdown Timer, Precision Stopwatch, Chess Clock with Fischer increments, Round/Turn Timer. |
| βοΈ Customization | Accessibility-first design system. | Pure Dark Mode & Light Mode, audio/haptic toggles, local storage manager, zero telemetry leaks. |
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β PLAYMATE β β DICE ROLLER β β CRICKET SCORER β
β βββββββ βββββββ β β βββββ βββββ β β TEAM A: 48/2 β
β βπ² β βπͺ β β β β β β β β β β β OVERS: 4.2 β
β βββββββ βββββββ β β βββββ βββββ β β TARGET: 75 β
β βββββββ βββββββ β β TOTAL: 8 β β [Β·] [1] [4] [6] β
β βπ₯ β βπ β β β [SHAKE TO ROLL] β β [W] [WD] [NB] β
β βββββββ βββββββ β β β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
(High-resolution screenshots for 6.7" iPhone and 6.67" Android available in assets/screenshots/ and documented in STORE_ASSETS.md.)
- Core Framework: Flutter 3.24+ (Channel stable)
- Programming Language: Dart 3.5+ with sound null-safety
- State Management: Flutter Riverpod 2.6 (
StateNotifierProvider,NotifierProvider,ConsumerWidget) - Navigation & Deep Linking: GoRouter 17.3
- Local Persistence (Offline DB): Hive 2.2 & Hive Flutter 1.1
- Sensors & Hardware: sensors_plus 7.0 (accelerometer shake detection), audioplayers 6.7 (SFX synthesis)
- Cloud & Telemetry (Optional/Fallback): Firebase Core, Firebase Analytics, Firebase Crashlytics, Firebase Remote Config
- Code Generation:
build_runner,freezed,json_serializable,hive_generator
PlayMate adheres strictly to Clean Architecture organized with a Feature-First packaging model.
βββββββββββββββββββββββββββββββββ
β Presentation Layer β
β (Screens, Widgets, Notifiers) β
βββββββββββββββββ¬ββββββββββββββββ
β watches / triggers
βΌ
βββββββββββββββββββββββββββββββββ
β Domain Layer β
β (Business Models & Contracts)β
βββββββββββββββββ¬ββββββββββββββββ
β calls
βΌ
βββββββββββββββββββββββββββββββββ
β Data Layer β
β (Hive Boxes, Repositories) β
βββββββββββββββββββββββββββββββββ
For complete technical diagrams and module boundary contracts, see ARCHITECTURE.md.
- Development OS: macOS Sonoma/Sequoia, Ubuntu 22.04 LTS+, or Windows 11
- Flutter SDK:
>= 3.24.0 - Dart SDK:
>= 3.5.0 < 4.0.0 - Java Development Kit (JDK): JDK 17 (LTS) or JDK 21 (LTS)
- Android Studio / Xcode: Android Studio Ladybug+ / Xcode 15+
git clone https://github.com/your-username/playmate.git
cd playmateflutter doctor -vEnsure Android SDK licenses are accepted and iOS CocoaPods (if on macOS) are updated.
flutter pub getdart run build_runner build --delete-conflicting-outputs# Debug run on connected device or simulator
flutter runplaymate/
βββ android/ # Native Android Gradle configuration
βββ ios/ # Native iOS Xcode workspace & Podfile
βββ assets/ # Audio SFX, fonts, branding icons
β βββ audio/ # Dice rattle, coin flip, buzzer
β βββ icons/ # Launcher & feature icons
βββ docs/ # Complete production documentation suite
βββ lib/
β βββ core/ # Global themes, constants, design tokens
β β βββ constants.dart
β β βββ theme.dart
β βββ features/ # Feature-first modular modules
β β βββ coin/ # Coin Toss (UI, Provider, State)
β β βββ cricket/ # Cricket Scorer (UI, Provider, Models)
β β βββ dice/ # Dice Roller (UI, Provider, Sensors)
β β βββ home/ # Dashboard launcher & tools grid
β β βββ score_tracker/ # Score keeper engine
β β βββ settings/ # Preferences & local data management
β β βββ spin_wheel/ # Decision wheel physics & render
β β βββ team_generator/ # Roster balancing algorithm
β β βββ timer/ # Multi-mode stopwatch & chess clock
β β βββ tournament/ # Bracket generator & knockout tree
β βββ routes/ # GoRouter route declarations
β βββ services/ # Storage (Hive) & Firebase abstractions
β βββ shared/ # Reusable UI widgets & responsive layouts
β βββ main.dart # Flutter entry point & ProviderScope setup
βββ test/ # Unit, widget, and integration tests
βββ pubspec.yaml # Project dependencies & metadata
βββ README.md # Repository landing documentation
| Command | Purpose |
|---|---|
flutter run |
Starts the app in debug mode with Hot Reload enabled |
flutter run --profile |
Profiles performance, memory leaks, and frame raster times |
flutter test |
Executes the entire test suite (Unit and Widget tests) |
flutter test --coverage |
Generates LCOV coverage metrics (coverage/lcov.info) |
dart analyze |
Runs static analysis against analysis_options.yaml |
flutter build apk --release |
Generates production Android APK |
flutter build appbundle --release |
Generates Google Play Store Android App Bundle (.aab) |
flutter build ipa --release |
Builds signed iOS App Store bundle for TestFlight/Release |
Explore the complete technical, operational, and legal documentation suite inside docs/:
- ABOUT.md β Product philosophy, problem statement, and long-term vision.
- ARCHITECTURE.md β Deep dive into Clean Architecture, Riverpod state flow, and data layers.
- DESIGN_SYSTEM.md β Color palettes, typography scale, spacing tokens, and components.
- HIVE_DATABASE.md β Local schema, box contracts, and zero-loss migration strategies.
- FIREBASE_SETUP.md β Analytics, Crashlytics, and Remote Config integration guidelines.
- ANALYTICS.md β Complete event catalog, triggers, and privacy safeguards.
- SPLASH_PERFORMANCE.md β Startup benchmarks, zero-delay policy, and TTFF optimization.
- ASO_KEYWORDS.md β App Store keyword research, intent mapping, and priority matrix.
- SEO.md β Web discovery, Schema.org structured data, and search intent clusters.
- TESTING_GUIDE.md β Unit, Widget, Integration, and Golden test guidelines.
- DEPLOYMENT.md β Complete signing and CI/CD distribution playbook for Play Store & App Store.
- RELEASE_CHECKLIST.md β Step-by-step gatekeeper checklist before every release.
- CODE_STYLE.md β SOLID design rules, clean code principles, and naming conventions.
- CONTRIBUTING.md β Branch strategies, PR requirements, and developer workflows.
- CHANGELOG.md β Version release logs adhering to Keep a Changelog.
- VERSIONING.md β Semantic Versioning (SemVer 2.0.0) standard guidelines.
- ROADMAP.md β Strategic phases from initial utility set to peer-to-peer multiplayer.
- STORE_LISTING.md β App Store and Google Play descriptions, keywords, and marketing copy.
- STORE_ASSETS.md β Asset dimensions, feature graphic specs, and screenshot guidelines.
- APP_INFO.md β SDK boundaries, permissions, and configuration matrices.
- FUTURE_FEATURES.md β Detailed specifications for upcoming modules.
- KNOWN_ISSUES.md β Current limitations and hardware workarounds.
- FAQ.md β Frequently asked questions for users and developers.
- PRIVACY_POLICY.md β GDPR, CCPA, and COPPA compliant privacy policy.
- TERMS_AND_CONDITIONS.md β Commercial terms of service.
- SECURITY_POLICY.md β Vulnerability reporting guidelines and encryption model.
- LICENSE.md β MIT Open Source License.
- Phase 1: Architecture & Foundations (Riverpod, Clean Architecture, Hive Storage)
- Phase 2: Core Offline Utilities (Dice, Coin, Teams, Scores, Cricket, Wheel, Brackets, Timers)
- Phase 3: Deep Statistics & Insights (Win/loss ratios, player performance graphs)
- Phase 4: Encrypted Cloud Sync (Optional Firebase sync across personal devices)
- Phase 5: Pro Customization (Custom 3D dice textures, custom soundboards)
- Phase 6: Local P2P Multiplayer (Bluetooth / Wi-Fi Direct score sharing)
See ROADMAP.md for full release breakdown.
We welcome community contributions, bug reports, and suggestions! Please review our CONTRIBUTING.md and CODE_STYLE.md before opening a pull request.
PlayMate is architected with an Offline-First, Privacy-by-Default mindset:
- Zero personal data is transmitted without explicit consent.
- Local storage is completely confined to the user device sandbox.
- To report security issues, refer to SECURITY_POLICY.md.
PlayMate is licensed under the MIT License. View LICENSE.md for full terms.
Developed with care by Sundramdotdev.
- GitHub: https://github.com/sundramdotdev
- LinkedIn: https://linkedin.com/in/sundramdotdev
- Instagram: https://www.instagram.com/devsundram_?stkn=dXBva2IwMzZxbHY1
- Support: [email protected]
- Website: https://playmateapp.com