State App

Features & Capabilities

State App - Features & Capabilities Report

Template Version: 1.0.0 Generated: 2026-01-22 Package: @epicdm/flowstate-app-state App ID: state


Table of Contents

  1. Overview
  2. App Identity
  3. Feature Categories
  4. Capabilities
  5. Data Models
  6. User Workflows
  7. Architecture Summary

Overview

Purpose

The State App is a product lifecycle state management application that provides wizard-driven data collection and dashboard visualization for eight key areas of product development. It enables teams to systematically capture and track business planning, product information, goals, design, development, deployment, support, and marketing configurations.

Target Users

User TypeDescriptionPrimary Use Cases
Product ManagersDefine product strategyProduct info, goals, roadmap
Business AnalystsCapture business contextBusiness planning, mission, values
Development LeadsConfigure dev setupCodebases, team, time tracking
DevOps EngineersManage infrastructureEnvironments, pipelines, monitoring
Support TeamsConfigure support opsChannels, SLAs, issue categories
Marketing TeamsPlan marketing strategyChannels, conversion goals, analytics

Value Proposition

  • Comprehensive Coverage: Eight sections covering the full product lifecycle
  • Guided Data Collection: Wizard-driven setup with JSON Schema validation
  • Progress Visibility: Track completion across all lifecycle phases
  • Dashboard Insights: Visual summaries with metrics and charts
  • Persistent Storage: Data saved to localStorage for session continuity

App Identity

PropertyValue
IDstate
Display NameState Management
Package Name@epicdm/flowstate-app-state
Version1.0.0
Categorybusiness
IconLayoutDashboard
Color#6366F1
Base Path/state
PermissionsNone (localStorage only)

Entry Points

Entry PointPathDescription
Main Exportsrc/index.tsPrimary package export
Standalonesrc/standalone.tsxStandalone app entry
App Componentsrc/App.tsxMain React component with routing
Pluginsrc/plugin.tsFlowState plugin registration

Feature Categories

Category 1: Global Dashboard

Central overview of product lifecycle status

Feature: Product Lifecycle Dashboard

PropertyDetails
IDglobal-dashboard
StatusImplemented
PriorityHigh

Description: Central dashboard providing an overview of all eight lifecycle sections with progress tracking, completion metrics, and quick navigation to incomplete sections.

User Story: As a product manager, I want to see the overall status of my product lifecycle so that I can track progress and identify incomplete areas.

Acceptance Criteria:

  • [x] Display overall completion percentage
  • [x] Show completed vs remaining sections count
  • [x] Display summary cards for each section with key metrics
  • [x] Provide "Continue Setup" navigation to next incomplete section
  • [x] Visual progress bar for overall completion

Implementation:

ComponentPathPurpose
GlobalDashboardsrc/pages/global-dashboard/GlobalDashboard.tsxMain dashboard page
SectionSummaryCardsrc/pages/global-dashboard/SectionSummaryCard.tsxSection status cards

Routes:

  • /dashboard - Global dashboard (default route)

Category 2: Business Planning

Company foundation and strategy

Feature: Business Planning Wizard

PropertyDetails
IDbusiness-planning-setup
StatusImplemented
PriorityHigh

Description: Multi-step wizard for capturing business planning information including company info, business type, and core values/mission.

User Story: As a business analyst, I want to capture company information so that I can establish the business foundation for product planning.

Acceptance Criteria:

  • [x] Step 1: Company Info (name, founded year, size, industry)
  • [x] Step 2: Business Type (B2B, B2C, B2B2C, Marketplace)
  • [x] Step 3: Core Values & Mission Statement
  • [x] Progress indicator showing current step
  • [x] Data persistence across steps

Implementation:

ComponentPathPurpose
BusinessPlanningSetupsrc/pages/business-planning/Setup.tsxSetup page
BusinessPlanningDashboardsrc/pages/business-planning/Dashboard.tsxDashboard page
businessPlanningSchemasrc/schemas/business-planning.schema.tsWizard schema

Routes:

  • /business-planning/setup - Wizard setup
  • /business-planning/dashboard - Dashboard view

Category 3: Product Information

Product details and requirements

Feature: Product Info Wizard

