Inspiration

PlanWeaver was inspired by a real, complex planning problem. My wife and I are organizing a trip to Japan with her family to attend her brother’s wedding. Some family members are based in Canada, others in the Philippines, and the group spans different ages, budgets, mobility needs, and personal priorities.

Very quickly, planning stopped being about finding places to visit and became a coordination problem: aligning constraints, reconciling preferences, and making decisions everyone could stand behind. That experience led to the idea of building PlanWeaver — not as an itinerary generator, but as an agentic planning system designed to support long-running, collaborative decision-making.


What I Learned

I learned that meaningful planning rarely happens in a single session. With multiple people involved, decisions unfold over time as participants join at different moments, introduce new constraints, and react to evolving proposals.

Travel planning is not just information retrieval — it is a temporal process involving iteration, negotiation, and convergence. Static tools fail because they assume everyone is present, aligned, and ready to decide at once. In reality, planning requires an agent that can persist, adapt, and continue reasoning as new input arrives.

This led me to design PlanWeaver around the idea of a marathon agent — one that runs continuously until the group reaches a majority-backed decision.


How I Built the Project

PlanWeaver is implemented as a long-running, agent-driven planning workflow.

Instead of a one-shot prompt-response interaction, the system operates as a marathon agent that stays active over time. The host establishes initial intent and constraints (dates, budget ranges, pacing, must-sees), after which planning agents begin generating and evaluating plan variants in the background.

These agents:

  • reason over constraints and preferences
  • generate multiple competing plan variants
  • critique trade-offs between options
  • explain why one plan better satisfies group goals than others

Participants can join the planning room asynchronously. As collaborators arrive, they review plans, suggest changes, and vote. Accepted suggestions trigger re-planning, allowing the agents to adapt their reasoning and regenerate plans that reflect the updated group state.

The agent continues running until a majority consensus is reached. At that point, the system finalizes the selected variant and produces a detailed, operational itinerary focused on execution rather than exploration.

In this way, PlanWeaver behaves less like a tool and more like a persistent planning participant — proposing, evaluating, revising, and converging alongside the group over time.


Challenges I Faced

One major challenge was designing prompts and system structure that encouraged iterative reasoning and critique, rather than generic content generation. The agent needed to consistently justify decisions and explain why alternatives were weaker.

Another challenge was managing agency over time. Because the system runs as a marathon agent, it had to handle partial participation, delayed feedback, and evolving constraints without losing coherence or overriding human intent.

Finally, deciding which features to exclude was difficult. I intentionally avoided building a feature-heavy travel app and instead focused on the core agentic loop:

intent → proposal → critique → revision → voting → convergence → execution

Built With

Share this project:

Updates