Real AI agent use cases, with sources and setup prompts

How to set up local AI security cameras with Frigate, Ollama and Home Assistant (no cloud)

Short answer: Install Frigate (free, open source) with Docker on a small Linux box, add your cameras' RTSP streams, and let it detect people, cars and animals on the box itself. Then point Frigate at Ollama running a vision model such as qwen3-vl so it writes a plain-English summary of each event ("Person left a package at the front door") without any video leaving your home. Connect it to Home Assistant with the Frigate integration from HACS for alerts and automations. Typical cost: $0 for software, an Intel mini PC for detection, and a GPU or Apple silicon Mac if you want the AI summaries to be fast. Frigate+ ($50/yr) is optional.

Real setups: a landlord whose camera reads boiler error codes before the house gets cold, a local AI baby monitor that checks a camera feed against safety rules, and agents that found strangers' cameras on a home network and an exposed doorbell camera in an Airbnb. 5 matching use cases below, each with a public source.

Looking for something else? Search all 1965 use cases or .

What you need

ToolWhat it does herePriceLink
FrigateOpen-source NVR that records your cameras and detects people, cars, animals and more in real time on your own hardware. 0.17 added AI review summaries; 0.18 (Sept 2026) added setup in the web UI and a GenAI chat. Run 0.18.2 or later for its security fixes.Free (MIT)Official site
OllamaRuns the vision model (for example qwen3-vl) that writes event summaries and object descriptions, locally.FreeOfficial site
Home AssistantSmart-home hub. The Frigate integration adds camera entities, event sensors, clips and snapshots for alerts and automations.Free (Home Assistant Cloud optional)Official site
Frigate integration (HACS)Official Home Assistant integration for Frigate, installed through the HACS community store. Needs the MQTT integration.FreeOfficial site
Docker EngineRuns Frigate. Frigate's docs recommend Docker on bare-metal Debian rather than a VM.FreeOfficial site
Frigate+Optional detection models trained on real security-camera footage, with package, delivery-logo and wildlife labels, plus up to 12 models fine-tuned on your own images.$50/yrOfficial site
Intel mini PC, Coral or Hailo-8Detection hardware. Intel built-in graphics with the OpenVINO detector is enough for many homes; a USB/PCIe Google Coral or Hailo-8/8L also works.Varies; mini PCs often $150-$300Official site
TailscaleView Frigate and Home Assistant from your phone without opening ports to the internet.Free Personal planOfficial site

Prices are from each official page, checked Oct 28, 2026; they exclude tax and can change. Swipe the table sideways on a phone.

Install Frigate and get local object detection

About 1-2 hours. Needs a Linux machine (Debian or Ubuntu) with Docker Engine and at least one camera with an RTSP stream. Nothing here uses the cloud.

  1. Find your camera's RTSP addresses. Turn on RTSP in the camera's app or web page and note the main stream and the substream (low resolution). The exact path differs by brand; search '<brand> <model> rtsp url'. Test it on another computer with VLC (Media > Open Network Stream) before going further.
  2. Create the folders. On the Linux box:
    shell
    mkdir -p ~/frigate/config ~/frigate/storage
    cd ~/frigate
    nano docker-compose.yml
  3. Write docker-compose.yml. This is Frigate's starter file plus the device line for an Intel/AMD GPU. Remove the devices you don't have.
    yaml
    services:
      frigate:
        container_name: frigate
        restart: unless-stopped
        stop_grace_period: 30s
        image: ghcr.io/blakeblackshear/frigate:stable
        shm_size: "512mb"   # raise for many or high-res cameras
        devices:
          - /dev/dri/renderD128:/dev/dri/renderD128  # Intel/AMD GPU
          # - /dev/bus/usb:/dev/bus/usb              # USB Coral
        volumes:
          - ./config:/config
          - ./storage:/media/frigate
          - type: tmpfs   # 1GB in-memory cache for recording segments
            target: /tmp/cache
            tmpfs:
              size: 1000000000
        ports:
          - "8971:8971"   # web UI (login required)
          - "8554:8554"   # RTSP restream
  4. Start Frigate and get the admin password. Frigate creates an admin user on first start and prints the password in the log.
    shell
    docker compose up -d
    docker logs frigate 2>&1 | grep -i password
    # open https://YOUR-SERVER-IP:8971 and log in as admin

    Your browser will warn about the self-signed certificate on first visit; that's expected on your own network.
  5. Add cameras and a detector. Use Settings > Global configuration > Camera management > Add Camera for a guided setup, or edit config/config.yml directly. This example uses Intel's built-in graphics for detection, the substream for detection and the main stream for recording:
    yaml
    mqtt:
      enabled: False        # turn on later for Home Assistant
    
    detectors:
      ov:
        type: openvino
        device: GPU         # Intel integrated graphics
    
    model:
      width: 300
      height: 300
      input_tensor: nhwc
      input_pixel_format: bgr
      path: /openvino-model/ssdlite_mobilenet_v2.xml
      labelmap_path: /openvino-model/coco_91cl_bkgr.txt
    
    cameras:
      front_door:
        ffmpeg:
          hwaccel_args: preset-vaapi
          inputs:
            - path: rtsp://USER:PASS@192.168.1.50:554/sub   # low-res substream
              roles: [detect]
            - path: rtsp://USER:PASS@192.168.1.50:554/main  # full-res stream
              roles: [record]
        detect:
          enabled: True
        record:
          enabled: True
        objects:
          track: [person, car, dog, cat]

    Restart with docker compose restart. For a USB Coral use a detector with type: edgetpu and device: usb instead. Then draw motion masks over timestamps and trees under Settings > Camera configuration > Masks / Zones.