PropertyDetails
IDproduct-info-setup
StatusImplemented
PriorityHigh

Description: Wizard for capturing product details including name, description, requirements, and tech stack.

User Story: As a product manager, I want to define product information so that the team understands what we're building.

Acceptance Criteria:

  • [x] Capture product name and description
  • [x] Define requirements list with completion tracking
  • [x] Specify technology stack
  • [x] View requirements completion metrics

Implementation:

ComponentPathPurpose
ProductInfoSetupsrc/pages/product-info/Setup.tsxSetup page
ProductInfoDashboardsrc/pages/product-info/Dashboard.tsxDashboard page
productInfoSchemasrc/schemas/product-info.schema.tsWizard schema

Routes:

  • /product-info/setup - Wizard setup
  • /product-info/dashboard - Dashboard view

Category 4: Goals & Objectives

Targets and key metrics

Feature: Product Goals Wizard

PropertyDetails
IDproduct-goals-setup
StatusImplemented
PriorityHigh

Description: Wizard for defining product goals, sales targets (monthly/quarterly/annual), and custom metrics with targets.

User Story: As a product manager, I want to set goals and metrics so that I can measure product success.

Acceptance Criteria:

  • [x] Define multiple goals with targets and current values
  • [x] Set sales targets at different time intervals
  • [x] Define custom metrics with units and targets
  • [x] View goal progress on dashboard

Implementation:

ComponentPathPurpose
ProductGoalsSetupsrc/pages/product-goals/Setup.tsxSetup page
ProductGoalsDashboardsrc/pages/product-goals/Dashboard.tsxDashboard page
productGoalsSchemasrc/schemas/product-goals.schema.tsWizard schema

Routes:

  • /product-goals/setup - Wizard setup
  • /product-goals/dashboard - Dashboard view

Category 5: Design & Roadmap

Features and milestones

Feature: Product Design Wizard

PropertyDetails
IDproduct-design-setup
StatusImplemented
PriorityHigh

Description: Wizard for defining product features (with priority and status) and milestones (with due dates).

User Story: As a product manager, I want to define features and milestones so that I can plan the product roadmap.

Acceptance Criteria:

  • [x] Define features with name, priority, and status
  • [x] Create milestones with names and due dates
  • [x] Track feature completion status
  • [x] View milestone timeline on dashboard

Implementation:

ComponentPathPurpose
ProductDesignSetupsrc/pages/product-design/Setup.tsxSetup page
ProductDesignDashboardsrc/pages/product-design/Dashboard.tsxDashboard page
productDesignSchemasrc/schemas/product-design.schema.tsWizard schema

Routes:

  • /product-design/setup - Wizard setup
  • /product-design/dashboard - Dashboard view

Category 6: Development

Codebases and team configuration

Feature: Product Development Wizard

PropertyDetails
IDproduct-development-setup
StatusImplemented
PriorityHigh

Description: Wizard for configuring codebases (with repository URLs), team members (with roles), and time tracking settings.

User Story: As a development lead, I want to configure the development setup so that the team can organize their work.

Acceptance Criteria:

  • [x] Define codebases with names and repository URLs
  • [x] Add team members with roles
  • [x] Configure time tracking (enabled, track by codebase/task/both)
  • [x] View team and codebase metrics on dashboard

Implementation:

ComponentPathPurpose
ProductDevelopmentSetupsrc/pages/product-development/Setup.tsxSetup page
ProductDevelopmentDashboardsrc/pages/product-development/Dashboard.tsxDashboard page
productDevelopmentSchemasrc/schemas/product-development.schema.tsWizard schema

Routes:

  • /product-development/setup - Wizard setup
  • /product-development/dashboard - Dashboard view

Category 7: Deployment

Environments and pipelines

Feature: Product Deployment Wizard

PropertyDetails
IDproduct-deployment-setup
StatusImplemented
PriorityHigh

Description: Wizard for configuring deployment environments (with URLs), CI/CD pipelines, and monitoring tools.

User Story: As a DevOps engineer, I want to configure deployment settings so that I can manage infrastructure.

Acceptance Criteria:

  • [x] Define environments with names and URLs
  • [x] Create pipelines linked to codebases
  • [x] Configure monitoring (enabled, tools list)
  • [x] View environment and pipeline metrics on dashboard

