BetaTest Flow

v0.1.0 / DX Web

BetaTest Flow

Flutter Beta Testing SDK

Collect feedback.
Analyze results.
Ship with confidence.

Capture structured beta feedback, export executive reports, and turn QA noise into clear release actions.

Problem

In real betas, feedback gets scattered across chats, screenshots, and notes. That slows critical fixes and makes release decisions subjective.

Solution

BetaTest Flow standardizes Flutter report capture and produces actionable outputs: Executive Report, Release Decision, Beta Confidence Score, 48h Action Plan, and AI Correction Prompt.

Collect. Analyze. Ship.

Collect

  • Embed a reusable feedback widget.
  • Capture structured beta reports.
  • Avoid spreadsheets and scattered feedback.

Analyze

  • Generate Executive Reports.
  • Get Release Decisions.
  • Track Beta Confidence Score.

Ship

  • Use the 48h Action Plan.
  • Copy the AI Correction Prompt.
  • Fix with Copilot, Cursor, ChatGPT or Gemini.

How it works

  1. Integrate the SDK in your Flutter app and enable the feedback widget.
  2. Collect structured campaign reports in Firestore or offline JSON.
  3. Run export and get an executive summary with decision and action plan.

Executive report preview

Executive Report

Operational summary of severity, outcomes, screens, and UX observations.

Release Decision

GO / GO WITH CONDITIONS / NO-GO state with rationale and release conditions.

Beta Confidence Score

Overall score plus subscores for stability, usability, and release readiness.

48h Action Plan

P1-P5 prioritization with suggested action and validation criteria per item.

AI Correction Prompt

Prompt ready to execute corrections guided by real beta evidence.

Quick install

Add the SDK dependency in the host app and sync packages.

dependencies:
  betatest_flow:
    path: ../betatest_flow

flutter pub get

Offline demo

Generate reports without Firestore by using the project's official fixture.

dart run tools/export_beta_reports.dart \
  --input-json example/data/sample_beta_reports.json \
  --out-dir exports/demo

Integration Guide

Follow these 7 steps to install and integrate BetaTest Flow end to end.

1

Install the SDK

Add BetaTest Flow as a local dependency in your Flutter project.

dependencies:
  betatest_flow:
    path: ./betatest_flow

Expected: The dependency is resolved and ready to import.

2

Import the package

Import BetaTest Flow in the file where you will configure the SDK.

import 'package:betatest_flow/betatest_flow.dart';

Expected: You can access BetaTest Flow classes from your app code.

3

Create the config

Define app and campaign metadata, checklist items, and report version.

final config = BetaTestFlowConfig(
  appId: 'my_flutter_app',
  appName: 'My Flutter App',
  campaignId: 'closed_beta_1',
  campaignName: 'Closed Beta 1',
  reportVersion: '1',
  checklistItems: const [
    BetaChecklistItem(id: 'login', title: 'Login works'),
    BetaChecklistItem(id: 'home', title: 'Home loads'),
  ],
);

Expected: Configuration object is ready to be injected into UI components.

4

Add the feedback button

Create the repository and render the SDK button so testers can submit structured feedback.

BetaFeedbackButton(
  config: config,
  repository: FirebaseBetaFeedbackRepository(config: config),
  userId: currentUserId,
)

Expected: Feedback entry point is visible in your app UI.

5

Send your first beta report

Run your app, open the feedback button and submit a structured report.

Expected: One report is generated with severity, result and recommendation fields.

6

Export reports

Generate demo outputs from the official sample fixture.

dart run tools/export_beta_reports.dart \
  --input-json example/data/sample_beta_reports.json \
  --out-dir exports/demo

Expected: JSON, CSV and Markdown reports are generated under exports/demo.

7

Use the AI prompt

Open exports/demo/beta_summary.md and copy the AI Correction Prompt into Copilot, Cursor, ChatGPT or Gemini.

Expected: You have a ready-to-run prompt grounded in real beta evidence.

Documentation

Build your integration path step by step. Start fast, then go deeper into export and analysis workflows.

Getting Started