Add local AI summaries and plain-English search with Ollama

About 30 minutes on top of path 1. Needs Frigate 0.18 or later and a machine with a GPU (8GB VRAM fits most 7B 4-bit vision models) or an Apple silicon Mac running Ollama. Frigate's docs advise against running these models on CPU.

  1. Pull a vision model and expose Ollama to your network. Frigate won't download the model itself, and it runs in Docker, so it can't use localhost to reach Ollama on another machine.
    shell
    # On the machine with the GPU or Apple silicon Mac:
    ollama pull qwen3-vl:4b
    
    # Let Frigate (in Docker, on another box) reach Ollama:
    # macOS app: launchctl setenv OLLAMA_HOST 0.0.0.0, then restart Ollama
    # Linux service: sudo systemctl edit ollama  ->  add
    #   [Service]
    #   Environment="OLLAMA_HOST=0.0.0.0"
    #   Environment="OLLAMA_NUM_PARALLEL=1"
    # then: sudo systemctl restart ollama
    
    curl http://OLLAMA-IP:11434/api/tags   # should list qwen3-vl:4b
  2. Point Frigate at Ollama and turn on summaries. Add this to config/config.yml (or use Settings > Enrichments > Generative AI). Adding the provider alone does nothing: review summaries and object descriptions are turned on separately.
    yaml
    genai:
      local_vision:
        provider: ollama
        base_url: http://OLLAMA-IP:11434   # not localhost: Frigate runs in Docker
        model: qwen3-vl:4b
        roles: [descriptions, chat]        # leave embeddings to semantic search
        provider_options:
          keep_alive: -1
          options:
            num_ctx: 8192
    
    review:
      genai:
        enabled: True        # summaries for alerts
        detections: False    # set True to summarize detections too
    
    objects:
      genai:
        enabled: True        # per-object descriptions for search
        objects: [person, car]
    
    semantic_search:
      enabled: True          # needs 8GB+ RAM, AVX2 CPU
      reindex: False

    Restart Frigate. Use 'Refresh models' in Settings > Enrichments > Generative AI to check Frigate can reach Ollama. Existing events need a one-time Reindex for semantic search.
  3. Tell it what's normal at your house. The summaries include a threat level from 0 to 2. Describe your household's routine so a dog walker or the cleaner doesn't get flagged. Keep it general; overly specific rules skew results.
    yaml
    review:
      genai:
        activity_context_prompt: |
          ### Normal Activity Indicators (Level 0)
          - Our family, our dog (a black lab) and our car (grey SUV) at any time
          - Mail and package deliveries 7 AM - 9 PM
          - The cleaner on Tuesdays 9 AM - 1 PM
          - People on the sidewalk who don't come up the driveway
          ### Suspicious Activity Indicators (Level 1)
          - Anyone trying car or house door handles
          - Unknown person in the driveway or backyard 11 PM - 5 AM
          - Someone picking up a package that was just delivered
          ### Critical Threat Indicators (Level 2)
          - Forced entry, visible weapons, or someone climbing the back fence
  4. Search your footage in plain English. Open Explore and type what you're looking for, for example 'person carrying a box to the side gate' or 'white van in the driveway'. Click a result's 'Find similar' to see every other time that object appeared.