Implementation:

ComponentPathPurpose
ProductDeploymentSetupsrc/pages/product-deployment/Setup.tsxSetup page
ProductDeploymentDashboardsrc/pages/product-deployment/Dashboard.tsxDashboard page
productDeploymentSchemasrc/schemas/product-deployment.schema.tsWizard schema

Routes:

  • /product-deployment/setup - Wizard setup
  • /product-deployment/dashboard - Dashboard view

Category 8: Support

Customer support configuration

Feature: Product Support Wizard

PropertyDetails
IDproduct-support-setup
StatusImplemented
PriorityHigh

Description: Wizard for configuring support channels, issue categories, and SLA response times by severity.

User Story: As a support team lead, I want to configure support settings so that I can manage customer service.

Acceptance Criteria:

  • [x] Define support channels
  • [x] Create issue categories
  • [x] Set SLA times for critical/high/medium/low severity
  • [x] View SLA metrics on dashboard

Implementation:

ComponentPathPurpose
ProductSupportSetupsrc/pages/product-support/Setup.tsxSetup page
ProductSupportDashboardsrc/pages/product-support/Dashboard.tsxDashboard page
productSupportSchemasrc/schemas/product-support.schema.tsWizard schema

Routes:

  • /product-support/setup - Wizard setup
  • /product-support/dashboard - Dashboard view

Category 9: Marketing

Marketing channels and conversion goals

Feature: Product Marketing Wizard

PropertyDetails
IDproduct-marketing-setup
StatusImplemented
PriorityHigh

Description: Wizard for configuring marketing channels (with types), conversion goals (with target rates), and analytics settings.

User Story: As a marketing team member, I want to configure marketing settings so that I can plan campaigns.

Acceptance Criteria:

  • [x] Define channels with types (social, email, paid, organic)
  • [x] Create conversion goals with target rates
  • [x] Configure analytics provider and tracking ID
  • [x] View marketing metrics on dashboard

Implementation:

ComponentPathPurpose
ProductMarketingSetupsrc/pages/product-marketing/Setup.tsxSetup page
ProductMarketingDashboardsrc/pages/product-marketing/Dashboard.tsxDashboard page
productMarketingSchemasrc/schemas/product-marketing.schema.tsWizard schema

Routes:

  • /product-marketing/setup - Wizard setup
  • /product-marketing/dashboard - Dashboard view

Category 10: Schema-Driven Wizards

Reusable wizard component system

Feature: SchemaWizard Component

PropertyDetails
IDschema-wizard
StatusImplemented
PriorityHigh

Description: A reusable multi-step wizard component that renders forms from JSON Schema definitions with progress tracking and localStorage persistence.

User Story: As a developer, I want a reusable wizard component so that I can quickly create data collection flows.

Acceptance Criteria:

  • [x] Render forms from JSON Schema definitions
  • [x] Support multi-step navigation
  • [x] Display progress indicator
  • [x] Persist step data to localStorage
  • [x] Custom widgets (text, textarea, select, checkbox, number, email, URL)
  • [x] Custom templates (field, object, array, error list)

Implementation:

ComponentPathPurpose
SchemaWizardsrc/components/wizard/SchemaWizard.tsxMain wizard component
WizardProgresssrc/components/wizard/WizardProgress.tsxProgress indicator
WizardNavigationsrc/components/wizard/WizardNavigation.tsxNavigation buttons
rjsf-widgetssrc/components/wizard/rjsf-widgets.tsxCustom form widgets
rjsf-templatessrc/components/wizard/rjsf-templates.tsxCustom form templates

Category 11: Dashboard Components

Reusable dashboard visualization components

Feature: Dashboard Components

PropertyDetails
IDdashboard-components
StatusImplemented
PriorityMedium

Description: Reusable dashboard components including layout, header, grid, and metric cards with trend indicators.

User Story: As a developer, I want reusable dashboard components so that I can quickly build section dashboards.

Acceptance Criteria:

  • [x] DashboardLayout with section name
  • [x] DashboardHeader with completion status and setup button
  • [x] DashboardGrid for responsive card layout
  • [x] MetricCard with title, value, subtitle, trend, and icon

