Open Source · Single Dashboard

Turn one dashboard into its own app

Ship a single dashboard as a dedicated white-label app. The short ID is baked in — users just open the app and type a password. Paste 4 config lines, rebrand, build.

Download source code
Flutter project · ~5 files · MIT-style license (Virtuino Cloud only)

Build a Single-Dashboard App

This guide builds the single-dashboard edition — an app locked to one specific dashboard. For a multi-dashboard app (a customer's whole list), use the Build Your Own App guide instead.

Prerequisites: Flutter SDK (Dart ≥ 3.0) and Android Studio / Xcode.

1. Get the export config from the console

  1. In Virtuino Cloud → User Console → Dashboards, find your dashboard.
  2. Open the row menu () → Export to app.
  3. Toggle Enable standalone-app access, set a password (min 6 chars), choose Fit to width, and an app display name.
  4. Copy the generated config block (4 lines). You'll paste it in step 3.

2. Download & create the project

Download the source (button above), unzip, open a terminal in the folder:

flutter create --org com.yourcompany --project-name virtuino_app_single .
flutter pub get
Windows — keep the project on the same drive as Flutter & the pub cache. If the SDK / pub cache live on C: but the project is on another drive (e.g. F:), Kotlin incremental compilation can fail with “this and base files have different roots”. Fix: develop on C:, or add kotlin.incremental=false to android/gradle.properties then run flutter clean.

3. Paste your config

Open lib/main.dart and replace the placeholder lines at the top with the ones the console gave you:

const String kSingleShortId     = 'vr-ab12cd34';
const int    kSingleDashboardId = 863;
const bool   kSingleFitWidth    = true;
That's the only required code change. Run flutter run — the app opens, asks for the password you set, and lands straight on your dashboard.

4. Make it yours

5. Build for release

⚠️ Add the INTERNET permission in android/app/src/main/AndroidManifest.xml (inside <manifest>):
<uses-permission android:name="android.permission.INTERNET"/>
flutter build appbundle --release   # Play Store
flutter build apk --release         # sideload

Set up signing first — see the Android signing guide. 🔒 Never commit key.properties or your .jks.

License & push

Free to rebrand/modify/distribute — but usable only as a client of Virtuino Cloud (see LICENSE). Push notifications are not included (official app only); the in-app Alert Logs work without extra setup.


Virtuino Cloud — Single-Dashboard App