[{"data":1,"prerenderedAt":285},["ShallowReactive",2],{"blog-why-wanderer-chatbots-dont-block-and-why-that-changes-everything":3},{"id":4,"title":5,"body":6,"description":12,"extension":274,"meta":275,"navigation":279,"path":280,"seo":281,"sitemap":282,"stem":283,"__hash__":284},"blog\u002Fblog\u002Fwhy-wanderer-chatbots-dont-block-and-why-that-changes-everything.md","Why Wanderer Chatbots Don't Block – And Why That Changes Everything",{"type":7,"value":8,"toc":264},"minimark",[9,13,21,28,33,36,39,42,46,57,60,95,98,102,105,108,128,131,135,141,144,170,173,177,183,198,200,214,221,225,232,239,242,245,257],[10,11,12],"p",{},"Most chatbots work like forms in disguise. They ask a question, wait for your answer, then move on. It's a simple, linear, turn-based pattern. And it's everywhere. It's also a fundamental limitation that most chatbot builders never question.",[10,14,15,16,20],{},"Wanderer doesn't work this way. Wanderer chatbots are ",[17,18,19],"strong",{},"non-blocking"," meaning the conversation keeps moving even while interactive elements are on screen. Buttons can appear, forms can be open, timers can be running and the bot keeps talking, reacting, and adapting.",[10,22,23,24,27],{},"This isn't a workaround. It's a direct consequence of the underlying technology: ",[17,25,26],{},"Reactive Graph Sequencing (RGS)",".",[29,30,32],"h2",{"id":31},"the-blocking-problem","The blocking problem",[10,34,35],{},"In a traditional chatbot builder, every interactive element is a roadblock. When the bot shows you a set of buttons, it stops. It waits. Nothing else happens until you click. The entire conversation is paused (blocked) by a single UI element.",[10,37,38],{},"This is fine for simple FAQ bots. But the moment you want to build something that feels alive (something that responds to time, to external events, to multiple things happening at once) the blocking model falls apart.",[10,40,41],{},"Think about it: In a real conversation, the other person doesn't freeze mid-sentence just because they asked you a question. They might add context, react to your body language, or change the subject entirely. Traditional chatbots can't do any of this. Wanderer can.",[29,43,45],{"id":44},"how-wanderer-stays-non-blocking","How Wanderer stays non-blocking",[10,47,48,49,52,53,56],{},"The secret lies in how Wanderer models conversations. Instead of a linear flow that moves from step A to step B to step C, Wanderer uses a ",[17,50,51],{},"reactive graph",". Every element in the conversation (every message, every button, every input field) is a ",[17,54,55],{},"node"," in that graph. And these nodes don't wait for each other unless you explicitly tell them to.",[10,58,59],{},"This means:",[61,62,63,71,77,83,89],"ul",{},[64,65,66,67,70],"li",{},"A ",[17,68,69],{},"question node"," can display suggestion buttons while the bot continues sending messages.",[64,72,66,73,76],{},[17,74,75],{},"form node"," with text inputs, number fields, or email fields can sit open while the graph processes other logic in the background.",[64,78,66,79,82],{},[17,80,81],{},"button node"," can fire a short event into the graph without interrupting anything else.",[64,84,66,85,88],{},[17,86,87],{},"select node"," can render a dynamic list of options from an array. And that list can update while the conversation moves on.",[64,90,66,91,94],{},[17,92,93],{},"panel node"," can display rich, interactive content using Markdown and Handlebars (live data, formatted output, embedded visuals) all without halting the flow.",[10,96,97],{},"None of these elements block the graph. They participate in it.",[29,99,101],{"id":100},"a-concrete-example-the-quiz","A concrete example: The Quiz",[10,103,104],{},"One of Wanderer's flow templates demonstrates this beautifully: a quiz game.",[10,106,107],{},"The bot asks a question and presents multiple-choice answers as buttons. A timer starts counting down. So far, so normal. But here's where it gets interesting:",[61,109,110,116,122],{},[64,111,112,115],{},[17,113,114],{},"The 50\u002F50 joker:"," Press the joker button, and two wrong answers disappear from the screen instantly, while the timer keeps running and the bot keeps talking.",[64,117,118,121],{},[17,119,120],{},"Time runs out:"," If you don't answer in time, the entire set of answer buttons vanishes. Gone. The bot tells you that you've lost. No stale buttons sitting around. No leftover UI from a previous state.",[64,123,124,127],{},[17,125,126],{},"Meanwhile, the bot keeps talking:"," While all of this is happening (buttons appearing, disappearing, timers ticking) the bot can still send messages. It can tell you how much time is left. It can react to the joker being used. It can comment on your hesitation.",[10,129,130],{},"In a traditional chatbot builder, this would require custom code, complex workarounds, or simply wouldn't be possible. In Wanderer, it's just nodes in a graph.",[29,132,134],{"id":133},"why-this-matters-beyond-quizzes","Why this matters beyond quizzes",[10,136,137,138,27],{},"The quiz is a fun demo, but the principle behind it is serious. A non-blocking chatbot can react to ",[17,139,140],{},"events that don't come from the user",[10,142,143],{},"Think about what that enables:",[61,145,146,152,158,164],{},[64,147,148,151],{},[17,149,150],{},"E-commerce:"," A product goes out of stock while the user is configuring it. The bot reacts immediately. No need to wait for the user's next input.",[64,153,154,157],{},[17,155,156],{},"Customer support:"," A live agent joins the conversation. The bot seamlessly adjusts without resetting the flow.",[64,159,160,163],{},[17,161,162],{},"IoT and real-time data:"," A sensor triggers an alert. The bot notifies the user mid-conversation, regardless of what they were doing.",[64,165,166,169],{},[17,167,168],{},"Time-sensitive workflows:"," A deadline passes, a session expires, a price changes and the bot adapts in real time.",[10,171,172],{},"None of this is possible in a blocking model. In a blocking model, the bot is frozen, waiting for a click that might never come while the world moves on without it.",[29,174,176],{"id":175},"the-technology-reactive-graph-sequencing","The technology: Reactive Graph Sequencing",[10,178,179,180,182],{},"So how does Wanderer pull this off? The answer is ",[17,181,26],{},", a paradigm that fundamentally rethinks how chatbot logic works.",[10,184,185,186,189,190,193,194,27],{},"Traditional bots are ",[17,187,188],{},"event-driven",": something happens, then the bot decides what to do next. RGS is ",[17,191,192],{},"state-driven",": the graph continuously evaluates the current state of the entire conversation and determines what should be happening ",[195,196,197],"em",{},"right now",[10,199,59],{},[61,201,202,205,208,211],{},[64,203,204],{},"Nodes can activate and deactivate based on conditions, not just user input.",[64,206,207],{},"Multiple branches of the graph can be active simultaneously.",[64,209,210],{},"UI elements can appear and disappear as the state changes (no cleanup code, no leftover artifacts).",[64,212,213],{},"The graph can re-sequence itself retroactively when conditions change.",[10,215,216,217,220],{},"And all of this happens ",[17,218,219],{},"visually, in the browser, without writing code",". You connect nodes, define conditions using Must\u002FMay\u002FNot edges, and the graph takes care of the rest.",[29,222,224],{"id":223},"non-blocking-is-not-a-feature-its-an-architecture","Non-blocking is not a feature, it's an architecture",[10,226,227,228,231],{},"Most chatbot builders treat \"non-blocking\" behavior as an edge case. Something you hack together when the default flow isn't enough. In Wanderer, non-blocking is the ",[17,229,230],{},"default",". It's not a feature bolted on top; it's a consequence of the architecture.",[10,233,234,235,238],{},"Every node is independent. Every node is reactive. Every node can respond to state changes from any source (user input, timers, external events, other nodes). The graph doesn't block because there's nothing ",[195,236,237],{},"to"," block. There's no single thread of execution waiting for a response. There's a living, breathing graph that reacts to the world as it changes.",[10,240,241],{},"That's why Wanderer chatbots feel different. They don't wait. They don't freeze. They don't leave stale buttons on the screen. They move with the conversation and with everything happening around it.",[243,244],"hr",{},[10,246,247],{},[195,248,249,250,27],{},"Wanderer is a visual chatbot builder powered by Reactive Graph Sequencing. Build non-blocking, reactive conversations (no code required). Learn more at ",[251,252,256],"a",{"href":253,"rel":254},"https:\u002F\u002Fwanderer-flow.de",[255],"nofollow","wanderer-flow.de",[10,258,259,260],{},"Title image: ",[251,261,262],{"href":262,"rel":263},"https:\u002F\u002Funsplash.com\u002Fde\u002Ffotos\u002Fein-kleiner-wasserfall-mitten-im-wald-LTDMP9v21cc",[255],{"title":265,"searchDepth":266,"depth":266,"links":267},"",2,[268,269,270,271,272,273],{"id":31,"depth":266,"text":32},{"id":44,"depth":266,"text":45},{"id":100,"depth":266,"text":101},{"id":133,"depth":266,"text":134},{"id":175,"depth":266,"text":176},{"id":223,"depth":266,"text":224},"md",{"date":276,"author":277,"headerImage":278},"2026-04-04","Chris","\u002Fimages\u002Fblog\u002Fwater.jpg",true,"\u002Fblog\u002Fwhy-wanderer-chatbots-dont-block-and-why-that-changes-everything",{"title":5,"description":12},{"loc":280},"blog\u002Fwhy-wanderer-chatbots-dont-block-and-why-that-changes-everything","C-dn6br4cfYi8TdkPORvULSu85moYq3NXiktF9VxasI",1777926091546]