Implementation:

ComponentPathPurpose
DashboardLayoutsrc/components/dashboard/DashboardLayout.tsxLayout wrapper
DashboardHeadersrc/components/dashboard/DashboardHeader.tsxHeader section
DashboardGridsrc/components/dashboard/DashboardGrid.tsxGrid layout
MetricCardsrc/components/dashboard/MetricCard.tsxMetric display

Category 12: Chart Components

Data visualization with Recharts

Feature: Chart Components

PropertyDetails
IDchart-components
StatusImplemented
PriorityMedium

Description: Reusable chart components built on Recharts for visualizing time series, comparisons, and distributions.

User Story: As a user, I want visual charts so that I can understand my data at a glance.

Acceptance Criteria:

  • [x] Line chart for time series data
  • [x] Bar chart for comparisons
  • [x] Pie chart for distributions

Implementation:

ComponentPathPurpose
LineChartComponentsrc/components/charts/LineChartComponent.tsxTime series
BarChartComponentsrc/components/charts/BarChartComponent.tsxComparisons
PieChartComponentsrc/components/charts/PieChartComponent.tsxDistributions

Capabilities

Core Capabilities

CapabilityDescriptionImplementation
Wizard FormsJSON Schema-driven multi-step forms@rjsf/core with custom widgets
Local PersistenceData saved to browser localStorageuseSectionData hook
Progress TrackingSection completion trackingcompletedAt timestamp
Dashboard VisualizationMetric cards and chartsRecharts + custom components

Technical Capabilities

CapabilityStatusNotes
Schema ValidationYesJSON Schema via @rjsf/validator-ajv8
Multi-step FormsYesWizardProgress + WizardNavigation
Local StorageYesuseLocalStorage hook
ChartsYesRecharts (line, bar, pie)
RoutingYesReact Router v6
Offline SupportYesAll data in localStorage
RxDB IntegrationPartialCollections defined but using localStorage

Integration Capabilities

IntegrationTypeDescription
FlowState FrameworkinternalApp container, layout, navigation
RxDBinternalCollection schema defined (not actively used)

Data Models

Section Data Types

TypeDescriptionKey Fields
BusinessPlanningDataCompany infocompanyName, businessType, coreValues, missionStatement
ProductInfoDataProduct detailsproductName, description, requirements, techStack
ProductGoalsDataGoals and targetsgoals, salesTargets, metrics
ProductDesignDataFeatures/milestonesfeatures, milestones
ProductDevelopmentDataDev setupcodebases, team, timeTracking
ProductDeploymentDataInfrastructureenvironments, pipelines, monitoring
ProductSupportDataSupport configchannels, issueCategories, sla
ProductMarketingDataMarketingchannels, conversionGoals, analytics

Storage Structure

localStorage
├── state-business-planning      # BusinessPlanningData
├── state-business-planning-wizard  # Wizard state (transient)
├── state-product-info           # ProductInfoData
├── state-product-info-wizard    # Wizard state (transient)
├── state-product-goals          # ProductGoalsData
├── state-product-design         # ProductDesignData
├── state-product-development    # ProductDevelopmentData
├── state-product-deployment     # ProductDeploymentData
├── state-product-support        # ProductSupportData
└── state-product-marketing      # ProductMarketingData

Key Data Flows

User Action --> Wizard Step --> onChange --> useSectionData --> localStorage
                                                     |
                                                     v
Dashboard --> useSectionData --> localStorage --> Render Metrics

User Workflows

Workflow 1: Complete Business Planning Section

Set up company foundation

Trigger: Navigate to Business Planning from sidebar or Global Dashboard

Steps:

StepActionComponentOutcome
1Click "Business Planning"SidebarNavigate to dashboard
2Click "Setup" buttonDashboardHeaderNavigate to wizard
3Enter Company InfoSchemaWizard Step 1Data captured
4Select Business TypeSchemaWizard Step 2Type selected
5Enter Core Values & MissionSchemaWizard Step 3Values saved
6Click "Complete"WizardNavigationSection marked complete
7View dashboardBusinessPlanningDashboardMetrics displayed