Get smart alerts in Home Assistant and on your phone

About 30 minutes. Needs Home Assistant with the MQTT integration and an MQTT broker (for example the Mosquitto add-on).

  1. Connect Frigate to the same MQTT broker. Frigate and Home Assistant must use the same broker for most Frigate entities to work.
    yaml
    mqtt:
      enabled: True
      host: 192.168.1.10              # your Home Assistant / MQTT broker
      user: frigate
      password: "{FRIGATE_MQTT_PASSWORD}"  # set FRIGATE_MQTT_PASSWORD in compose env
  2. Install the Frigate integration. From HACS, then add it under Devices & services:
    text
    Home Assistant > HACS > search "Frigate" > Download > restart Home Assistant
    Settings > Devices & services > Add integration > Frigate
      URL: http://FRIGATE-IP:5000  (internal port)  or  https://FRIGATE-IP:8971 (login)

    Media source must be enabled in Home Assistant for clips to show in the Media Browser. For an AI agent that controls Home Assistant, see our Home Assistant agent guide.
  3. Or use Frigate's own push notifications. Frigate can send browser push notifications that already include the AI title and short summary. It needs HTTPS, a signed-in Frigate user and a supported browser (Chrome, Firefox or Safari). Push messages go through the browser vendor's push service.
    yaml
    notifications:
      enabled: True
      email: "you@example.com"
      cooldown: 10   # seconds between notifications from any camera
  4. Check alerts away from home without opening ports. Install Tailscale on the Frigate box and your phone and open https://FRIGATE-TAILSCALE-NAME:8971. Don't port-forward 5000 or 8971 on your router.

Copy-paste prompts

Written for this setup. Replace anything in [brackets] before you send it.

1. Write my Frigate config

Before path 1 step 5, in Claude, ChatGPT or any coding agent.

Write a Frigate 0.18 config.yml for me. Hardware: [mini PC model / CPU], detector: [Intel GPU with OpenVINO / USB Coral / Hailo-8 / CPU]. Cameras:
- [name]: [brand/model], main stream [rtsp url with USER:PASS placeholders], substream [rtsp url]
- ...
Use the substream for detect and the main stream for record, track [person, car, dog, package], keep recordings for [N] days, and add hwaccel_args for my hardware. Explain every section in one line and flag anything you're unsure of instead of guessing an option name. Point me to the Frigate docs page for each option.

2. Find my camera's RTSP URL

You don't know the stream address.

I have a [brand] [model] camera, firmware [version], at IP [192.168.x.x]. What are the RTSP URLs for its main stream and substream, which port does it use, and where in its app or web page do I enable RTSP? If the format differs by firmware, give me each option and a VLC test for each. Tell me if this model has no local RTSP stream at all.

3. Write my 'what's normal here' prompt

Path 2 step 3.

Help me write a Frigate review activity_context_prompt with three sections: Normal Activity Indicators (Level 0), Suspicious Activity Indicators (Level 1) and Critical Threat Indicators (Level 2). About my home: [who lives here, pets, cars], regular visitors [cleaner, gardener, dog walker with days and times], which cameras see public areas like the sidewalk, and what I actually want to be woken up for: [list]. Keep each rule short and general enough that it won't misfire, and output valid YAML I can paste under review.genai.

4. Fix Frigate when it isn't working

Errors, high CPU or no detections.

My Frigate isn't working. Symptoms: [no detections / high CPU / 'Bus error' / camera offline / no AI summaries]. Here is my docker-compose.yml and config.yml with passwords removed: [paste]. And the last 50 lines of `docker logs frigate`: [paste]. Find the most likely cause, give me the exact change, and tell me how to confirm it worked. Check shm_size, detector and hwaccel settings, stream roles, the Ollama base_url (Frigate runs in Docker, so localhost won't reach another machine), and whether review.genai or objects.genai is actually enabled.

5. Build a Home Assistant automation from Frigate events

After path 3, in any AI chat or an agent connected to Home Assistant.

