Live Demos
Explore Portico's capabilities through interactive demo applications. Each demo showcases specific features and architectural patterns, allowing you to experience how Portico handles real-world application scenarios.
All demos are fully deployed and running on Cloud Run with production-grade infrastructure.
RBAC Demo: Organization Webapp
Purpose: Demonstrates hierarchical role-based access control (RBAC) in a corporate structure using a fictional company called "TechCorp."
What It Demonstrates
This application shows how Portico handles complex permission hierarchies where access rights flow through organizational structures. Users can create groups (divisions, teams, projects), assign roles with specific permissions, and see how permission inheritance works across the hierarchy.
Portico Kits Used
- User Kit - User account management and authentication
- Auth Kit - Session-based authentication with secure cookies
- Group Kit - Hierarchical group/organization management
- RBAC Kit - Role-based access control with permission inheritance
- Audit Kit - Comprehensive logging of all user actions and permission checks
- File Storage Kit - File uploads with group-based access control
Key Features
- Hierarchical Groups - Company → Division → Team → Project structure
- Permission Inheritance - Permissions flow down through the hierarchy
- Custom Roles - Define roles with specific permission sets
- Audit Trail - Every action is logged with full context
- File Management - Upload and manage files with access control
- User Administration - Create users and assign them to groups with specific roles
Architecture Highlights
The organization webapp demonstrates the repository pattern with complete separation between business logic (kits) and database operations (adapters). All permission checks are handled through the RBAC service, which queries the group hierarchy to determine access rights.
Try It Live
Demo URL: https://rbac.demos.portico.build
Demo Credentials:
- Email: demo@techcorp.com
- Password: Demopassword123!
What to Try:
- Navigate the organizational hierarchy (Company → Division → Team)
- Create a new team or project
- Upload files and see access control in action
- Check the audit log to see all tracked actions
- Try accessing resources in different groups to see permission inheritance
Cache Demo: Twitter Clone
Purpose: Demonstrates intelligent caching strategies and cache invalidation patterns in a social media application.
What It Demonstrates
This Twitter-like application shows how Portico's caching system can dramatically improve performance while maintaining data consistency. It implements smart cache invalidation using tags, ensuring users always see fresh content when relationships change or new posts are created.
Portico Kits Used
- User Kit - User profiles and account management
- Auth Kit - Session-based authentication
- Cache Kit - Redis-backed caching with tag-based invalidation
- Audit Kit - Activity logging for tweets, follows, and profile updates
- Database Adapter - SQLAlchemy with async support for PostgreSQL/SQLite
Key Features
- Smart Feed Caching - User timelines cached for 5 minutes, invalidated on new tweets
- Profile Caching - User profiles cached with automatic invalidation on updates
- Tag-Based Invalidation - When you follow someone, relevant caches are cleared instantly
- Cache Metrics Dashboard - Real-time view of cache hit/miss ratios and performance
- Follow Relationships - Social graph with optimized queries through caching
- Audit Logging - Complete trail of all user actions
Architecture Highlights
The Twitter demo showcases cache-aside pattern with tag-based invalidation. When a user posts a tweet, caches tagged with that user's ID are automatically invalidated. The application demonstrates how to balance freshness requirements with performance gains, achieving ~70% cache hit ratios in realistic scenarios.
Try It Live
Demo URL: https://cache.demos.portico.build
Demo Credentials: (password: Password123! for all)
alice@example.com- Platform administratorbob@example.com- Software developercharlie@example.com- Travel bloggerdiana@example.com- Food criticeve@example.com- Tech entrepreneurfrank@example.com- Musician
What to Try:
- Post tweets and see real-time feed updates
- Follow/unfollow users and observe cache invalidation
- Check
/cache/metricsto see cache performance statistics - View profiles to see cached data in action
- Compare public timeline vs personalized feed caching strategies
LLM Lab: Template & RAG Demo
Purpose: Demonstrates template management with automatic versioning and LLM-powered conversations with document-based retrieval-augmented generation (RAG).
What It Demonstrates
This application shows how Portico handles versioned prompt templates, variable substitution with Jinja2, and multi-modal LLM conversations. It integrates with Graphlit for managed RAG, allowing conversations to reference uploaded documents through semantic search.
Portico Kits Used
- Template Kit - Template creation, editing, and automatic versioning
- LLM Kit - OpenAI integration for chat completions
- Conversation Service - Message history and context management
- Audit Kit - Action logging for templates and conversations
- File Storage Kit - Google Cloud Storage for document uploads
- Managed RAG - Graphlit integration for document processing and retrieval
Key Features
- Template Versioning - Every template change creates a new version automatically
- Variable Extraction - Jinja2 variables (
{{ variable_name }}) automatically detected - Template Rollback - Restore any previous template version with one click
- Template-Based Conversations - Create LLM chats from templates with variable substitution
- Document Modes - Three conversation types:
- No Documents - Standard chat
- Single Doc Spotlight - Deep dive on specific document
- Knowledge Base Search - RAG across multiple documents
- Conversation History - Full message tracking with template context preserved
Architecture Highlights
The LLM Lab demonstrates repository pattern without a dedicated kit layer. Templates use the SqlAlchemyTemplateRepository directly, showing how Portico supports flexible architectural patterns. The automatic versioning feature is implemented at the repository level, creating version snapshots on every update without requiring service-layer code.
Try It Live
Demo URL: https://lab.demos.portico.build
What to Try:
- Create a template with Jinja2 variables:
Hello {{ name }}, welcome to {{ company }}! - Edit the template and observe automatic version creation
- View version history and restore an old version
- Start a conversation from a template by filling in variable values
- Upload documents and try Knowledge Base Search mode
- Check how template context is preserved even if original template changes
TaskFlow: Project Management Demo
Purpose: Demonstrates building feature-rich task management applications with Portico's core capabilities.
What It Demonstrates
This Kanban-style project management application shows how to build traditional CRUD applications with Portico. It includes task tracking, priority management, workflow status transitions, and project organization. Future phases will add background jobs for notifications and AI-powered blocker detection.
Portico Kits Used
- User Kit - User account management
- Auth Kit - Session-based authentication
- Database Adapter - SQLAlchemy with async PostgreSQL support
- FastAPI Integration - Exception handlers, static files, template rendering
Planned for Future Phases:
- Job Kit - Background job processing for notifications (Phase 3)
- LLM Kit - AI-powered blocker detection and suggestions (Phase 4)
Key Features
- Project Management - Create and organize multiple projects
- Kanban Board - Visual workflow with drag-and-drop (To Do → In Progress → Blocked → Done)
- Priority Levels - Five priority levels with visual indicators
- Task Lifecycle - Automatic timestamp tracking (created_at, started_at, completed_at)
- Dashboard - Project statistics and quick actions
- Task Status Workflow - Manage task state transitions with validation
Architecture Highlights
TaskFlow demonstrates a clean separation between domain models and database models. Custom ProjectModel and TaskModel classes handle the application-specific data, while Portico's core tables manage users and sessions. The application follows repository pattern with explicit session management.
Try It Live
Demo URL: https://tasks.demos.portico.build
Demo Credentials:
- Email: demo@taskflow.local
- Password: Demo123!
What to Try:
- Create a new project and add tasks
- Move tasks through the Kanban workflow
- Set different priority levels and observe visual indicators
- View the dashboard to see project statistics
- Complete tasks and see automatic timestamp updates
- Create tasks with dependencies and relationships (coming in Phase 2)
What You'll Learn
By exploring these demos, you'll see how Portico:
Enforces Clean Architecture
- Business logic (kits) never imports infrastructure (adapters)
- Composition root pattern keeps dependencies explicit
- Repository pattern separates domain models from database models
Handles Real-World Scenarios
- Hierarchical permissions with inheritance (RBAC Demo)
- Cache invalidation strategies (Twitter Demo)
- Template versioning and rollback (LLM Lab)
- CRUD operations with workflow states (TaskFlow)
Integrates with External Services
- OpenAI for LLM completions
- Graphlit for managed RAG
- Redis for distributed caching
- PostgreSQL for relational data
- Google Cloud Storage for file uploads
Maintains Code Quality
- Type hints throughout
- Comprehensive test coverage
- Structured logging with context
- Exception handling patterns
- Audit logging for compliance