Success Outcome: Section marked complete with checkmark in sidebar Failure Handling: Validation errors shown, wizard state preserved


Workflow 2: Track Overall Progress

Monitor product lifecycle completion

Trigger: Navigate to Global Dashboard

Steps:

StepActionComponentOutcome
1Click "Dashboard"SidebarNavigate to global dashboard
2View progress barGlobalDashboardSee overall %
3Review section cardsSectionSummaryCardSee metrics per section
4Click "Continue Setup"GlobalDashboardNavigate to next incomplete

Success Outcome: Clear view of overall progress Failure Handling: N/A (read-only view)


Workflow 3: Edit Existing Section

Modify previously completed section

Trigger: Navigate to section dashboard

Steps:

StepActionComponentOutcome
1Click section in sidebarSidebarNavigate to dashboard
2Click "Edit" or "Setup"DashboardHeaderNavigate to wizard
3Modify data in stepsSchemaWizardData updated
4Click "Complete"WizardNavigationData saved

Success Outcome: Section data updated Failure Handling: Previous data preserved if wizard abandoned


Architecture Summary

Directory Structure

src/
├── components/          # UI components
│   ├── charts/         # Recharts wrappers (3 files)
│   ├── dashboard/      # Dashboard components (5 files)
│   ├── layout/         # Layout components (3 files)
│   └── wizard/         # Wizard system (6 files)
├── hooks/              # Custom React hooks (3 files)
│   ├── useLocalStorage.ts
│   ├── useSectionData.ts
│   └── index.ts
├── schemas/            # JSON Schema definitions (9 files)
│   ├── business-planning.schema.ts
│   ├── product-info.schema.ts
│   ├── product-goals.schema.ts
│   ├── product-design.schema.ts
│   ├── product-development.schema.ts
│   ├── product-deployment.schema.ts
│   ├── product-support.schema.ts
│   ├── product-marketing.schema.ts
│   └── index.ts
├── pages/              # Page components (10 directories)
│   ├── global-dashboard/
│   ├── business-planning/
│   ├── product-info/
│   ├── product-goals/
│   ├── product-design/
│   ├── product-development/
│   ├── product-deployment/
│   ├── product-support/
│   └── product-marketing/
├── types/              # TypeScript definitions
├── db/                 # RxDB configuration (optional)
├── utils/              # Utility functions
├── App.tsx             # Main app with routing
├── plugin.ts           # FlowState plugin
├── standalone.tsx      # Standalone entry
└── index.ts            # Package export

Key Architectural Patterns

PatternUsageExample
Schema-Driven FormsJSON Schema defines form structurebusinessPlanningSchema
Local StatelocalStorage for persistenceuseSectionData hook
Section PatternSetup + Dashboard per section/section/setup, /section/dashboard
Component CompositionReusable dashboard/wizard partsMetricCard, SchemaWizard

Hooks Overview

HookPurposeReturns
useLocalStoragePersist state to localStorage[value, setValue]
useSectionDataManage section data with completion{ data, updateData, isComplete }

Schema Overview

SchemaStepsKey Fields
businessPlanningSchema3Company Info, Business Type, Core Values
productInfoSchema2+Product Name, Requirements, Tech Stack
productGoalsSchema3Goals, Sales Targets, Metrics
productDesignSchema2Features, Milestones
productDevelopmentSchema3Codebases, Team, Time Tracking
productDeploymentSchema3Environments, Pipelines, Monitoring
productSupportSchema3Channels, Categories, SLA
productMarketingSchema3Channels, Goals, Analytics

Appendix

DocumentLocationPurpose
FLOWSTATE.md.flowstate/docs/FLOWSTATE.mdDevelopment workflow
TDD.md.flowstate/steering/TDD.mdTesting standards
QUALITY.md.flowstate/steering/QUALITY.mdCode quality

Dependencies

PackageVersionPurpose
@rjsf/core^5.20.0JSON Schema forms
@rjsf/validator-ajv8^5.20.0Schema validation
recharts^2.10.0Chart visualization
lucide-react^0.263.1Icons
react-router-dom^6.0.0Routing

Version History

VersionDateAuthorChanges
1.0.02026-01-22ClaudeInitial documentation
Previous
Getting Started