Nova Chat is your AI-powered Second Brain that actually remembers.

Loom Video Link - https://www.loom.com/share/31f1b036ef4e490c9073b8245f47a5db


1. Problem Statement - Proactive messaging: Initiates conversations based on user context or life events

Solution: Signal-Based Proactive Agent

Core Philosophy: IF (signal) → THINK → MESSAGE

Signal Gathering (3 Categories):

  1. Life Event Signals 📅

    • Upcoming deadlines, interviews, meetings
    • Birthdays and anniversaries
    • Example: "You have a Meta onsite interview tomorrow at 10am. Would you like me to prepare a summary?"
  2. Memory Pattern Signals 🧠

    • Repetition detection (topic mentioned 5+ times)
    • Stress or uncertainty patterns
    • Example: "You've mentioned 'job interviews' 8 times this week. Want me to help you prepare?"
  3. External Context Signals 📧

    • Important Gmail messages from recruiters
    • Travel bookings and flight reminders
    • Fitness tracking and streaks
    • Example: "You have a flight to SF tomorrow. Want me to check traffic to the airport?"

Smart Throttling:

  • Max 2-4 proactive messages per day
  • 6-hour minimum gap between messages
  • AI evaluates signal importance before messaging

UX Design:

  • Appears as new chat conversation (not notification)
  • Slide-in animation with option to engage or dismiss
  • Runs every 6 hours via Github or Vercel Cron

Impact: Context-aware, non-annoying proactive help that feels like a real assistant.


2. Problem Statement - Handle multiple rapid messages as a single conversation turn

Solution: Typing-Aware Optimistic Turn Versioning (TA-OTV)

Core Philosophy: User typing activity defines intent continuity.

How It Works:

  • Tracks typing activity in real-time
  • Merges messages sent within 2-second window into single turn
  • Stops current AI response and re-generates with merged context
  • Ignores abandoned typing (5+ seconds of inactivity)
  • Only commits latest turn to memory (superseded turns discarded)

Why TA-OTV is Superior:

I evaluated multiple solutions:

Solution Issue
Server Time-Based Debounce Adds artificial delay, feels slow, bad for streaming
Client-Side Aggregation Loses data on refresh, unsafe for memory, multi-tab issues
Persistent Server Turn Buffer Requires workers and complex infrastructure, slower UX

TA-OTV Advantages:

  • Fastest UX - AI responds immediately, no artificial delays
  • 🛡️ Memory Safe - Only latest turn commits, no corruption
  • 🎯 Handles All Scenarios - Fast typers (merged), slow typers (separate), abandoned typing (ignored)
  • 📈 Scales Easily - No cron jobs or background workers needed

3. Problem Statement - Users need to access their AI assistant where they already work—in Slack—without switching apps.

Solution: Multi-Tenant Slack Bot with Unified Memory

Architecture:

  • Database-backed token management with encryption
  • OAuth flow for secure workspace connections
  • Signature verification for security
  • Supports unlimited workspaces (multi-tenant)

Features:

  • Two-Way Persistent Chat - Mention @Nova in any channel or DM
  • Unified Memory - Same memory graph across Web UI and Slack
  • Same AI, Same Tools - Full access to Gmail, Calendar, Notion, Web Search
  • Workspace Management UI - Easy connect/disconnect from web app

4. Problem Statement - Integrate tools

Solution: Multi-Platform Tool Orchestration

Integrated Gmail, Google Calendar Notion via Composio and web search by Exa.ai

Implemented Multi-Step Reasoning and task execution:


5. Problem Statement - The base @supermemory/memory-graph package needed visual and UX improvements to make memory relationships more intuitive and engaging.

Solution: Glassmorphism + Neon Accents + 5 Advanced Animations

Visual Redesign:

  • Futuristic Supermemory-inspired aesthetic with deep blue palette
  • Glassmorphism effects with backdrop blur and transparency
  • Gradient edges with similarity-based opacity
  • Neon glow effects for interactive elements

5 High-Impact Animations:

  1. Focus Mode Transitions

    • What: Smooth opacity changes when hovering over nodes
    • Why: Highlights connections without jarring jumps
  2. Hover Ripple Effect

    • What: Expanding circle emanates from hovered node
    • Why: Provides tactile feedback, makes graph feel alive
  3. Edge Pulse Animation

    • What: Strong connections (similarity > 0.8) pulse gently
    • Why: Draws attention to important relationships
  4. Edge Flow Animation

    • What: Animated dashes flow along edges showing directionality
    • Why: Visualizes information flow between memories
  5. Smooth Pan & Zoom Transitions

    • What: Animated transitions for navigation controls
    • Why: Professional feel instead of jarring jumps

Built With

  • ai
  • composio
  • nextjs
  • openai
  • postgresql
  • supabase
  • supermemory
  • vercel
Share this project:

Updates