Personalization Use Cases

Situational Awareness

You can enable agents to understand and respond intelligently to the user’s current environment, activity, and context.

By combining Fastino’s personalization memory with live contextual signals (device, time, location, calendar, or tone), assistants can act appropriately to the user’s moment — not just their history.

Overview

Situational awareness gives your agents the ability to:

  • Adapt behavior to the user’s current state (busy, traveling, resting).

  • Adjust tone, response length, or focus based on conditions.

  • Manage interruptions intelligently using temporal and environmental context.

  • Prioritize relevance — suggesting only what makes sense right now.

Fastino acts as the grounding layer that combines static personalization (traits, tone, world model) with dynamic inputs from connected systems or real-time sensors.

Key Components

Component

Description

Example

Temporal Context

Awareness of time, day, and recency of prior events.

“It’s Monday morning; Ash is likely in focus mode.”

Spatial Context

Awareness of location, timezone, or environment.

“User is currently in London; adjust meeting times.”

Device Context

Adjusts interactions based on device type or session mode.

“Shorter responses on mobile; long form on desktop.”

Activity State

Understands what the user is doing or working on.

“User editing a doc — hold non-urgent notifications.”

Emotional or Cognitive State

Infers stress, fatigue, or energy from patterns.

“User skipped 3 morning meetings — possibly fatigued.”

Example: Inferring Context from Ingested Events

Agents can feed contextual signals from different sources into Fastino for future reference:

POST /ingest
{
  "user_id": "usr_42af7c",
  "source": "calendar",
  "events": [
    {
      "event_id": "evt_focus_block",
      "type": "calendar_event",
      "timestamp": "2025-10-27T09:00:00Z",
      "metadata": { "duration": "120m", "title": "Deep Work" },
      "content": "User scheduled deep work session — high focus mode."
    },
    {
      "event_id": "evt_mobile_login",
      "type": "device_state",
      "timestamp": "2025-10-27T17:30:00Z",
      "metadata": { "device": "iPhone", "location": "London" },
      "content": "User logged in via mobile."
    }
  ]
}

These events inform the world model for adaptive behavior.

Example: Querying for Current Situational State

POST /query
{
  "user_id": "usr_42af7c",
  "question": "What is Ash’s current situational context?"
}

Response

{
  "answer": "Ash is in focus mode and logged in from mobile in London. Likely commuting or working asynchronously — suggest shorter responses."
}

Agents can now tailor interactions accordingly.

Example: Retrieving Situational Summary

Response

{
  "summary": "Ash is working from London today, currently in deep-focus mode with limited availability. Uses mobile device for brief updates; prefers async interactions until 2 PM local time."
}

This summary can be injected into prompts or scheduling logic to ground real-time decisions.

Real-Time Adaptation Scenarios

Context Type

Adaptive Response

Device Change (Mobile → Desktop)

Expand context and verbosity; enable longer interactions.

Travel / Timezone Shift

Recalculate meeting and reminder windows.

Calendar Busy Period

Suppress non-critical tasks until after focus window.

Stress Signal Detected

Switch to supportive, minimal-cognitive-load messaging.

Quiet Hours

Delay proactive actions until next available window.

Example: Integrating Situational Awareness into Agents

Agents can fetch the current context before performing an action:

def should_notify_user(user_id):
    context = requests.get(
        f"{BASE_URL}/summary?user_id={user_id}&purpose=situation",
        headers=HEADERS
    ).json()["summary"]
    return "available" in context or "idle" in context

This allows systems to suppress or delay notifications automatically during busy or offline states.

Combining Situational Data with Personalization

Situational context complements long-term personalization:

Layer

Focus

API Endpoint

World Model (Stable)

Identity, goals, tone, reasoning patterns

/summary

Situational Context (Dynamic)

Device, time, emotional or physical state

/query, /summary?purpose=situation

Feedback Layer (Adaptive)

User corrections and outcomes

/ingest (event feedback)

This architecture allows a unified agent memory that evolves continuously.

Example: Proactive Context Check

POST /query
{
  "user_id": "usr_42af7c",
  "question": "Is now a good time to send Ash proactive reminders?"
}

Response

{
  "answer": "Ash is currently in a focus block until 2 PM; defer reminders until after that period."
}

Agents can use this context to defer actions transparently and respectfully.

Integration in Agent Architectures

Component

Function

Example

Context Monitor

Streams live signals from tools (calendar, location).

Ingests updates every 15 minutes.

Decision Engine

Evaluates if user is interruptible.

Delays messages during focus sessions.

Response Generator

Adapts tone and length.

“Keep reply under 30 words on mobile.”

Memory Sync

Updates world model after new situations arise.

“Ash switched timezone — update routines.”

Example Implementation (Python)

import requests

BASE_URL = "https://api.fastino.ai"
HEADERS = {"Authorization": "x-api-key: sk_live_456", "Content-Type": "application/json"}

def get_situation_summary(user_id):
    r = requests.get(f"{BASE_URL}/summary?user_id={user_id}&purpose=situation", headers=HEADERS)
    return r.json()["summary"]

def query_situation(user_id, question):
    payload = {"user_id": user_id, "question": question}
    r = requests.post(f"{BASE_URL}/query", json=payload, headers=HEADERS)
    return r.json()["answer"]

# Example usage
print(get_situation_summary("usr_42af7c"))
print(query_situation("usr_42af7c", "Is Ash available for a meeting now?"))

Use Cases

Use Case

Description

Scheduling Assistants

Adjust meeting times based on current focus or travel.

Notification Systems

Deliver alerts only when user is available.

Personalized Copilots

Adapt tone and verbosity to the user’s environment.

Wellness & Productivity Tools

Infer fatigue and recommend breaks.

Proactive Agents

Decide when to act based on real-time situational data.

Best Practices

  • Always combine dynamic situational context with static user preferences.

  • Keep summaries lightweight (<1 KB) for fast retrieval.

  • Timestamp all situational data to avoid stale context.

  • Use dedicated purpose=situation summaries for real-time queries.

  • Delete transient device data periodically for privacy.

  • Integrate transparency: show users what situational context is being used.

Example: Deterministic Situational Summary

Response

{
  "summary": "Ash is currently on mobile, between meetings, and prefers asynchronous responses. Suggest text-based follow-ups instead of calls until 3 PM local time."
}

This summary can be passed into your agent’s prompt or planning layer to ensure time- and context-aware behavior.

Summary

The Situational Awareness use case allows your agents to sense and adapt to the moment.
By combining real-time context with long-term personalization, Fastino enables assistants to act appropriately, respectfully, and intelligently — responding to who the user is and where they are right now.

Next, continue to Personalization Use Cases → Personalized Retrieval to explore how Fastino fetches user-specific memory snippets for grounding reasoning and conversation.

On this page