A cross-platform Flutter UI showcase PoC (Proof of Concept) app, available on Android, Windows, Linux, macOS, and iOS, built by a GitHub Actions CI packaging workflow.
Animated breakdowns of tracked code, script, doc, and build-config size by bytes and by lines.
| Desktop Icon Preview |
|---|
Windows 11 dock / taskbar |
Debian 13 KDE start menu |
Android 14 widget |
iOS 17 sideloaded |
An app information dialog that displays app name, version, build number, publisher, and related links. Accessible from the AppBar menu.

A step-by-step walkthrough dialog showing the app's download channels, build options, and recommended development setup. Accessible from the AppBar menu.

Displays typed system information through the reusable local plugin system_info_vincentzyu: Win32 C++ FFI first on Windows, Kotlin/Swift MethodChannels on Android and Apple platforms, and Dart/OS interfaces on Linux. Formatting stays in the App layer. Every field shows its source, elapsed time, and fallback chain. Session logs are mirrored to memory, UI, console, and rotating files (10 MiB each, newest five retained); hostname and local IP are never uploaded automatically, and export requires a privacy confirmation.
Source: lib/pages/page0_system_info.dart
A compact dialog lab with both a modern Flutter dialog and a classic Win32-style dialog recreation. Uses retro borders, inset input styling, and larger action buttons to demonstrate that Flutter can reproduce very different interaction and visual languages in one app.
Source: lib/pages/page1_dialog_lab.dart

An interactive text playground. Adjust font size, letter spacing, and line height with live controls. Switch between the system font, Google Fonts, and a one-shot local font file. Includes live preview text editing, dark/light auto text color switching, preset swatches, and a custom color picker with RGB and HEX readout.
Source: lib/pages/page2_typography_studio.dart

A responsive GitHub repository browser driven by LayoutBuilder. Fetches repositories from configurable personal or organization repository pages, supports proxy configuration, filter and sort controls, collapsible configuration UI, layout switching between Grid / Masonry / List, and adjustable target columns from 5 to 1.
Source: lib/pages/page3_adaptive_grid.dart

A responsive control-state and accessibility lab. It combines radios, checkboxes (including an indeterminate state), switches, validation and loading states, text scaling, high-contrast previews, focus diagnostics, and live JSON state inspection. Its async task can run, pause, resume, fail, retry, cancel, or complete, with determinate and indeterminate progress plus SnackBar, dialog, banner, and bottom-sheet feedback.
Source: lib/pages/page4_controls_feedback.dart

