DEV Community

Daniel Ioni
Daniel Ioni

Posted on

πŸŒ‰ Building the Bridge: Facebook Messenger Zorgax MyZubster Metaverse

πŸŒ‰ Building the Bridge: Facebook Messenger Γ— Zorgax Γ— MyZubster Metaverse

Today we're documenting an important step in the evolution of MyZubster.

Facebook Messenger is no longer just an external communication channel for the project.

We have built a production bridge that connects the MyZubster Community Facebook Page with Zorgax, allowing Messenger conversations to become an entry point into the wider MyZubster ecosystem.

The architecture now looks like this:

Facebook User
↓
MyZubster Community
↓
Facebook Messenger
↓
Meta Webhook
↓
MyZubster API
↓
Security / Event Normalization / Context
↓
Zorgax
↓
Intent & Application Routing
↓
Marketplace Β· Seller Β· Metaverse
LIFE Pilot Β· Community Β· Comic Universe
↓
Meta Send API
↓
Messenger
πŸ€– Zorgax becomes the guide

Zorgax sits at the center of this bridge.

Instead of forcing users to understand the structure of MyZubster before they can use it, they can simply start a conversation.

Ask:

How can I become a Seller?

Zorgax can guide you toward the Marketplace.

Ask:

Tell me about the Metaverse.

Zorgax can explain the MyZubster Metaverse and direct you toward the corresponding experience.

Ask:

Show me the MyZubster comic.

The bridge can detect the Comic Universe intent, select a public visual, send it through the Meta Messenger API and provide the canonical Comic Universe destination.

This creates something much more interesting than a traditional website navigation system:

conversation becomes a gateway into the ecosystem.

🌌 Connecting Facebook to the MyZubster Metaverse

The Metaverse is part of the same routing architecture.

A Facebook user doesn't necessarily need to know where the Metaverse lives inside MyZubster.

They can ask Zorgax.

Messenger becomes the external conversational layer, Zorgax interprets the request, and MyZubster provides the application destinations and known state.

Conceptually:

Facebook
↓
Messenger
↓
Zorgax
↓
MyZubster Gateway
β”œβ”€β”€ Marketplace
β”œβ”€β”€ Seller
β”œβ”€β”€ Metaverse
β”œβ”€β”€ LIFE Pilot
β”œβ”€β”€ Community
└── Comic Universe

The important architectural point is that Facebook does not become the source of truth for MyZubster.

It is a gateway.

MyZubster remains responsible for its application state, while Zorgax provides the conversational intelligence between the user and that state.

🧠 Application truth before AI speculation

Building this bridge also exposed an important AI architecture problem.

During real Messenger testing, Zorgax once generated unsupported information about Seller pricing.

In another test, the generic AI path incorrectly claimed that the Comic Universe wasn't publicly available.

But MyZubster already knew both pieces of information.

That led us to formalize an architectural principle:

When the application already knows the truth, application state must take precedence over unconstrained generative output.

We documented this as:

ADR-001 β€” Application Truth Before Generative Output

Zorgax is responsible for conversation, explanation and guidance.

MyZubster remains responsible for known facts, canonical routes, commercial configuration and deterministic application behavior.

🎨 Messenger can now deliver MyZubster media

The bridge isn't limited to text.

For known Comic Universe requests we implemented a deterministic media route:

User
↓
Comic intent
↓
Public MyZubster visual
↓
Meta image attachment
↓
Zorgax contextual response
↓
Comic Universe

We also explicitly maintain the boundary between narrative media and evidence:

FICTION / CONCEPT β‰  real-world evidence.

That distinction is now part of the architecture rather than something we expect the language model to infer every time.

πŸ” Built as a production integration

The bridge now includes more than message forwarding.

We implemented Meta webhook verification, HMAC-SHA256 signature validation, Page Access Token integration, automatic inbound replies, quick replies, postbacks, attachment handling, is_echo protection, event deduplication, short-term conversational context, multilingual responses, deterministic routing, media delivery, fallback handling and runtime observability.

And because this is infrastructure we want to be able to maintain β€” not just demo β€” we documented it.

πŸ“š The documentation is now on GitHub

We created two dedicated technical guides.

Architecture Guide

docs/META_MESSENGER_ZORGAX_BRIDGE.md

This explains the architecture of the bridge, security model, webhook lifecycle, Zorgax behavior, commercial grounding, Comic Universe routing, Meta Send API, observability, testing and ADR-001.

Read the Meta Messenger ↔ Zorgax Bridge documentation on GitHub

Production Operations Runbook

docs/META_MESSENGER_OPERATIONS_RUNBOOK.md

This is the operational companion: smoke tests, deployments, runtime logs, webhook failures, token problems, duplicate messages, echo loops, Comic image failures, Seller grounding problems, incident response and rollback procedures.

Read the Meta Messenger Operations Runbook on GitHub

πŸ§‘β€πŸ’» Follow the implementation

The complete project remains open source:

MyZubster on GitHub

The Messenger bridge was developed incrementally through PRs #1007, #1008, #1009, #1010, #1011 and #1014, followed by the documentation work in #1015 and #1016.

🌍 Explore the connected ecosystem

MyZubster

MyZubster Metaverse

MyZubster Marketplace

MyZubster Comic Universe

What began as β€œlet Zorgax answer a Facebook message” has evolved into a documented communication bridge between an external social platform, an AI copilot and multiple parts of an open ecosystem.

Facebook is the channel.
Messenger is the bridge.
Zorgax is the guide.
MyZubster is the ecosystem. 🌌

And now the architecture behind it is open for developers to inspect, test and improve.

MyZubster #Zorgax #OpenSource #MetaDevelopers #FacebookMessenger #Metaverse #AI #AIAgents #NodeJS #Vercel #Webhooks #LLM #BuildInPublic #DeveloperCommunity

Top comments (0)