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
The Event Planning Coordinator Agent demonstrates several key HazelJS capabilities:
This agent shows how HazelJS 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.