Skip to content

Welcome to OmniButler Documentation

OmniButler is a comprehensive financial management platform designed to help families manage their wealth and financial activities through advanced AI technology. The platform seamlessly integrates with banking systems, email, and calendar services to provide a holistic view of your financial life.

Key Features

  • Smart Account Syncing: Connect all your financial accounts in seconds with our Plaid integration and AI-powered transaction categorization.
  • Bank-Level Security: Enterprise-grade encryption and authentication using Firebase and AES-256 standards.
  • Sophisticated AI Assistant: Natural language interaction with your financial data through a state-of-the-art LLM system with multi-context memory.
  • Real-Time Transaction Analysis: Instant insights on spending patterns and financial health with streaming responses.
  • Family Access Controls: Securely share financial visibility with family members while maintaining privacy.
  • Multi-Channel Interaction: Access your financial assistant through WebSocket (web/mobile), WhatsApp, or voice interfaces.

System Architecture

OmniButler is built using a clean architecture approach with three primary layers:

Core Components

1. AI Conversation System

  • LLM Integration: Supports OpenAI and TogetherAI models with streaming responses
  • Memory Architecture:
  • Message History: Stores conversation context using Redis
  • Vector Store: Enables semantic search across financial data
  • Context Manager: Maintains state between interactions
  • Specialized Tools:
  • Transaction retrieval and analysis
  • Location-based services
  • WhatsApp messaging
  • Calendar management

2. Data Management

  • Financial Data Storage: Secure transaction storage in Turso databases
  • User Profile Management: Firebase and Firestore for authentication and user data
  • Vector Embeddings: Redis-powered semantic search capabilities

3. Integration Layer

  • Banking Connections: Plaid integration for financial institution access
  • Communication Channels: WebSocket, Twilio (WhatsApp/voice)
  • External Services: Google Calendar, Gmail, location services

Getting Started

Explore our documentation to learn more about OmniButler's capabilities:

Core Flows

Communication Methods

WhatsApp Integration

Technical Details

Production & Security

Developer Resources

Code Audits

Technology Stack

OmniButler leverages modern technologies to deliver a seamless experience:

  • Backend: Python, FastAPI, WebSockets
  • AI/ML: LangChain, OpenAI, TogetherAI
  • Data Storage: Redis, Firestore, Turso
  • Integration: Plaid, Firebase, Twilio
  • DevOps: Poetry, Docker, GitHub Actions

Documentation Structure

Architecture Decision Records (ADRs)

Located in /docs/adr/, these documents capture key architectural decisions. See ADR Audit Summary for current implementation status of all ADRs.

Implementation Documentation

Flows

Located in /docs/flows/, these documents describe end-to-end processes:

Use Cases

Located in /docs/use_cases/ and /docs/whatsapp/, these documents detail specific implementations:

Development Guidelines

Located in /docs/:

API Documentation

Documentation Relationships

```mermaid graph TD A[ADRs] → B[Implementation Docs] B → C[Flow Docs] B → D[Use Case Docs] E[Dev Practices] → B F[API Docs] → C

subgraph ADRs
    A1[ADR-001] --> A
    A2[ADR-002] --> A
    A3[ADR-003] --> A
    A4[ADR-004] --> A
end

subgraph WhatsApp
    W1[WhatsApp System Overview] --> C
    W2[WhatsApp Message Handling] --> D
    W3[WhatsApp User Mapping] --> D
    A4 --> W1
    A4 --> W2
    A4 --> W3
end

```

How to Use This Documentation

  1. For Architecture Decisions
  2. Start with relevant ADR
  3. Follow references to implementation details

  4. For Implementation Details

  5. Start with flow document
  6. Reference use case document for specifics
  7. Check ADRs for architectural context

  8. For Development

  9. Follow development practices
  10. Reference API docs for endpoints
  11. Use flow docs for process understanding