
Build dynamic UI at scale
Presentum is a declarative Flutter engine that helps you manage campaigns, app updates, special offers, tips, and notifications with clean, testable, type-safe code. Show the right message to the right user at the right time, with impression limits, cooldowns, A/B testing, and analytics - all handled automatically.Declarative by design
Describe presentations as data. No imperative show/hide logic.
Type-safe
Generics ensure compile-time correctness. No runtime surprises.
Clean architecture
Business logic in guards, UI in outlets, tracking in storage.
Production ready
Eligibility rules, A/B tests, cooldowns, impression tracking built-in.
Quick example
That’s it! Presentum handles eligibility, impressions, cooldowns, and state
automatically.
Get started
Introduction
Learn what Presentum is and why it exists
Quickstart
Build your first presentation in 5 minutes
Core concepts
Deep dive into architecture
What you can build
Check out the comprehensive example application source code.Maintenance
Maintenance mode dialogs and system status notifications
App updates
Force update dialogs, optional upgrade prompts, changelog announcements
Marketing campaigns
Special offers with discount codes, limited-time sales, seasonal campaigns,
A/B tests
Feature toggles
User-configurable feature flags, toggleable from settings, with dependency
chains and feature-aware widgets that adapt UI based on enabled features
User preferences
Settings, user preferences, and feature toggles
Guides
Implementing guards
Build eligibility logic
Implementing storage
Persistent tracking layer
Building outlets
Create presentation widgets
State management
Integrate with your state solution
Recipes
Firebase Remote Config
Dynamic campaign management
App update dialogs
Force and optional updates
A/B testing
Multi-variant experiments
Analytics integration
Track impressions and conversions
Community
Ready to start?
Start with the quickstart guide
Build your first Presentum presentation in 5 minutes
