Appearance
Introduction
Iris is an AI-powered chat application with persistent semantic memory, built on Laravel 12 and powered by Prism. It remembers your conversations, learns your preferences, and connects to your calendar.
Who Is Iris For?
Iris is designed for developers and technical users who want:
- A personal AI that grows with them - Most AI assistants start fresh every conversation. Iris builds a persistent understanding of who you are, what you're working on, and what matters to you.
- Control over their infrastructure - Self-hosted means you own the application, database, and configuration. Your memories and conversation history stay on your server. Note that conversations are sent to Anthropic for processing, and OpenAI is used for embeddings and image generation. Self-hosting controls storage and access, not the LLM providers.
- A reference for building AI applications - Iris demonstrates how to build sophisticated AI applications with Laravel and Prism PHP, including semantic memory, agentic tool use, and streaming responses.
- A reference for AI-assisted development - The entire Iris codebase was built with Claude Code, serving as a practical example of developing Laravel applications with AI assistance.
If you're curious about how to build semantic memory systems, implement agentic tool use, or integrate LLMs into Laravel applications, the Iris codebase is designed to be readable and instructive. If you're exploring AI-assisted development workflows, Iris demonstrates what's possible when building with Claude Code.
What Makes Iris Different
Traditional AI chat applications treat each conversation as isolated. Iris builds a persistent memory layer that grows smarter over time.
Persistent Memory
Iris automatically extracts important information and stores it as semantic memories. When you mention your name, describe a project, or share a preference, Iris remembers -without you having to ask.
The two-layer context system balances completeness with efficiency:
- Truths: Stable, core facts earned through behavioral evidence - always considered, ranked by relevance
- Memories: Contextually relevant information retrieved based on what you're currently discussing
Conversation Summarization
Long conversations are automatically summarized to preserve context. These aren't simple excerpts -summaries capture key discussion points, emotional dynamics, and unresolved threads, creating continuity across sessions.
Tool Integration
Iris interacts with external services through an agentic tool system:
- Google Calendar: View, create, and manage events
- Image Generation: Create images with OpenAI
- Web Search: Search for current information
- Truth & Memory Management: Store, search, and update truths and memories directly
Architecture
| Layer | Technology |
|---|---|
| Backend | Laravel 12, PHP 8.4 |
| Database | PostgreSQL 16 with pgvector |
| Frontend | React 19, TypeScript, Inertia.js |
| Styling | Tailwind CSS v4 |
| LLM | Prism PHP with Anthropic (Claude) |
| Embeddings | Prism PHP with OpenAI (text-embedding-3-small) |
| Real-time | Laravel Reverb (WebSockets) |
| Queue | Laravel Horizon with Redis |
Requirements
| Requirement | Version |
|---|---|
| PHP | 8.4+ |
| Node.js | 20+ |
| PostgreSQL | 16+ with pgvector |
| Redis | 6+ |
| Composer | 2.x |
API Keys
- Anthropic API Key: Powers Claude for chat and tools
- OpenAI API Key: For text embeddings and image generation
Navigating the Documentation
If you're setting up Iris for the first time:
- Follow the Installation Guide
- Review Configuration to understand your options
If you want to understand how Iris works:
- Start with Chat Interface for the request flow
- Explore Memory System for the persistence layer
- Understand Truths for stable, earned facts about you
- Learn about Tools for the agentic capabilities
If you want to customize Iris:
- Read System Prompts to modify the AI persona
- See Custom Tools to add new capabilities
- Check Customization for the complete guide