Case Study 03

AI Business Assistant

Industry
Real Estate — Internal Operations
Platform
FastAPI + Make.com
Build time
~1 week
Service
AI Agent Implementation

Portfolio build — a complete, working system built and measured by Altus Initiatives to demonstrate this capability. Performance metrics below are measured from the build; agency-impact figures are projected for a representative brokerage.

The problem

Most AI assistants businesses encounter fall into one of two failure modes. The first is the generic chatbot — it can generate text fluently but has no connection to the business's actual data. Ask it about a listing, a client, or a transaction and it either guesses or says it doesn't know. The second is the over-engineered enterprise system — powerful but expensive, slow to deploy, and requiring a dedicated technical team to maintain.

Neither option serves the real estate agency that needs something in between: an AI assistant that can actually access and reason over real business data, integrate with the tools the team already uses, and operate reliably without constant supervision.

There is a further challenge that rarely gets addressed upfront: vendor lock-in. Businesses that build on a single AI provider are exposed to pricing changes, model deprecations, and capability gaps. A production-ready assistant needs the flexibility to adapt without rebuilding the underlying system.

The solution

A fully operational AI business assistant — connected to live business data, accessible through existing workflows, and built to answer real questions accurately — without requiring a technical team to maintain it. The system operates across two layers:

Layer 1 — Intelligence Backend

The core processing layer, handling all AI reasoning and data access:

  1. Multi-Provider AI — The assistant supports multiple AI providers as interchangeable backends. Provider selection is a runtime parameter, allowing the business to switch models without any changes to the underlying system — eliminating vendor dependency at the architecture level.
  2. Business Data Tools — The assistant has access to four data tools it invokes dynamically based on the query:
    • Contact and client lookup — searches the agency's contact database by name, company, or role
    • Listing and property lookup — retrieves listing details, status, and property information by query
    • Commission and fee calculator — evaluates financial expressions for on-the-fly deal calculations
    • Market and catalog data — queries available inventory and market data by category or description
  3. Session Memory — Conversations are tracked by session, with full context maintained independently per user. Multiple team members can use the assistant concurrently without their sessions interfering with each other.
  4. Cost Tracking — Every query logs token usage and cost at the point of execution, giving the business live visibility into AI spend and a baseline for optimization.

Layer 2 — Automation Integration Layer

The layer that connects the assistant to existing business workflows:

  • Incoming queries are received and forwarded to the intelligence backend automatically
  • Responses are evaluated and separated into high-priority and standard tracks
  • High-priority responses trigger an immediate team notification for human awareness
  • Every interaction — regardless of priority — is logged with the full response, session context, and per-call cost data

Results

Zero vendor dependency

For a brokerage team using this assistant daily, the operational impact is a reduction in the time agents spend searching for information across disconnected systems — listings, contacts, transaction data — and an increase in the time they spend acting on it.

  • Any team member can query live business data in plain language — no training required, no system to learn, no tab-switching between platforms.
  • Questions that previously required another person to answer are resolved in seconds: listing status, client details, deal calculations, contact information.
  • Cost is tracked and visible per interaction — AI spend is never a surprise, and optimization decisions are grounded in actual usage data, not estimates.
  • No vendor dependency — the business is not locked to a single AI provider. Switching providers requires changing one parameter, not rebuilding the system.
  • Priority awareness built in — high-stakes queries surface immediately to the relevant team member, with full context already attached.

Architecture

                    Automation Integration Layer
                            │
              Incoming Query (message + session ID)
                            │
                            ▼
                    Forward to Intelligence Backend
                            │
                            ▼
┌───────────────────────────────────────────────────────┐
│              Intelligence Backend                     │
│                                                       │
│   Receive Query                                       │
│         │                                             │
│         ▼                                             │
│   Session Memory Lookup                               │
│         │                                             │
│         ▼                                             │
│   AI Model (provider-agnostic)                        │
│         │                                             │
│         ├── Tool: Contact & Client Lookup             │
│         ├── Tool: Listing & Property Lookup           │
│         ├── Tool: Commission & Fee Calculator         │
│         └── Tool: Market & Catalog Data               │
│         │                                             │
│         ▼                                             │
│   Response + Token Usage + Cost Estimate              │
│         │                                             │
│         ▼                                             │
│   Session Memory Update                               │
└───────────────────────────────────────────────────────┘
                            │
                            ▼
                 Response received by Integration Layer
                            │
                            ▼
                     Priority Evaluation
                            │
              ┌─────────────┴─────────────┐
              ▼                           ▼
      High Priority                  Standard
              │                           │
              ▼                           │
   Team Notification                      │
   (full context)                         │
              │                           │
              └───────────┬───────────────┘
                          ▼
               Interaction Log
          (response, session, provider,
           tokens, cost, timestamp)

Full architecture documentation available upon engagement.

Tech stack

ComponentTool
Backend frameworkFastAPI (Python)
AI providersOpenAI GPT-4o mini, Anthropic Claude Haiku
Tool executionCustom Python tool handlers
Session memoryPer-session JSON store
Automation layerMake.com
Priority routing and loggingMake.com
Team notificationsSlack
Interaction and cost loggingGoogle Sheets

Key design decisions

Multi-provider architecture from day one. The system treats AI providers as interchangeable backends rather than a fixed dependency. Provider selection is a runtime parameter, not a hardcoded configuration. If pricing changes, a model is deprecated, or a better option emerges, switching requires changing one parameter — not rebuilding the system. For a business making a long-term investment in AI infrastructure, this is not optional.

System prompt as tool authority. The data tools work reliably because the system prompt gives the model explicit, authoritative instructions on how to invoke them — the correct query format, available fields, and how to interpret results. Vague tool descriptions produce unreliable tool selection. Precise, authoritative descriptions produce consistent behavior. This is a non-negotiable design principle applied across every tool-use implementation Altus builds.

Session memory by ID, not by user. Conversations are stored by session ID rather than authenticated user identity. This keeps the backend stateless — the caller manages continuity by passing the same ID across turns. It scales horizontally without shared state and supports concurrent sessions without coordination overhead. For a team of agents using the assistant simultaneously, this matters.

Cost tracking as a first-class feature. Every API call logs token consumption and cost at the point of execution. Production AI systems that don't track costs routinely exceed budget without warning. Logging cost per call gives the operator a live view of spend and a baseline for optimization. This is built into every Altus system from day one — not added when a bill arrives that surprises someone.

Intelligence and integration as separate layers. The AI processing lives entirely in the backend. The automation layer handles orchestration — receiving requests, routing responses, sending alerts, logging data. This separation means the AI logic can be tested, versioned, and improved independently of the automation platform, and the integration layer stays simple and maintainable.

Production considerations

Two implementation details in this build are scoped for initial deployment and are upgraded in full production engagements:

  • Calculator tool: The initial implementation uses a standard expression evaluator. Production deployments use a sandboxed math library to eliminate any code injection exposure — a non-negotiable security upgrade for client-facing or multi-user environments.
  • Prompt caching: Not implemented in this version. For high-volume deployments where the system prompt is large and consistent across calls, prompt caching delivers up to 90% cost reduction on repeated reads — a natural optimization added during the retainer phase once usage patterns are established.

Want a system like this in your agency?

This is the same architecture we build for clients. The first step is a 30-minute discovery call — no pitch, no commitment.

Book a discovery call

View all case studies