# Chat Session Structure (AI Feature)

## Design Pattern (like ChatGPT)
- **Sidebar**: List of past chat sessions with title + timestamp
- **Main area**: Active conversation

## Data Structure
```typescript
interface ChatSession {
  id: string;
  title: string; // First question (truncated to ~30 chars)
  messages: AIChat[];
  createdAt: number;
  updatedAt: number;
}

interface AIChat {
  id: string;
  role: "user" | "assistant";
  content: string;
  timestamp: number;
}
```

## Storage
- `tia_chat_sessions`: Array of ChatSession in localStorage
- Current session ID: `tia_current_session`

## UI Pattern
- **Left sidebar (w-64)**: List of sessions with title + date, delete option
- **Right main area**: Chat interface with message bubbles

## User Flow
1. User opens /ai → loads most recent session or creates new
2. User asks question → adds to current session
3. First question becomes session title (truncated)
4. Can switch sessions via sidebar
5. Can start new conversation

## Implementation Notes
- Use React state for current session
- Save to localStorage on each message (for quick access)
- Auto-title from first user message
- **Future**: Move to database (chat_sessions table) for persistence across devices
