[{"data":1,"prerenderedAt":614},["ShallowReactive",2],{"blog-reactive-graph-sequencing-the-technology-behind-wanderer":3},{"id":4,"title":5,"body":6,"description":15,"extension":604,"meta":605,"navigation":609,"path":610,"seo":611,"stem":612,"__hash__":613},"blog\u002Fblog\u002Freactive-graph-sequencing-the-technology-behind-wanderer.md","Reactive Graph Sequencing: The Technology Behind Wanderer",{"type":7,"value":8,"toc":589},"minimal",[9,16,22,25,28,33,36,41,63,70,78,80,84,87,93,100,106,108,112,119,139,146,148,152,155,161,167,182,197,203,209,211,215,222,228,233,259,265,267,271,274,280,289,298,304,306,310,321,330,338,346,354,362,364,368,371,505,511,513,517,520,526,532,534,538,541,546,549,551,555,558,567,570,575,578,580],[10,11,12],"p",{},[13,14,15],"strong",{},"Most flow builders execute your logic once and move on. RGS rebuilds the entire sequence every time your data changes.",[10,17,18,19],{},"Wanderer is a new kind of flow builder, and at its heart is a technology called RGS – Reactive Graph Sequencing. It solves a problem that's been hiding in plain sight: ",[13,20,21],{},"workflows that need to adapt in real-time, not just react to events.",[10,23,24],{},"Let me show you how it works.",[26,27],"hr",{},[29,30,32],"h2",{"id":31},"what-is-graph-sequencing","What Is Graph Sequencing?",[10,34,35],{},"At its core, graph sequencing is about taking a graph of nodes and edges and collapsing it into a logical execution order. Which node runs after which? That's the sequencing problem.",[10,37,38],{},[13,39,40],{},"RGS uses depth-first graph traversal combined with three types of directed edges:",[42,43,44,51,57],"ul",{},[45,46,47,50],"li",{},[13,48,49],{},"Must"," – This path must be taken",[45,52,53,56],{},[13,54,55],{},"May"," – This path can be taken (conditional)",[45,58,59,62],{},[13,60,61],{},"Not"," – This path must not be taken",[10,64,65,66,69],{},"Each edge type has a visual weight (thickness) that represents its priority. With just these three primitives, ",[13,67,68],{},"you can draw any logical gate purely visually",". Through graph traversal, this visual representation collapses into an executable sequence.",[10,71,72,73,77],{},"That's graph sequencing. But what makes it ",[74,75,76],"em",{},"reactive","?",[26,79],{},[29,81,83],{"id":82},"the-reactive-layer-states-and-continuous-re-sequencing","The Reactive Layer: States and Continuous Re-Sequencing",[10,85,86],{},"Every node in an RGS graph holds state – primitive values like booleans, strings, numbers. Outgoing edges can evaluate these states (e.g., \"is this value true?\") to determine which paths to take during traversal.",[10,88,89,92],{},[13,90,91],{},"Here's where it gets interesting",": States can be pushed from one node to another via edges, partially or completely overwriting the target node's state. States can also be changed by external processes – user input, API responses, database updates.",[10,94,95,96,99],{},"When a state changes, ",[13,97,98],{},"the graph doesn't just trigger the next node",". It re-traverses the entire graph and generates a new sequence based on the updated data.",[10,101,102,105],{},[13,103,104],{},"This is reactive sequencing",": The graph continuously adapts, collapsing into different execution paths as your data evolves.",[26,107],{},[29,109,111],{"id":110},"beyond-simple-flows-control-edges","Beyond Simple Flows: Control Edges",[10,113,114,115,118],{},"Traditional flow builders connect nodes in a linear or branching fashion. RGS adds ",[13,116,117],{},"control edges"," that operate outside the main traversal:",[42,120,121,127,133],{},[45,122,123,126],{},[13,124,125],{},"Push"," – Send state to a distant node without traversing there",[45,128,129,132],{},[13,130,131],{},"Pull"," – Request state from another node",[45,134,135,138],{},[13,136,137],{},"Call"," – Invoke logic in a remote part of the graph",[10,140,141,142,145],{},"These control edges enable ",[13,143,144],{},"non-local state manipulation",", allowing you to build flows that would require complex custom code in other tools.",[26,147],{},[29,149,151],{"id":150},"a-concrete-example-the-adaptive-chatbot","A Concrete Example: The Adaptive Chatbot",[10,153,154],{},"Imagine you're building a chatbot for an e-commerce store using Wanderer. A customer is configuring a custom skateboard deck. They've answered five questions about graphics, size, and wheels.",[10,156,157,160],{},[13,158,159],{},"Then an API call comes in",": The deck they're configuring just went out of stock.",[10,162,163,166],{},[13,164,165],{},"In a traditional flow builder",", you'd have to:",[168,169,170,173,176,179],"ol",{},[45,171,172],{},"Store the conversation state",[45,174,175],{},"Manually interrupt the flow",[45,177,178],{},"Write custom logic to backtrack",[45,180,181],{},"Hope you didn't break anything",[10,183,184,187,188,192,193,196],{},[13,185,186],{},"With RGS",", you simply change a state value (",[189,190,191],"code",{},"deckInStock: false","). The graph re-sequences itself automatically. ",[13,194,195],{},"Questions that were based on that deck become invalid",". The traversal recalculates, and a new message appears in the chat:",[198,199,200],"blockquote",{},[10,201,202],{},"\"Sorry, the skateboard deck you're configuring just went out of stock. Can I help you with something else?\"",[10,204,205,208],{},[13,206,207],{},"This isn't a special case handled by custom code. It's how RGS works by default."," The graph can invalidate earlier decisions and re-route the entire conversation based on new information.",[26,210],{},[29,212,214],{"id":213},"why-this-matters-real-time-adaptation-vs-event-reaction","Why This Matters: Real-Time Adaptation vs. Event Reaction",[10,216,217,218,221],{},"Most automation tools are ",[13,219,220],{},"event-driven",": Something happens → trigger a workflow → execute a sequence → done.",[10,223,224,227],{},[13,225,226],{},"RGS is state-driven",": The graph continuously evaluates the current state and generates the appropriate sequence. When state changes, the sequence changes.",[10,229,230],{},[13,231,232],{},"This enables entirely new categories of workflows:",[42,234,235,241,247,253],{},[45,236,237,240],{},[13,238,239],{},"Adaptive onboarding flows"," that adjust based on verification failures or changed user data",[45,242,243,246],{},[13,244,245],{},"Product configurators"," that recalculate when options become unavailable",[45,248,249,252],{},[13,250,251],{},"Multi-stakeholder approval processes"," that re-route when budget or requirements change mid-flight",[45,254,255,258],{},[13,256,257],{},"Real-time assistants"," that respond to external events (package delivered, meeting rescheduled) and adjust the conversation accordingly",[10,260,261,262],{},"These workflows are either impossible or require significant custom code in traditional flow builders. ",[13,263,264],{},"With RGS, they're just graphs.",[26,266],{},[29,268,270],{"id":269},"building-wanderer-design-principles","Building Wanderer: Design Principles",[10,272,273],{},"Wanderer is the first implementation of RGS, and it's built with some unconventional principles:",[10,275,276,279],{},[13,277,278],{},"Zero friction",": No login, no registration, no server. You open the browser and start building. The graph executes as you construct it.",[10,281,282,285,286],{},[13,283,284],{},"Immediate feedback",": Edges animate during traversal. Active nodes get an outline. Click any node to see its current state. ",[13,287,288],{},"The complexity of graph sequencing becomes tangible through visualization.",[10,290,291,294,295],{},[13,292,293],{},"Self-contained learning",": Tutorials run inside the builder. Nodes can load interactive guides. A chat assistant (itself built with message nodes) guides you through concepts. ",[13,296,297],{},"The graph teaches you how to build graphs.",[10,299,300,303],{},[13,301,302],{},"Graphs are JSON",": Export, version control, share, restore. No proprietary format. No lock-in.",[26,305],{},[29,307,309],{"id":308},"what-you-can-build-with-rgs","What You Can Build With RGS",[10,311,312,313,316,317,320],{},"Because RGS handles both ",[13,314,315],{},"forward sequencing"," (what happens next) and ",[13,318,319],{},"retroactive adaptation"," (what should have happened), it opens up use cases that other tools struggle with:",[10,322,323,326,329],{},[13,324,325],{},"Conversational AI with memory and context manipulation",[327,328],"br",{},"\nBuild chatbots that can revise earlier questions, invalidate assumptions, and re-route based on real-time data changes.",[10,331,332,335,337],{},[13,333,334],{},"Dynamic product configurators",[327,336],{},"\nCreate configurators that adapt when inventory changes, prices update, or compatibility rules shift.",[10,339,340,343,345],{},[13,341,342],{},"Complex approval workflows",[327,344],{},"\nDesign multi-stage processes that re-route when stakeholders change, budgets shift, or requirements evolve.",[10,347,348,351,353],{},[13,349,350],{},"Adaptive onboarding and wizards",[327,352],{},"\nBuild user journeys that adjust based on verification results, user preferences, or external system states.",[10,355,356,359,361],{},[13,357,358],{},"Real-time decision engines",[327,360],{},"\nImplement business rule systems that continuously re-evaluate as conditions change.",[26,363],{},[29,365,367],{"id":366},"the-technical-foundation-what-makes-rgs-different","The Technical Foundation: What Makes RGS Different",[10,369,370],{},"Let me break down what separates RGS from other flow technologies:",[372,373,374,406],"table",{},[375,376,377],"thead",{},[378,379,380,386,391,396,401],"tr",{},[381,382,383],"th",{},[13,384,385],{},"Capability",[381,387,388],{},[13,389,390],{},"RGS",[381,392,393],{},[13,394,395],{},"Traditional Flow Builders",[381,397,398],{},[13,399,400],{},"State Machines",[381,402,403],{},[13,404,405],{},"Dataflow Languages",[407,408,409,429,448,467,486],"tbody",{},[378,410,411,417,420,423,426],{},[412,413,414],"td",{},[13,415,416],{},"Retroactive re-sequencing",[412,418,419],{},"✅ Native",[412,421,422],{},"❌ Not possible",[412,424,425],{},"⚠️ Limited (state transitions only)",[412,427,428],{},"❌ Forward-only",[378,430,431,436,439,442,445],{},[412,432,433],{},[13,434,435],{},"Visual logic gates",[412,437,438],{},"✅ Three edge types + priority",[412,440,441],{},"⚠️ Basic branching",[412,443,444],{},"❌ Code-based",[412,446,447],{},"⚠️ Data connections",[378,449,450,455,458,461,464],{},[412,451,452],{},[13,453,454],{},"Non-local state manipulation",[412,456,457],{},"✅ Push\u002FPull\u002FCall edges",[412,459,460],{},"❌ Linear only",[412,462,463],{},"❌ Local state",[412,465,466],{},"⚠️ Limited",[378,468,469,474,477,480,483],{},[412,470,471],{},[13,472,473],{},"Continuous re-evaluation",[412,475,476],{},"✅ Automatic",[412,478,479],{},"❌ Event-triggered",[412,481,482],{},"⚠️ Transition-based",[412,484,485],{},"✅ Reactive",[378,487,488,493,496,499,502],{},[412,489,490],{},[13,491,492],{},"No server required",[412,494,495],{},"✅ Pure frontend",[412,497,498],{},"❌ Cloud-based",[412,500,501],{},"✅ Can be local",[412,503,504],{},"⚠️ Varies",[10,506,507,510],{},[13,508,509],{},"RGS combines the visual simplicity of flow builders with the power of reactive programming and the expressiveness of state machines"," without requiring a backend.",[26,512],{},[29,514,516],{"id":515},"why-now","Why Now?",[10,518,519],{},"Visual programming has been \"almost there\" for decades. Flow builders handle simple automation well, but they break down when workflows need to adapt dynamically.",[10,521,522,525],{},[13,523,524],{},"RGS bridges that gap."," It gives you the expressiveness of code with the clarity of visual diagrams. It handles complexity without requiring you to write complex logic.",[10,527,528,531],{},[13,529,530],{},"Most importantly, it makes reactive, adaptive workflows accessible"," – not just to developers who can write custom state management code, but to anyone who can draw a graph.",[26,533],{},[29,535,537],{"id":536},"try-it-yourself","Try It Yourself",[10,539,540],{},"Wanderer is live and free to use. No signup, no installation. Open your browser, start building, and watch your graph come to life.",[10,542,543],{},[13,544,545],{},"See edges animate as the graph traverses. Watch nodes light up when they're active. Click any node to inspect its state in real-time.",[10,547,548],{},"The complexity of Reactive Graph Sequencing becomes intuitive when you can see it happen.",[26,550],{},[29,552,554],{"id":553},"conclusion","Conclusion",[10,556,557],{},"Reactive Graph Sequencing isn't just a new algorithm – it's a new way of thinking about workflows.",[10,559,560,563,564],{},[13,561,562],{},"Instead of asking \"what happens next?\"",", RGS asks ",[13,565,566],{},"\"what should be happening right now, given everything we know?\"",[10,568,569],{},"That subtle shift unlocks workflows that adapt, reconsider, and optimize themselves in real-time.",[10,571,572],{},[13,573,574],{},"Wanderer is the first tool built on this foundation. But RGS is bigger than any single implementation.",[10,576,577],{},"It's a technology for building systems that think in graphs and react to reality.",[26,579],{},[10,581,582,583],{},"Title image: ",[584,585,586],"a",{"href":586,"rel":587},"https:\u002F\u002Funsplash.com\u002Fde\u002Ffotos\u002Fflachwinkelfotografie-von-metallstrukturen-ZiQkhI7417A",[588],"nofollow",{"title":590,"searchDepth":591,"depth":591,"links":592},"",2,[593,594,595,596,597,598,599,600,601,602,603],{"id":31,"depth":591,"text":32},{"id":82,"depth":591,"text":83},{"id":110,"depth":591,"text":111},{"id":150,"depth":591,"text":151},{"id":213,"depth":591,"text":214},{"id":269,"depth":591,"text":270},{"id":308,"depth":591,"text":309},{"id":366,"depth":591,"text":367},{"id":515,"depth":591,"text":516},{"id":536,"depth":591,"text":537},{"id":553,"depth":591,"text":554},"md",{"date":606,"author":607,"headerImage":608},"2026-03-12","Chris","\u002Fimages\u002Fblog\u002Fnetwork.jpg",true,"\u002Fblog\u002Freactive-graph-sequencing-the-technology-behind-wanderer",{"title":5,"description":15},"blog\u002Freactive-graph-sequencing-the-technology-behind-wanderer","vAsoiqrLDAQnJawpl6LjNZ4hUb0QYRfqMiVZcQbZKs8",1776431643118]