🧠 Brain Squared

💡 Inspiration

We browse hundreds of sites every week — articles, docs, blogs — but when we try to recall something valuable we read, it’s nearly impossible to find it again. Browser history only works if you remember exact words, URLs, or page titles.
We wanted to fix that by creating a “second brain” for your browsing: a tool that remembers what you read and helps you find it again through meaning, not just keywords.


🚀 What It Does

Brain Squared automatically captures your browsing history from Chrome, stores it securely, and turns it into a searchable knowledge base powered by AI semantic search.

Key Features

  • 🔁 Automatic Syncing – History syncs every 5 minutes automatically
  • 🔍 Semantic Search – Find pages by meaning, not exact text
  • 🧠 Smart Summaries – AI-generated TL;DRs for every page
  • 🧩 Memory Graph View – Visualize your browsing knowledge as an interactive network
  • 📱 Cross-Device Access – View and search your synced history from any device
  • 🔐 Auth0 Login – Secure authentication across all devices
  • 📊 Browsing Stats Dashboard – Retro cyberpunk-themed UI with live insights
  • 🌐 Multi-Browser Support – Chrome, Edge, Firefox, Safari (in progress)
  • 💬 AI Chat Search – Query your browsing history conversationally (“What was that article about local embeddings?”)

Example: Searching “React performance tips” finds “Optimizing React Apps” — even if you don’t remember the exact title.


⚙️ How We Built It

🖥️ Frontend

  • Next.js 14 + TypeScript + Tailwind CSS
  • Auth0 integration
  • Retro/cyberpunk aesthetic and responsive design
  • Recharts + Framer Motion for dynamic stats visualization

🧩 Backend

  • Node.js + Express + TypeScript
  • Qdrant Vector Database for semantic search
  • Xenova Transformers for local embedding generation
  • LangChain for summarization and semantic query handling
  • JWT authentication with Auth0

🔌 Chrome Extension

  • Manifest V3 service worker
  • Chrome Alarms API for scheduled syncing (every 5 minutes)
  • Chrome Storage API for token management
  • Manual and automatic history sync
  • Background script for summarization and embedding generation

☁️ Infrastructure

  • Qdrant Cloud for vector storage
  • Auth0 for authentication
  • Local development on localhost:3000 (web) and localhost:3001 (backend)

🧩 Challenges We Ran Into

  • Implementing JWT authentication between extension and backend
  • Fixing “Invalid Compact JWS” / “jwt malformed” errors from Auth0 audience mismatch
  • Handling large data batches efficiently (500+ history items per sync)
  • Building performant real-time summaries while keeping everything local
  • Designing the graph-based visualization without lag on large datasets
  • Balancing privacy with semantic embedding generation

🏆 Accomplishments We’re Proud Of

  • Working multi-browser extension with both auto and manual sync
  • Fully functional semantic search with Qdrant and Xenova
  • AI-generated summaries and chat-based history recall
  • Retro-inspired UI that makes browsing data fun to explore
  • Seamless cross-authentication between web app and extension
  • 100% locally generated embeddings — no external API dependency
  • Graph view connecting related pages by meaning

🔮 What’s Next

  • Extract and embed full page content (not just titles/URLs)
  • Launch Firefox and Safari versions
  • Build self-hosted mode for privacy-focused users
  • Develop shared team knowledge bases
  • Add Notion/Obsidian integrations
  • Introduce browsing analytics and summaries dashboard
  • Implement AI-powered recommendations based on browsing patterns
  • Enhance chat memory for long-term contextual queries

Built With

Share this project:

Updates