Building an Event Planning Coordinator Agent in typescript with HazelJS A developer built an Event Planning Coordinator Agent in TypeScript using HazelJS, featuring multi-agent architecture, RAG-powered venue search, and intelligent logistics planning. The agent coordinates venue search, guest management, and logistics through specialized agents supervised by an EventManagerAgent, and includes production-ready features like error handling and retry logic. Planning an event—whether it's a birthday party, corporate meeting, or wedding—requires coordinating multiple moving parts simultaneously. From finding the right venue to managing guest lists, arranging logistics, and staying within budget, event planning is a complex orchestration challenge. In this post, we'll build an Event Planning Coordinator Agent using HazelJS that streamlines this process through intelligent venue search, guest coordination, and logistics planning. Event planners face several coordination challenges: Our agent will address these challenges using HazelJS's multi-agent architecture, RAG-powered venue search, and intelligent logistics planning. The Event Planning Coordinator Agent uses a multi-agent architecture where each agent specializes in a specific aspect of event planning: This separation allows each agent to focus on its specialty while the supervisor ensures smooth coordination between them. A critical component of event planning is finding the right venue. Our agent maintains a knowledge base of venues with metadata including: When an event planner asks about venues, the VenueSearchAgent uses semantic search to find suitable options based on their query. For example, a query like "Find indoor venues for 100 guests" would return venues that match those criteria, ranked by relevance. The RAG implementation uses HazelJS's RAGPipeline with a MemoryVectorStore for efficient semantic search: @Service export class EventKnowledgeBaseService { private readonly embeddings = new LocalEventEmbeddingProvider ; private readonly vectorStore = new MemoryVectorStore this.embeddings ; private readonly rag = new RAGPipeline { vectorStore: this.vectorStore, embeddingProvider: this.embeddings, topK: 3, } ; async answer query: string, topK = 3 { const sources = await this.search query, topK ; return { answer: sources.map source = source.content .join '\n\n' , sources: sources.map source = { id: source.id, score: Number source.score.toFixed 3 , type: source.metadata?.type, capacity: source.metadata?.capacity, pricePerHour: source.metadata?.pricePerHour, location: source.metadata?.location, amenities: source.metadata?.amenities, } , }; } } Managing guests is another complex aspect of event planning. The GuestCoordinatorAgent handles: The agent generates a comprehensive guest management plan including communication methods, estimated costs, and RSVP deadlines. This ensures no guest is forgotten and communication happens at the right times. The LogisticsPlannerAgent creates comprehensive logistics plans covering: The planner considers: The agent provides a detailed logistics timeline showing when each component should be arranged, along with cost breakdowns and category summaries. The EventManagerAgent uses HazelJS's supervisor routing to coordinate between the specialist agents. When an event planner makes a request, the supervisor analyzes the request and routes it to the appropriate specialist: The supervisor continues delegating until it has gathered enough information to provide a comprehensive event plan, then synthesizes the results into a cohesive recommendation. Despite being a demo, the agent includes production-ready features: The agent can be run with: npm install npm run build npm run dev The app runs on http://localhost:3000 with the HazelJS Inspector available at / hazel for real-time monitoring and debugging. You can test the agent with a curl request: curl -s -X POST http://localhost:3000/event/supervisor \ -H 'content-type: application/json' \ -d '{"message":"Planning a party for 50 guests, budget $5000, indoor venue. Plan my event.","userId":"event-planner-1"}' The agent will analyze your request, extract your event profile, search for suitable venues, coordinate guest management, plan logistics, and synthesize everything into a comprehensive event plan—all coordinated through the supervisor routing system. Complete Project : Event Planner Agent https://github.com/nisafatimaa/event-planning-coordinator-agent The Event Planning Coordinator Agent demonstrates several key HazelJS capabilities: This agent shows how HazelJS https://hazeljs.ai/ can be used to build practical, everyday applications that solve complex coordination problems while maintaining production-grade quality and reliability. The multi-agent approach makes it easy to extend the system with additional specialists like budget analyzers or timeline optimizers as needed.