Context before action
Property, date range, role and sources define the scope of the work. Memory and history retrieval preserve continuity through long conversations.
I’m Edoardo Caldari. I build AI agents and the systems that make them work. At Brainy, I developed Eddie, from the agent to its orchestration.
From problem to product, one iteration at a time.
A model opens a possibility.
A system brings it into the world.
01 / FEATURED PROJECT
I built Eddie and its entire agent orchestration system myself. Within Brainy, the assistant connects hotel data to revenue management decisions and operations.
Discover Brainy“How could we adjust
our pricing strategy?”
An example pricing workflow. Simulations produce estimates to assess.
FROM AGENT TO PRODUCT
I designed and built the agent, its tools and their orchestration: data access, specialist delegation, memory and operational workflows. Eddie’s work takes shape within the Brainy product and its integrations.
INSIDE EDDIE
From conversation to the tools of hotel operations. Six perspectives on the system I built.Open a topic to explore it.
Eddie queries KPIs, bookings and occupancy, compares channel and booking engine rates, and analyzes reviews and feedback. Dedicated research agents investigate competitors and local events, with supporting sources.
Reads stay within authorized properties and available sources. Public reviews and private surveys remain separate.
It simulates a different pricing strategy without changing prices. In dedicated workflows, it checks alerts against current data and suggests priorities from the available portfolio summary, including when the analysis points to leaving things as they are.
A simulation is an estimate. A proposal does not mean a change has been applied.
Operational tools update prices and strategies across dates and room types. Restriction changes follow a preview, confirmation and outcome verification workflow. Onboarding loads tools specific to the connected property management system.
Permissions, context and integration support determine which actions are available.
Persistent memory for facts and instructions, retrieval of earlier conversations and compaction of long dialogues. Relevant context carries through the work, and outdated information can be corrected.
History retrieval respects the authorized scope. An earlier conversation does not grant new permissions.
It generates charts, HTML reports and interactive content that can be updated within the conversation. In dedicated workflows, it drafts emails and offers, reconciling rates against available sources and prioritizing live booking engine prices.
Generation, review and delivery workflows depend on the content type and enabled integrations.
Scheduled checks read the data again when due, reach a conclusion and deliver the result. Frequency, time zone and property are part of the task; authorization is checked again at execution time.
These autonomous checks use read-only tools: they do not change rates while the user is away.
These capabilities are part of Eddie’s implementation. Availability depends on role, context, integrations and enabled features.
02 / HOW I THINK ABOUT SYSTEMS
I’m interested in how the components work together: what an agent knows, what it can do and how we tell whether it did the job well.
Property, date range, role and sources define the scope of the work. Memory and history retrieval preserve continuity through long conversations.
A central agent uses structured tools and delegates specialist research when needed. Reads, simulations and writes have different purposes and controls.
Validated schemas, tests and evaluations, previews and outcome checks. When a write has an uncertain result, the next step is to read the state again before retrying.
MY BACKGROUND / FROM DOMAIN TO CODE

My background is in hotel management and the study of how data, forecasting and technology change hotels’ day-to-day decisions.
At Ca’ Foscari, I studied the impact of the Internet on the hotel industry and compared forecasting models for revenue management. With Brainy and Eddie, that interest takes shape in agentic AI applied to hospitality.
03 / ARCHITECTURE & TECHNICAL CHOICES
I built Eddie around a central agent: it selects tools, retrieves context and delegates specific tasks. Explore the decisions that give its work structure.
01 / CONTEXT ENGINEERING
Current context and persistent memory work together. Facts, instructions and earlier conversations help Eddie resume a task within its scope.
THE DECISIONKeep the work moving without carrying the full history into the prompt.
02 / TOOL ORCHESTRATION
Eddie accesses the product through structured tools. The schema defines the inputs; context determines which tools it can use and for which properties.
THE DECISIONMake explicit what the model can ask the system to do and how to interpret its response.
03 / SPECIALIST AGENTS
Eddie remains the user’s point of contact and can delegate web research. Other specialist agents operate in dedicated product workflows.
THE DECISIONDefine each specialist’s goal, tools and output around the problem.
04 / RELIABILITY
In the restrictions workflow, preview and confirmation come before application. The result returns to the system so it can establish what actually happened.
THE DECISIONTreat an uncertain result as something to verify before retrying a write.
EDDIE’S TECHNOLOGIES
Each component has a clear responsibility: expose the product, give the model tools, preserve context and make the work verifiable.
ITS ROLEAsynchronous APIs and incremental delivery of responses and tool progress to the client.
WHYHandle waiting on models and external services while keeping streaming and typed contracts in the same Python backend.
ITS ROLEAgent definition, dependencies, tools and structured outputs. MCP toolsets for enabled integrations.
WHYTypes, validation and dependency injection make the boundary between the model and application code explicit.
ITS ROLEAccess to models through APIs and adapters that connect inference to instructions, schemas and application tools.
WHYEvolve the runtime while sharing the implementation of tools and their controls.
ITS ROLEConversations, persistent memory, operational state and processing checkpoints.
WHYA document structure that maps to the hotel domain, with transactions to handle concurrent updates and shared state.
ITS ROLEQueries over analytical data that support comparisons, KPIs and revenue management analysis.
WHYKeep SQL analysis separate from conversation state and query the data relevant to the question.
ITS ROLEApplication services, durable queues for scheduled checks and triggers for onboarding workflows.
WHYSeparate interactive requests from deferred work; use queues, checkpoints and idempotency keys to recover interrupted processing.
ITS ROLERun tracing, turn metrics, deterministic tests and response evaluation.
WHYInvestigate latency and errors, and separately evaluate correct tool use and response quality.
The tool catalog stays part of the product. Application tools are prepared and validated through PydanticAI. Adapters connect the runtime and the application by reusing the same contracts.
Technologies and roles verified in the implementation. Active execution paths depend on the product configuration.
04 / HUMAN CONNECTIONS
Agents, products, ideas to put to the test.
This is where we connect.