Write a Home Assistant automation in YAML that uses my Frigate integration. Camera: [front_door]. When a [person] is detected in zone [porch] between [10 PM and 6 AM], turn on [light.porch] for 5 minutes and send a notification to [mobile_app_my_phone] with the snapshot. Don't notify again for 10 minutes. Use only entities and triggers you can confirm exist in the Frigate integration; if you're unsure of an entity name, tell me how to look it up in Developer tools instead of guessing.

6. Audit my camera network

Any time, especially after adding a camera.

Here's my network layout: router [model], cameras [list with IPs], Frigate server [IP], Home Assistant [IP]. Give me a step-by-step plan to (1) put the cameras on their own VLAN or block their internet access, (2) check which of them still try to reach outside servers, (3) change default passwords and update firmware, and (4) make sure Frigate's ports 5000 and 8971 aren't reachable from the internet. Give me the exact commands to test each step from a laptop on my network.

7. Read a display or gauge with a camera

You want a camera to watch a boiler, meter or appliance.

I want to use a Frigate camera pointed at [my boiler display / a water meter / a gauge] to read its value or error code and alert me in Home Assistant. Compare these options and give me the setup for the best one: (a) a Frigate object prompt for that camera, (b) a Home Assistant automation that grabs a snapshot every [N] minutes and sends it to Ollama with a vision model, (c) a small script. Include the exact prompt to send to the model and what to do when it can't read the display.

Safety checklist

Related guides: How to connect an AI agent to Home Assistant · How to check if your devices are spying on you with AI · How to run a private ChatGPT at home on your own computer (Ollama + Open WebUI) · How to take your robot vacuum off the cloud with AI · How to set up a Jellyfin media server with AI help (free Plex alternative): Docker, hardware transcoding, remote access

What it costs

The Daily 5

Get five new use cases like these tomorrow morning

Five new real AI use cases every morning. Free. Unsubscribe any time.

Real examples (5)

Personal & lifeX · @xinc3s

Map your home network and find cameras that aren't yours

xinc3s says Claude Opus 5.5 built a 3D model of his home from one prompt in about 20 minutes and found two cameras that weren't his, both still sending data out. He notes a professional bug sweep for an average US home runs $1,500 to $6,000, per one firm's price page.

See pricing page20 minIntermediate
Claude Code

Common questions

How do you set up local AI security cameras with Frigate, Ollama and Home Assistant (no cloud)?
Install Frigate (free, open source) with Docker on a small Linux box, add your cameras' RTSP streams, and let it detect people, cars and animals on the box itself. Then point Frigate at Ollama running a vision model such as qwen3-vl so it writes a plain-English summary of each event ("Person left a package at the front door") without any video leaving your home. Connect it to Home Assistant with the Frigate integration from HACS for alerts and automations. Typical cost: $0 for software, an Intel mini PC for detection, and a GPU or Apple silicon Mac if you want the AI summaries to be fast. Frigate+ ($50/yr) is optional.
Does Frigate need the cloud or a subscription?
No. Frigate runs entirely on your own hardware and is free and open source. Frigate+ is an optional $50/yr subscription for better detection models. AI summaries can run on Ollama locally, so video never leaves your network. The only outbound traffic you need is for updates, one-time model downloads and, if you turn them on, push notifications.
What hardware do I need for Frigate?
A Debian or Ubuntu machine with Docker. Frigate's docs say an Intel CPU's built-in graphics running the OpenVINO detector is enough for many homes, which makes an Intel N100-class mini PC a common choice. A Google Coral or Hailo-8 accelerator also works. Semantic search needs at least 8GB of RAM, and the AI summaries need a GPU or Apple silicon Mac running Ollama.
Which AI model should I use for camera summaries?
Frigate's docs recommend vision models such as qwen3-vl (for example qwen3-vl:4b), with gemma4 as an alternative. It must be a vision model. If you want one model to serve both Frigate and Home Assistant's assistant, qwen3-vl supports both vision and tool calling in Ollama.
Can AI tell me what actually happened, not just 'person detected'?
Yes. With review summaries on, Frigate sends frames from each event to your model and saves a title, a short summary for notifications, a scene description and a threat level from 0 to 2. You can tell it what is normal for your home (for example, dog walkers or a 7 AM cleaner) so it stops flagging routine activity.
Can I search my footage in plain English?
Yes. Turn on semantic search and you can search the Explore view for things like 'red car in the driveway' or 'person carrying a ladder'. It uses local Jina CLIP models, needs 8GB+ RAM, and older events must be reindexed once.
Is it legal to record with AI cameras?
It depends on where you live. Many places restrict recording audio, pointing cameras at neighbors' property or public areas, and recording guests or tenants without notice. Check your local rules, and keep cameras on your own property.
Do my existing Ring or Nest cameras work?
Only cameras that offer a local RTSP stream work directly. Many Reolink, Amcrest, Hikvision, Dahua, Tapo and Unifi cameras do. Ring and most Nest cameras don't provide a local stream.
Which AI tools do people use to set up local AI security cameras with Frigate, Ollama and Home Assistant (no cloud)?
Across the 5 sourced use cases in this guide, the most used tools are Claude Code, Claude, Figma, Home Assistant, OpenAI Codex.
How much does it cost to get started?
1 of the 5 use cases can start on a free plan. Prices come from each tool's official pricing page.
How long does setup take?
0 of the 5 use cases list a setup time of an hour or less. Each card shows the setup time the builder reported.
Are these real examples?
Yes. Every use case links to its public source (an X post, a Hacker News thread or a GitHub repo) with the author and date, so you can check it yourself.