The app keeps all five platform projects in source control. Reusable system-information code lives in a local Flutter plugin:
| File | Purpose |
|---|---|
lib/main.dart |
App entry point; boots FlutterShowcaseApp. |
lib/app.dart |
App shell, theme switching, navigation, about/guide dialogs, and page switching. |
lib/models/mock_data.dart |
Small random-data helpers for demo content. |
lib/models/page3_enums.dart |
Enums and density helpers used by the GitHub grid page. |
lib/pages/page0_system_info.dart |
System info showcase page. |
lib/pages/page1_dialog_lab.dart |
Dialog comparison and interaction demo page. |
lib/pages/page2_typography_studio.dart |
Typography playground page. |
lib/pages/page3_adaptive_grid.dart |
Adaptive GitHub repository browser page. |
lib/pages/page4_controls_feedback.dart |
Controls and feedback component lab. |
lib/services/android_home_widget_service.dart |
Android home-widget sync bridge. |
lib/services/app_performance.dart |
FPS tracking and rebuild count helpers. |
lib/services/github_repository_service.dart |
GitHub repository parsing, fetching, and data models. |
lib/services/system_info_service.dart |
App formatting, logging setup, debug snapshot, and copy/export adapter. |
lib/widgets/animated_page.dart |
Page transitions and staggered animation wrappers. |
lib/widgets/repository_card.dart |
Grid-style repository card widget. |
lib/widgets/repository_list_tile.dart |
List-style repository row widget. |
lib/widgets/state_shell.dart |
Shared empty/loading/error state layout. |
lib/widgets/tag.dart |
Small pill/tag display widget. |
packages/system_info_vincentzyu/ |
Reusable typed system-information plugin for all five platforms. |
android/, ios/, windows/, linux/, macos/ |
Committed Flutter platform projects; normal CI never regenerates them. |
.github/workflows/profile-debug.yml |
Seven-day Windows/Linux/Android Profile and Debug artifacts. |
.github/workflows/performance.yml |
Seven-day or permanent Pre-release desktop Profile build reports. |
| Mode | GitHub output | JIT | AOT | Optimized | Debug symbols | Typical use |
|---|---|---|---|---|---|---|
| Debug | 7-day Actions artifacts | ✅ | ❌ | ❌ | ✅ | Development and diagnostics |
| Profile | Permanent Release assets plus 7-day developer artifacts | ❌ | ✅ | ✅ | Limited | Performance profiling on real devices or hosts |
| 🚀 Release | Permanent GitHub Release assets | ❌ | ✅ | ✅ | ❌ | Production-style use |
Release assets use
flutter build <platform> --release. This repository runs Flutter analysis, tests, builds, and profiling through GitHub Actions rather than the local Flutter SDK.
GitHub Actions uses exact, case-sensitive hyphenated tokens: [build-release] publishes an app Release with a verified x86_64 .flatpak; [build-publish] additionally requests a signed stable update through the self-hosted Flatpak repository and submits the MSIX to Microsoft Store certification; [build-profile] and [build-debug] create seven-day developer artifacts; [run-performance] keeps performance reports for seven days; [release-performance] creates a permanent Performance Pre-release. Brackets are commit-style punctuation, while CI matches the token itself. See ci.md for manual options and platform bootstrap details.
| Platform | Declared baseline | Current release architecture |
|---|---|---|
| Windows | Windows 10 or newer | x64 |
| Linux | Modern x64 desktop distribution with GTK 3 | x64 |
| macOS | macOS 10.15 or newer | x64 and ARM64 |
| Android | API 21 or newer | Universal, x86_64, and ARM64 |
| iOS / iPadOS | iOS 13.0 or newer | ARM64 unsigned IPA |
Every Windows artifact, including the Microsoft Store submission MSIX, is x64-only. The unsigned MSIX is intended for Partner Center submission; use the EXE or portable ZIP for normal GitHub downloads.
The iOS baseline is the configured build minimum, not a claim that every OS/device combination has been tested. The current known physical-device result is iPad Air 5 on iOS 17.
- 🪟🐧 Windows / Linux GPU issues: Launch with software rendering:
./dart_flutter_demo --disable-gpu - 🍎 macOS security prompt: If macOS blocks the app because Apple cannot verify it, open System Settings → Privacy & Security, scroll down to Security, then click Open Anyway for
dart_flutter_demo. - 🍎 macOS virtual machines graphic issues (VMware, VirtualBox, etc.): Flutter desktop apps require Apple Metal, which is unavailable in VMs. Use a physical Mac or GitHub Actions macOS runners instead.
- 🤖 Android APK: Not signed with a persistent keystore. Each release uses a different debug key, so you must uninstall the old version before installing a new one to avoid signature conflicts.
- 📱 iOS IPA: CI does not configure code signing. To run on your own device, self-sign the
.ipabefore installing.
(for reference — tested on iPad Air 5, iOS 17; other devices/versions may vary):- Download and install AltStore on Windows or macOS, open AltServer (system tray)
- Connect iPad via USB → tray icon → Install AltStore → select your iPad
- Enter your Apple ID (used only for signing, not stored)
- On iPad: Settings → General → VPN & Device Management → trust your Apple ID certificate
- Open AltStore → + → select the
.ipafile - Make sure to turn off any proxy / VPN software (e.g. Shadowrocket, Clash, etc.), then open the app
- Free accounts need re-signing every 7 days (AltStore prompts automatically; keep AltServer running on your PC/iPad on same WiFi)
| Dependencies | Badge |
|---|---|
| Flutter | |
| Flutter Localizations | |
| Intl | |
| File Selector | |
| Google Fonts | |
| Flutter Colorpicker | |
| Package Info Plus | |
| Path Provider | |
| System Info VincentZyu | |
| URL Launcher | |
| Testing | |
| Linting |
| Tech | Badge |
|---|---|
| Language | |
| Min SDK | |
| Design | |
| Windows | |
| Linux | |
| macOS | |
| Android | |
| iOS |
| Badge | Link |
|---|---|
| Version | |
| Stars | |
| Last Commit | |
| Github Action CI/CD |














