Multi-App Workflow: Shopping Journey with Context Handoff
This example demonstrates SuperModel’s ability to create seamless user experiences across multiple specialized UI apps, with context flowing intelligently between each step of the journey.
User Goal: “Buy the best wireless headphones for my home office setup”Journey: Product Research → Bundle Building → CheckoutKey Innovation: Each app builds on context from previous interactions, creating a personalized, continuous experience.
{ "method": "sampling/createMessage", "params": { "messages": [{ "role": "user", "content": { "type": "text", "text": "Generate bundle builder UI for home office productivity setup. User context:\n\n- Already selected: Sony WH-1000XM5 ($299), Bose QC45 ($279)\n- Priorities: comfort, noise canceling\n- Use case: work from home\n- Budget: $300 total\n- User values comfort and thorough comparison\n\nCreate interface to:\n1. Choose between the two selected headphones (with context-aware comparison)\n2. Suggest complementary office accessories: desk stand, premium cables, carrying case\n3. Show bundle pricing with discounts\n4. Highlight comfort-focused accessories based on user priorities\n5. Quick checkout flow\n\nPersonalization: Emphasize comfort and WFH productivity based on previous interactions." } }], "systemPrompt": "Generate AG-UI bundle builder that leverages user context for personalized recommendations." }}
Generated Bundle UI Features:
Context-Aware Product Comparison
function ContextualComparison({ products, userContext }) { return ( <div className="comparison"> <h3>Based on your comfort priority:</h3> <div className="recommendation"> <ProductCard product={products.find(p => p.id === 'sony-wh1000xm5')}> <Badge variant="recommended">Best for Comfort</Badge> <p>Higher comfort rating (4.8) matches your priority</p> </ProductCard> </div> </div> );}
Personalized Accessory Suggestions
function PersonalizedAccessories({ userContext }) { const suggestions = userContext.values_comfort ? [ { name: "Ergonomic Headphone Stand", reason: "Matches your comfort focus" }, { name: "Premium Memory Foam Ear Cushions", reason: "Extra comfort for long work sessions" } ] : defaultAccessories; return ( <div className="accessories"> <h3>Perfect for Your Home Office</h3> {suggestions.map(item => ( <AccessoryCard key={item.name} item={item} highlighted={true} /> ))} </div> );}