The Daily 5

Liked this guide? Get five new use cases tomorrow morning

Five new real AI use cases every morning. Free. Unsubscribe any time.

More how-to guides

How to make faceless YouTube videos with AI · How to automate work with n8n and AI · How to vibe code an app with Claude Code · How to build AI agents for SEO and ads · How to run multiple coding agents together · How to build an MCP server for AI agents · How to add memory to coding agents · How to secure vibe-coded apps and agents · How to observe and debug AI agents · How to build agent memory and context layers · How to control Claude Code and Codex from your phone (Remote Control, ChatGPT app, SSH and tmux) · How to add payments to vibe-coded apps · How to run local LLMs with AI agents (Claude Code, Codex and OpenCode on Ollama) · How to set up Grok Bot agents for real work · How to build with Gemini 4 Argon and Gemini agents · How to use AI for taxes, bills and budgets: build a budget from bank CSVs, catch bill increases and check your tax return · How to make AI video ads and Reels with agents · How to set up Hermes Agent workflows · How to vibe code a game with AI: Phaser, Godot and one-file browser games, with prompts and free publishing · How to replace SaaS subscriptions with vibe-coded tools · How to use AI agents for errands, calls and shopping · How to use Cursor agents and automations · How to make 3D scenes and models with AI and Blender (Blender MCP, Claude, Codex): step-by-step · How to use Claude Code skills and plugins · How to cut AI coding agent costs and token use · How to automate a small business with AI agents · How to compare AI models on the same prompt · How to build hardware projects with AI agents · How to make an AI music video for your song (Suno, Grok Imagine, Kling, Veo) · How to use AI agents with Obsidian and your notes · How to build apps and games for your kids with AI · How to use ChatGPT for real projects and everyday tasks · How to make AI agents ask for approval before they act · How to build AI trading and investing agents · How to build AI agents that make and answer phone calls · How to plan meals and groceries with AI (weekly plan, shopping list, Instacart cart) · How to use AI agents for fitness and health · How to undo, checkpoint and stop runaway coding agents · How to use AI agents for job hunting · How to automate social media posts with AI agents · How to build a smart home and voice assistant with AI agents · How to make money with AI agents: 3 setups that real people get paid for (local websites, affiliate sites, digital products) · How to build a website with AI agents · How to use AI agents for research: literature reviews, citations and papers (Claude, Zotero, Elicit) · How to build an iPhone or Android app with AI · How to automate email and your inbox with AI agents · How to use AI agents for Linux, servers and homelabs · How to build Telegram, Discord and WhatsApp bots with AI · How to research memecoins and crypto with AI agents · How to remove ads and bloatware from your smart TV with AI (Android TV, Google TV, Samsung, LG) · How to scan and organize receipts and paperwork with AI (ChatGPT, Paperless-ngx) · How to organize and search your photo library with AI (Immich, Google Photos, Videre) · How to check a medical bill for errors and appeal an insurance denial with AI · How to set up a Jellyfin media server with AI help (free Plex alternative): Docker, hardware transcoding, remote access · How to lower your electric bill with Home Assistant and AI: energy dashboard, smart plugs, time-of-use automations · How to self-host AI agents on a Raspberry Pi, Mac mini or homelab · How to find and cancel subscriptions you forgot about with AI · How to run a private ChatGPT at home on your own computer (Ollama + Open WebUI) · How to build and install your own app on a Samsung TV with AI · How to fix a printer that won't print with AI · How to learn anything with an AI tutor · How to build an AI second brain and personal wiki · How to reverse-engineer and revive old devices with AI · How to edit videos with Claude Code and Codex · How to set up an AI family assistant · How to make a Godot or Unity game with AI: Godot AI, Unity CLI and MCP setups for Claude Code and Codex · How to build a custom Android TV or Google TV launcher with AI (manifest, adb commands and prompts) · How to use Claude Code and Codex together (Codex plugin, shared AGENTS.md, worktrees and cross-review) · How to build your own invoicing and bookkeeping app with AI · How to make a browser arcade game with AI · How to make a product demo or launch video with AI (Claude Code, Remotion, HyperFrames and Playwright) · How to fix Wi-Fi and secure your home network with AI · How to control Claude Code and Codex by voice · How to design a PCB and electronics with AI · How to save, share and resume coding agent sessions · How to run AI coding agents in a sandbox · How to make a multiplayer game with AI · How to let AI control your computer (computer use) · How to build a Mac menu bar app with AI · How to port code to another language with AI · How to make an AI animated short film or anime · How to build your own coding agent or harness · How to get notified when Claude Code or Codex needs you · How to build a Chrome extension with AI · How to use AI agents with Excel and Google Sheets · How to run Claude Code and Codex in a desktop app (T3 Code, Codex app, Claude Desktop) · How to make a song or album with AI · How to vibe code classroom apps and quizzes as a teacher · How to plan and book a trip with an AI agent · How to make motion graphics and animated videos with Claude Code · How to mod and reverse engineer games with AI · How to run AI agents overnight while you sleep · How to negotiate bills and get refunds with an AI agent · How to let an AI agent use your phone: Grok Bot phone tools, Android over ADB and iPhone Mirroring, with prompts · How to build a Polymarket bot with AI (and Kalshi): step-by-step with the official SDKs · How to use Claude Duet: real examples and tips · How to build private apps just for yourself with AI · How to design and 3D print things with AI agents · How to automate customer support with AI agents: real setups · How to find leads and automate sales outreach with AI agents · How to run a Shopify or online store with AI agents · How to launch an app and get your first users with AI · How to build a team of AI agents with a chief of staff · How to make a hand-tracking or gesture-controlled game with AI · How to test your app with AI agents before you ship · How to give an AI agent a budget or a card safely · How to share passwords and logins with an AI agent safely · How to get AI code review on your pull requests · How to review contracts, leases and fine print with AI · How to make slides and presentations with AI · How to take meeting notes and track follow-ups with AI · How to scrape websites and extract data with AI agents · How to make a podcast with AI: two-host episodes, cloned voices, clean audio, transcripts and clips · How to use AI agents for security scans and threat intel · How to build a dashboard with AI agents · How to clone your voice and make AI voiceovers · How to make AI images, thumbnails and product photos · How to write a CLAUDE.md or AGENTS.md file: one rules file for Claude Code, Codex, Cursor, Copilot and Gemini, with templates · How to build an AI chatbot for your own documents · How to port or remake a classic game with AI · How to build a VST plugin or synth with AI (Claude Code, Codex, JUCE): step-by-step · How to trigger AI agents with webhooks and events · How to find a home or rental with AI agents (Zillow in Claude and ChatGPT) · How to track Claude Code and Codex usage limits · How to build a daily AI briefing or news digest · How to check if your devices are spying on you with AI · How to track smart-money wallets and copy trade with AI: Polymarket leaderboard, Solana wallet alerts and convergence rules · How to translate and localize your app or content with AI · How to write and publish a book with AI · How to control your TV with an AI agent · How to take your robot vacuum off the cloud with AI · How to connect an AI agent to Home Assistant · How to let an AI agent do your bookkeeping (Xero and QuickBooks) · How to run an AI agent 24/7 on an old Android phone or TV box · How to see all your bank accounts in one place with AI