Skip to content
/ Orbit Public

πŸ† Real-time social intelligence platform, winner at Hack the North 2025. Combines computer vision, Whisper, and LLMs to deliver instant recognition, live transcription, and context-aware conversation insights.

Notifications You must be signed in to change notification settings

qiuethan/Orbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌌 Orbit: AI-Powered Conversation Intelligence Platform

Real-time facial recognition, conversation tracking, and intelligent networking for the modern world.

Orbit is a comprehensive AI platform that bridges physical conversations with digital intelligence. It uses computer vision, natural language processing, and web search to automatically identify people in real-time, track conversation topics, and build rich professional profiles.


🎯 What Orbit Does

Real-Time Intelligence

  • πŸ‘οΈ Live Facial Recognition: Identify people in your camera feed instantly
  • πŸŽ™οΈ Conversation Recording: Automatic audio capture and transcription
  • πŸ€– Topic Extraction: AI-powered analysis of what you discussed
  • πŸ’Ύ Smart Caching: Automatic profile building and conversation history

Conversation-Driven Networking

  • πŸ“ Automatic Logging: Every person who appears in frame gets logged
  • πŸ”— Topic Linking: Conversation topics automatically added to participant profiles
  • πŸ“Š Rich Profiles: Professional info, education, achievements, and social media
  • 🌐 Web Search Integration: Automatic research on unknown individuals

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      β”‚    β”‚    Backend      β”‚    β”‚   AI Services   β”‚
β”‚                 β”‚    β”‚                 β”‚    β”‚                 β”‚
β”‚ β€’ React UI      │◄──►│ β€’ Face Recognition │◄──►│ β€’ Cerebras LLM  β”‚
β”‚ β€’ Real-time Feedβ”‚    β”‚ β€’ Audio Recording β”‚    β”‚ β€’ Face Search   β”‚
β”‚ β€’ Profile Views β”‚    β”‚ β€’ Web Search      β”‚    β”‚ β€’ Web Scraping  β”‚
β”‚ β€’ Conversation  β”‚    β”‚ β€’ Cache System    β”‚    β”‚ β€’ Topic Analysisβ”‚
β”‚   Management    β”‚    β”‚ β€’ Integration     β”‚    β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Core Components

πŸ–₯️ Frontend (Next.js)

  • Live Video Feed: Real-time webcam with face detection overlays
  • Person Profiles: Rich detailed views with professional info and conversation history
  • Conversation Management: Track topics and link to participants
  • Network Visualization: Interactive graph of connections and relationships

βš™οΈ Backend (Python)

  • Facial Recognition: InsightFace + DeepFace for accurate identification
  • Audio Pipeline: Groq Whisper for transcription + LLM topic extraction
  • Web Intelligence: Face search + content scraping + AI analysis
  • Cache System: Persistent storage of profiles and conversation data

🧠 AI Layer

  • LLM Integration: Cerebras GPT-OSS-120B for fast, accurate analysis
  • Topic Extraction: Automatic identification of 3-5 conversation topics
  • Profile Building: Structured data extraction from web sources
  • Smart Matching: Confidence scoring and verification

πŸš€ Quick Start

Prerequisites

  • Python 3.8+ and Node.js 18+
  • Webcam and microphone
  • API keys (see setup below)

1. Clone and Setup

git clone <repository-url>
cd Orbit

# Backend setup
cd backend
pip install -r requirements.txt
cp env.example .env
# Edit .env with your API keys

# Frontend setup  
cd ../frontend
npm install

2. Configure API Keys

Edit backend/.env:

# Required for facial recognition
FACECHECK_API_TOKEN=your_token

# Required for web search  
SERPAPI_KEY=your_key

# Required for AI analysis
CEREBRAS_KEY=your_key

# Optional for audio transcription
GROQ_API_KEY=your_key

3. Start the System

# Terminal 1: Backend
cd backend
python server.py

# Terminal 2: Frontend  
cd frontend
npm run dev

4. Access the Application


🎬 How It Works

The Conversation Flow

  1. πŸŽ₯ Start Camera Session

    Camera starts β†’ Frame presence tracking begins
    Audio recording starts β†’ Real-time transcription
    
  2. πŸ‘€ Person Detection

    Face detected β†’ Recognition attempt β†’ Profile lookup
    Unknown person β†’ Web search β†’ Profile creation
    Known person β†’ Load existing profile β†’ Update presence
    
  3. πŸ—£οΈ Conversation Capture

    Audio captured β†’ Groq Whisper transcription
    Text analyzed β†’ LLM topic extraction (3-5 topics)
    
  4. πŸ”— Automatic Integration

    Session ends β†’ Find all participants in frame
    Extract topics β†’ Update each participant's cache
    Link conversation data β†’ Build conversation history
    

Example Workflow

πŸ“Ή Camera Session: "Discussion about AI and startups"

πŸ‘₯ Participants Detected:
   β€’ John Smith (recognized from cache)
   β€’ Jane Doe (unknown β†’ web search β†’ profile created)

πŸŽ™οΈ Audio Transcribed:
   "We talked about the future of AI startups and funding trends..."

πŸ€– Topics Extracted:
   β€’ AI Startups
   β€’ Funding Trends  
   β€’ Future Technology

πŸ’Ύ Cache Updated:
   β€’ John Smith's profile ← conversation topics added
   β€’ Jane Doe's profile ← conversation topics added

πŸ“ Project Structure