Understand the core flow and minimum setup to start collecting beta feedback.

Estimated time: 5 min

Level: Beginner

Read guide

Installation

Set dependency, run package sync, and prepare your host app environment.

Estimated time: 8 min

Level: Beginner

Read guide

First Beta Report

Create your first complete report and validate the end-to-end capture flow.

Estimated time: 10 min

Level: Beginner

Read guide

Export Reports

Generate JSON, CSV and markdown outputs from Firestore or offline fixtures.

Estimated time: 5 min

Level: Intermediate

Read guide

Analysis Engine

Interpret release decision, confidence score, and 48h action priorities.

Estimated time: 15 min

Level: Intermediate

Read guide

FAQ

Resolve common integration and troubleshooting questions quickly.

Estimated time: 7 min

Level: Advanced

Read guide

Getting Started

Estimated time: 5 minutes

Level: Beginner

What you will learn

You will understand the minimum integration path, when to run exports, and how to use analysis outputs to ship with confidence.

What is BetaTest Flow

BetaTest Flow is a reusable Flutter SDK to capture structured beta feedback and convert it into actionable release guidance.

When to use it

Use it when your team needs a repeatable beta process, clear release criteria, and faster feedback-to-fix cycles.

Complete flow

Flutter App -> SDK Widget -> Firestore/JSON -> Analysis Engine -> Executive Report -> AI Correction Prompt

Expected outcome

At the end, you have one structured report pipeline and a clear action path for release decisions and corrections.

Installation

Estimated time: 5 minutes

Level: Beginner

Requirements

  • Flutter >= 3.35.0
  • Firebase project if using Firestore mode
  • Offline JSON mode available without Firebase

Install dependency

dependencies:
  betatest_flow:
    path: ../betatest_flow

flutter pub get

Import SDK

import 'package:betatest_flow/betatest_flow.dart';

Add your first button

final config = BetaTestFlowConfig(
  appId: 'demo_app',
  appName: 'Demo App',
  campaignId: 'beta_1',
  campaignName: 'Beta 1',
  reportVersion: '1',
  checklistItems: const [
    BetaChecklistItem(id: 'login', title: 'Login'),
    BetaChecklistItem(id: 'home', title: 'Home'),
  ],
);

BetaFeedbackButton(
  config: config,
  repository: FirebaseBetaFeedbackRepository(config: config),
  userId: 'tester_001',
)

Expected outcome

A feedback button is visible in your app and ready to capture beta reports.

First Beta Report

Estimated time: 10 minutes

Level: Beginner

Flow

  1. Add BetaFeedbackButton
  2. Tester sends feedback
  3. Report is saved
  4. Export reports
  5. Generate Executive Report

Expected outcome

First structured beta report ready for analysis.

Export Reports

Estimated time: 5 minutes

Level: Intermediate

Export modes

  • A) Firestore mode
  • B) Offline JSON mode

Offline command

dart run tools/export_beta_reports.dart --input-json example/data/sample_beta_reports.json --out-dir exports/demo

Generated outputs

  • beta_reports.json
  • beta_reports.csv
  • beta_summary.md

Expected outcome

Executive Report generated locally without Firebase.

Get AI Fix Prompt

Analysis Engine

Estimated time: 5 minutes

Level: Intermediate

The engine automatically analyzes every beta report and generates actionable guidance for the development team.

BetaTest Flow uses deterministic and explainable rules to calculate release decisions and confidence scores. It does not use machine learning for these calculations.

Release Decision

Automatically classifies release state as:

  • GO
  • GO WITH CONDITIONS
  • NO-GO

Beta Confidence Score

Generates the following score dimensions:

  • Overall Score
  • Stability
  • Usability
  • Release Readiness

Action Plan 48h

Automatically prioritizes P1, P2, and P3 with suggested actions and validation criteria.

AI Correction Prompt

Generates a ready-to-use prompt for:

  • GitHub Copilot
  • ChatGPT
  • Cursor
  • Gemini

Flow diagram

Reports

Analysis Engine

Executive Report

AI Prompt

Developer

Expected outcome

The SDK automatically transforms beta feedback into actionable release decisions.

Get AI Fix Prompt

Get the AI Fix Prompt

Estimated time: 2 minutes

Level: Beginner

  1. Run the export command.
  2. Open exports/demo/beta_summary.md.
  3. Find the "Prompt de Correccion" section.
  4. Copy it into Copilot, Cursor, ChatGPT or Gemini.
  5. Apply fixes by priority and run analyze/test.

Command

dart run tools/export_beta_reports.dart --input-json example/data/sample_beta_reports.json --out-dir exports/demo

Expected outcome

You get a complete Executive Report and an AI-ready correction prompt.

FAQ

Answers to the most common questions when integrating BetaTest Flow.

Executive Report Dashboard (Demo)

Live demo values generated from the official fixture sample_beta_reports.json.

Source fixture: example/data/sample_beta_reports.json (3 reports)

Demo data loaded from beta_reports.json

Release Decision

GO WITH CONDITIONS

Relevant risks remain; proceed only with mitigation and additional validation.

Beta Confidence Score

65/100 (Medium confidence)

  • Stability: 80/100
  • Usability: 80/100
  • Release readiness: 78/100

Top Issues

  • [tester_001] (high / failed) Publish button keeps loading and does not complete.

Action Plan 48h

  1. P1: Reduce high severity in main flow (PublishAlertScreen).
  2. P2: Stabilize most reported screen with guided scenarios.
  3. P3: Mitigate high usage impact with UX/error feedback improvements.
  4. P4: Close release blockers with owners and ETA.
  5. P5: Resolve highlighted UX ambiguity in publish flow state.

AI Correction Prompt (Preview)

Act as a senior engineer fixing a Flutter app using real beta feedback.
Decision: GO WITH CONDITIONS
Beta Confidence Score: 65/100
Priority: P1 Publish flow high severity, then P2-P5 in 48h.

Report Metrics

Simple visual breakdown based on the official demo fixture values.

Severity Distribution

Distribution of severity reported by testers.

Total analyzed: 3 reports

Critical0
High1
Medium1
Low1

Result Distribution

How reports were classified by outcome.

Total analyzed: 3 reports

Worked Well1
Worked0
Needs Improvements1
Didn't Work1

Publish Recommendation

Recommendation trends from beta testers.

Total analyzed: 3 reports

Yes2
Not Yet1
No0

Report Summary

  • Total reports: 3
  • Most affected screen: PublishAlertScreen
  • Highest severity: High
  • Release Decision: GO WITH CONDITIONS
  • Confidence Score: 65/100 (Medium confidence)

Executive Timeline

Feedback -> Analysis -> Decision -> Action -> Prompt

1

Reports received

Beta reports were captured and consolidated from the campaign.

Completed
2

Analysis completed

The analysis engine processed severity, impact, and reproducibility.

Completed
3

Release Decision

A release state was determined with conditions for mitigation.

Completed
4

Action Plan 48h

Prioritized actions were prepared for the next 48 hours.

Completed
5

AI Prompt generated

A correction prompt was generated to accelerate implementation fixes.

Completed

This is the complete BetaTest Flow loop: collect, analyze, decide and fix.

Action Plan 48h

Prioritized fixes generated from tester feedback.

Start with P1. Do not refactor everything. Fix, validate, then move to the next priority.

AI Prompt Viewer

Review the correction prompt before copying it into your AI coding assistant.

Download Demo Outputs

JSON Report

beta_reports.json

Structured beta report data.

CSV Report

beta_reports.csv

Spreadsheet-friendly report export.

Markdown Summary

beta_summary.md

Executive Report with decision, score, action plan and AI prompt.

Live Report Explorer

Inspect the individual reports behind the Executive Report.

SDK Status

SDK Version

v0.0.3-beta

Analysis Engine

Ready

Executive Report

Ready

Offline Mode

Available

Tests

19 passing

Flutter

>= 3.35.0

Backwards Compatibility

Preserved

Roadmap

Ready to professionalize your beta workflow

Start with minimal setup and evolve into evidence-based release decisions.

Try the Demo View on GitHub