Fabian as Agent Forward

Fabian Agent-Forward Web in Action

πŸ‘‹ Building in the Open

Hi! I'm Fabian, a Product Manager building this as a learning exercise. I want to ensure what I'm building professionally aligns with real user needs and problems. Your feedback and experience matter!

I'm a patron (not employee) at Sapwood Cellars using their public menu data as an example of structured content. This demonstrates how Microsoft 365 data (Email, Calendar, Teams, SharePoint, Fabric, LOB systems) can work the same way with agents as first-party citizens managing your daily flow.

Disclaimer: I don't represent Sapwood Cellars. This solves MY problem as a curious Dev/PM who likes to tinker. If it solves my problem, it can solve yours! Consider this food for thought for your own data. πŸ€”

🚨 The Problem Every Business Will Face

Your website works great for humans β€” but when AI agents try to help customers find what they need, they hit a wall. Poor search results, no semantic understanding, zero conversational flow.

The reality: In 2-3 years, 40%+ of your customers will interact through AI agents. If your site isn't agent-ready, you're invisible to them. Game over.

βœ… The Solution: Build for Both

What if your website could serve humans AND AI agents flawlessly?Semantic search that actually understands intent. Conversational experiences that feel natural. Complete observability so you know what's working and what isn't.

See it in action: Three search experiences, intelligent agents, and full-stack observability β€” everything you need to future-proof your business for the AI-first world.

πŸ” Three Ways to Search

List Search

Modern take on traditional search. Returns a ranked list of results from our Qdrant vector DB, enhanced by feedback (πŸ‘/πŸ‘Ž) β€” no chat, just fast, relevant matches.

Narrative Search

Adds a conversational layer to List Search. Uses a Chat Completion model to transform results into natural paragraphs, adapting to your tone and intent.

Agent Chat

Powered by our MCP Server, agents like Greeter, Beer, and Booking collaborate to respondβ€”supporting multi-turn, contextual chats between humans and other agents.

πŸš€ The Journey Forward

From simple structured data to intelligent, conversational experiences:

Contentful CMS provides structured brewery menu & FAQ data
Qdrant Vector DB enables semantic search with embeddings
Redis Cache optimizes response times for complex queries
Specialized Agents handle beer, events & booking conversations

πŸ’‘ Try These Queries

β€’ "What beers pair well with chocolate?"
β€’ "Tell me about your sour beer selection"
β€’ "I love hoppy IPAs, what do you recommend?"
β€’ "What events are happening this week?"
β€’ "Can I book a table for 4 tonight?"

🧠 Technical Deep Dives

β€’ "How does semantic search work?"
β€’ "What is OpenTelemetry observability?"
β€’ "Explain vector embeddings and Qdrant"

Explore our technical FAQ for more examples.

πŸ” Why Observability is Everything

"You can't improve what you can't observe" β€” especially with autonomous agents running 24/7

πŸ€– Agent Challenges

  • β€’ Autonomous 24/7 operation
  • β€’ Non-deterministic responses
  • β€’ Same question, different answers
  • β€’ Model changes break assumptions

πŸ“Š Solution: Continuous Feedback

  • β€’ Real-time performance monitoring
  • β€’ User feedback collection
  • β€’ A/B testing across model versions
  • β€’ Automated quality regression detection

πŸ—οΈ System Architecture & Data Flow

See how structured content flows from Contentful through vector search, Redis caching, and intelligent agents β€” complete with observability at every layer.

System Architecture Diagram

πŸ’» Complete Tech Stack Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   User      │───▢│ Next.js Frontend │───▢│ Azure Static    β”‚
β”‚ (Mobile/Web)β”‚    β”‚  (andmyagent.com)β”‚    β”‚   Web Apps      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚ Azure Functions β”‚ ◄─── Search/Narrative APIs
                   β”‚ β€’ Qdrant Vector β”‚
                   β”‚ β€’ OpenAI GPT-4o β”‚
                   β”‚ β€’ Redis Cache   β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚ Container Apps  │───▢│ Semantic Kernel β”‚
                   β”‚ β€’ Orchestrator  β”‚    β”‚ β€’ Agent Router  β”‚
                   β”‚ β€’ OpenTelemetry β”‚    β”‚ β€’ Function Call β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚                       β”‚
                            β–Ό                       β–Ό
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚ Specialized     β”‚    β”‚ MCP Servers     β”‚
                   β”‚ Agents:         β”‚    β”‚ β€’ HR Tools      β”‚
                   β”‚ β€’ BeerAgent     β”‚    β”‚ β€’ Booking APIs  β”‚
                   β”‚ β€’ EventsAgent   β”‚    β”‚ β€’ Event Search  β”‚
                   β”‚ β€’ BookingAgent  β”‚    β”‚ β€’ Table Storage β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ” Full-Stack Observability

From logs and traces to metrics and spans β€” every interaction is captured, analyzed, and fed back into the system for continuous improvement. Different personas see different views of the same data.

Observability Whiteboard - Logs, Traces, Metrics, and User Personas

πŸ‘©β€πŸŽ¨ Product Manager/Designer

Focuses on user experience and business outcomes:

  • β€’ User journey flow analysis
  • β€’ Feature adoption rates
  • β€’ Error impact on conversions
  • β€’ A/B test performance

πŸ”§ Admin/DevOps

Monitors system health and performance:

  • β€’ Infrastructure metrics
  • β€’ Alert management
  • β€’ Resource utilization
  • β€’ SLA compliance tracking

πŸ‘¨β€πŸ’» Developer

Debugs issues and optimizes code:

  • β€’ Distributed traces
  • β€’ Error stack traces
  • β€’ Performance bottlenecks
  • β€’ API response patterns

OpenTelemetry + Aspire Dashboard β€” Every span, every metric, every user interaction captured for continuous improvement

πŸ’¬ Help Shape the Future of Agent-First Web

Your feedback helps me build better solutions for everyone. What works? What doesn't? What would you build differently?

Share Your Feedback