Orbit/
β”œβ”€β”€ backend/                    # Python backend services
β”‚   β”œβ”€β”€ facial_recognition/     # Face detection & recognition
β”‚   β”œβ”€β”€ recording/             # Audio capture & transcription  
β”‚   β”œβ”€β”€ search/                # Web search & content scraping
β”‚   β”œβ”€β”€ llm/                   # AI analysis & topic extraction
β”‚   β”œβ”€β”€ cache/                 # Person profiles & images
β”‚   β”œβ”€β”€ logs/                  # Session & integration logs
β”‚   β”œβ”€β”€ conversation_integration.py # Core integration logic
β”‚   └── server.py              # FastAPI backend server
β”‚
β”œβ”€β”€ frontend/                  # Next.js React frontend
β”‚   β”œβ”€β”€ src/components/        # UI components
β”‚   β”‚   β”œβ”€β”€ main/             # Camera feed & detection
β”‚   β”‚   β”œβ”€β”€ profile/          # Person profiles & details
β”‚   β”‚   └── layout/           # Navigation & layout
β”‚   β”œβ”€β”€ src/data/             # Data adapters & utilities
β”‚   └── src/utils/            # Helper functions
β”‚
└── README.md                  # This file

πŸŽ›οΈ Key Features

πŸ” Advanced Recognition

  • Multi-Modal Matching: Face vectors + photo comparison + DeepFace verification
  • Confidence Scoring: Multiple similarity metrics for accurate identification
  • Unknown Person Handling: Automatic web search and profile creation
  • Cache Learning: System improves recognition over time

πŸŽ™οΈ Intelligent Audio

  • Real-Time Transcription: Groq Whisper Large Turbo for accuracy
  • Topic Extraction: LLM analysis of conversation content
  • Multi-Language Support: Automatic language detection
  • Conversation Linking: Topics automatically linked to all participants

🌐 Web Intelligence

  • Face Search: FaceCheck.id integration for photo matching
  • Content Scraping: Comprehensive web data extraction
  • Profile Building: Structured data with professional info, education, achievements
  • Source Verification: Quality scoring and credibility indicators

πŸ’Ύ Smart Caching

  • Persistent Profiles: Rich JSON profiles with conversation history
  • Incremental Updates: Profiles grow with each conversation
  • Frame Presence Tracking: Detailed logs of who appeared when
  • Integration Logs: Complete audit trail of all processing

πŸ› οΈ Configuration

Recognition Settings

# In facial_recognition/webcam_recognition.py
recognition_threshold = 0.7        # Face matching confidence
track_timeout = 1.5               # Seconds before "left" event
unknown_person_timeout = 5.0      # Delay before unknown person search

Audio Settings

# In recording/transcriber.py
model = "whisper-large-v3-turbo"  # Transcription model
auto_summarize = True             # Enable topic extraction
temperature = 0.3                 # LLM creativity setting

Search Settings

# In search/modules/
min_score = 85                    # Face search confidence threshold
max_face_results = 3              # Number of face matches to process
max_serp_per_url = 2             # Web search results per URL

πŸ“Š Data Flow

Cache File Structure

{
  "person_analysis": {
    "personal_info": {
      "full_name": "John Smith",
      "location": "San Francisco, CA",
      "interests": ["AI", "Technology"]
    },
    "professional_info": {
      "current_position": "Senior Engineer",
      "company": "TechCorp",
      "previous_positions": [...]
    },
    "conversation_history": [
      {
        "date": "2025-09-14T03:55:47",
        "topics": ["AI Startups", "Funding", "Technology"],
        "duration": 120,
        "presence_time": 95
      }
    ]
  }
}

Session Logs

{
  "session_metadata": {
    "session_id": "20250914_035534",
    "total_unique_participants": 2,
    "duration_seconds": 120
  },
  "participants_summary": {
    "1": {
      "name": "John Smith",
      "recognition_status": "recognized",
      "total_presence_time": 95.2
    }
  }
}

πŸ”§ Development

Adding New Features

  1. Backend: Add endpoints in server.py, implement logic in modules
  2. Frontend: Create components in src/components/, add routes in app/
  3. Integration: Update conversation_integration.py for new data flows

Testing

# Backend tests
cd backend
python -m pytest

# Frontend tests  
cd frontend
npm test

# Integration testing
python conversation_integration.py

API Documentation

  • Backend API docs: http://localhost:8000/docs (FastAPI auto-generated)
  • Key endpoints: /webcam/start, /webcam/stop, /cache/list, /voice/summarize

🚨 Troubleshooting

Issue Solution
Camera not detected Check permissions, try different camera index
Face recognition failing Verify lighting, face angle, update recognition threshold
Audio not recording Check microphone permissions, verify audio device
LLM errors Verify API keys, check rate limits
Frontend not loading Ensure backend is running, check CORS settings

🎯 Use Cases

Professional Networking

  • Conferences & Events: Automatically track who you meet and what you discuss
  • Business Meetings: Build conversation history with clients and partners
  • Networking Events: Never forget a name or conversation topic again

Personal Memory

  • Social Gatherings: Remember conversations with friends and family
  • Learning Sessions: Track discussion topics in study groups or workshops
  • Community Building: Build rich profiles of community members

Research & Analysis

  • Interview Studies: Systematic tracking of research conversations
  • Market Research: Capture insights from customer conversations
  • Content Creation: Track topics and sources for content development

🀝 Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Submit a pull request

Key areas for contribution:

  • New recognition algorithms
  • Additional LLM providers
  • Frontend UI improvements
  • Mobile app development
  • Integration with CRM systems

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • InsightFace: Face recognition models
  • Groq: Fast audio transcription
  • Cerebras: Ultra-fast LLM inference
  • FaceCheck.id: Face search capabilities
  • Next.js & React: Frontend framework
  • FastAPI: Backend API framework

🌌 Orbit: Where conversations become intelligence.

Built with ❀️ for the future of human connection.

About

πŸ† Real-time social intelligence platform, winner at Hack the North 2025. Combines computer vision, Whisper, and LLMs to deliver instant recognition, live transcription, and context-aware conversation insights.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •