PX

prshant28/x247_gen_ai

Developer tools
0 stars Quality 42 Trend 8

Gen AI APAC Prototype

Overview

Recall X247 is a built for the . It acts as your intelligent Second Brain — a unified platform that: - 📥 knowledge from YouTube videos, web articles, PDFs, and plain notes - 🔍 information using natural language semantic search with AI-powered answers - ✅ tasks and projects linked directly to your captured knowledge - 📅 study sessions and events on your calendar - 🃏 flashcards for active recall and spaced repetition - 📊 AI daily briefings and learning analytics - 🤖 all of this through a single natural language interface Recall X247 uses a with an Orchestrator coordinating 6 specialized sub-agents via OpenAI function calling with real-time SSE streaming: - — Auto-fetch transcripts, AI summarization, thumbnail preview & embed - — Scrape and summarize any URL - — Upload and extract content - — Plain text with AI tagging - — Tag → Domain → Full text - — Context-aware responses - visualization - — Chronological memory view - Priority levels & due dates - with linked memories -...

README


✨ What is Recall X247?

Recall X247 is a production-ready multi-agent AI system built for the Gen AI Academy APAC 2026 Hackathon. It acts as your intelligent Second Brain — a unified platform that:

  • 📥 Captures knowledge from YouTube videos, web articles, PDFs, and plain notes
  • 🔍 Recalls information using natural language semantic search with AI-powered answers
  • ✅ Manages tasks and projects linked directly to your captured knowledge
  • 📅 Schedules study sessions and events on your calendar
  • 🃏 Generates flashcards for active recall and spaced repetition
  • 📊 Delivers AI daily briefings and learning analytics
  • 🤖 Orchestrates all of this through a single natural language interface

🚀 Live Demo


🏗️ Multi-Agent Architecture

Recall X247 uses a hierarchical multi-agent system with an Orchestrator coordinating 6 specialized sub-agents via OpenAI function calling with real-time SSE streaming:

User Natural Language Request
         │
         ▼
┌─────────────────────────────────────┐
│   🧠 Orchestrator (KnowledgeCoordinator)  │
│   GPT-4o-mini via OpenRouter        │
│   app/coordinator.py                │
└──────────────┬──────────────────────┘
               │ OpenAI Function Calling
               │ (10 MCP-style tools)
    ┌──────────┼──────────────────┐
    │          │                  │
    ▼          ▼                  ▼
┌────────┐ ┌────────┐      ┌──────────┐
│Capture │ │Recall  │      │  Task    │
│ Agent  │ │ Agent  │      │  Agent   │
│📥     │ │🔍     │      │ ✅      │
└────────┘ └────────┘      └──────────┘
    │          │                  │
    ▼          ▼                  ▼
┌──────────┐ ┌────────────┐ ┌──────────────┐
│Calendar  │ │ Briefing   │ │  Analytics   │
│  Agent   │ │   Agent    │ │    Agent     │
│ 📅      │ │ 📊        │ │  📈         │
└──────────┘ └────────────┘ └──────────────┘
         │
         ▼ SSE Streaming (real-time events)
┌─────────────────────────────────┐
│   Frontend Agent Hub (/agent)   │
│   React + TypeScript + Vite     │
└─────────────────────────────────┘

Agent Registry

Agent Role Key Tools
🧠 Orchestrator Routes requests, coordinates agents All 10 tools
📥 CaptureAgent Ingest YouTube, web, PDFs, notes capture_knowledge
🔍 RecallAgent Semantic 3-tier search + AI answers recall_knowledge, list_memories
✅ TaskAgent Task CRUD with priority & due dates create_task, list_tasks
📅 CalendarAgent Schedule events & study sessions schedule_event, list_schedule
📊 BriefingAgent AI daily briefings, study plans get_daily_briefing, generate_study_plan
📈 AnalyticsAgent Learning stats, streaks, velocity get_knowledge_stats

🎨 Features


🛠️ Tech Stack


📂 Project Structure

Gen_AI_APAC/
├── 📄 main.py                    # FastAPI entry point
├── 📄 index.html                 # HTML shell
├── 📄 Dockerfile                 # Container config (Cloud Run)
├── 📄 vite.config.ts             # Vite + proxy config
├── 📄 requirements.txt           # Python dependencies
├── 📄 package.json               # Node dependencies
│
├── app/                          # Python backend
│   ├── config.py                 # Env vars & OpenRouter config
│   ├── db.py                     # Firestore + in-memory fallback
│   ├── coordinator.py            # Orchestrator (10 tools, SSE streaming)
│   ├── workflow_engine.py        # Workflow tracking + AGENT_REGISTRY
│   ├── capture_agent.py          # YouTube / web / PDF / note ingestion
│   ├── recall_agent.py           # 3-tier semantic search
│   ├── task_agent.py             # Task CRUD
│   └── calendar_agent.py         # Google Calendar integration
│
├── src/                          # React frontend
│   ├── App.tsx                   # All 13 views + SSE streaming
│   └── index.css                 # Dark neural theme + animations
│
└── .github/workflows/
    ├── deploy.yml                # Cloud Run CI/CD
    └── gh-pages.yml              # GitHub Pages CI/CD

⚙️ Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 20+
  • An OpenRouter API key (GEN_APAC_API_KEY)

1. Clone & Install

git clone https://github.com/prshant28/Gen_AI_APAC.git
cd Gen_AI_APAC

# Install Python dependencies
pip install -r requirements.txt

# Install Node dependencies
npm install

2. Configure Environment

cp .env.example .env

Edit .env with your keys:

# Required
GEN_APAC_API_KEY=your_openrouter_api_key

# Optional — for full Firestore persistence
GCP_PROJECT_ID=your_gcp_project_id
GOOGLE_APPLICATION_CREDENTIALS=path/to/service_account.json

# Optional — for Google Custom Search
GOOGLE_CSE_CX=your_cse_id
GOOGLE_API_KEY=your_google_api_key

💡 No Firestore? The app uses an in-memory mock database automatically — just set GEN_APAC_API_KEY and you’re ready to go!

3. Run Locally

npm run dev

This starts both the FastAPI backend (port 8000) and Vite frontend (port 5000) concurrently. Open http://localhost:5000.

4. Docker (Optional)

docker build -t recall-x247 .
docker run -p 8000:8000 --env-file .env recall-x247

📡 API Reference

Core Endpoints

Method Endpoint Description
POST /chat Coordinator chat (sync)
POST /agent/chat/stream SSE streaming multi-agent chat
GET /agents Agent registry
GET /workflows Recent workflow history
GET /workflows/{id} Single workflow with step trace
POST /capture Capture knowledge (YouTube/web/PDF/note)
POST /capture/upload Upload PDF file
GET/POST/DELETE /memories Knowledge vault CRUD
POST /recall Semantic search
GET/POST /tasks Task management
GET/POST /schedule Calendar events
GET /briefing AI daily briefing
GET /stats System statistics
GET /health Health check

Chat API Example

curl -X POST https://recall-x247-asia-southeast1.run.app/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Capture this YouTube video https://youtu.be/dQw4w9WgXcQ and create a task to review it",
    "user_id": "demo_user"
  }'

SSE Streaming Events

The /agent/chat/stream endpoint emits real-time events:

Event Description
workflow_start New workflow initiated
thinking Orchestrator reasoning
agent_start Sub-agent activated
agent_complete Sub-agent finished
workflow_complete All steps done
error Error occurred
done Stream closed

🖥️ Application Views (13 Total)

View Route Description
📊 Dashboard / Stats, charts, recent memories, daily briefing
🤖 Agent Hub /agent Real-time multi-agent chat with SSE, agent registry, workflow history
📥 Capture /capture URL/text/PDF capture with YouTube embed preview
🗄️ Vault /vault Knowledge grid with thumbnails and detail modals
🔍 Neural Recall /recall Semantic search with AI answers
✅ Tasks /tasks Task management with priority/due dates
🃏 Flashcards /flashcards AI-generated study cards
📅 Calendar /calendar Event scheduling
⏱️ Timeline /timeline Chronological memory view
🕸️ Mind Graph /graph Knowledge graph visualization
📈 Analytics /analytics Learning velocity, domain radar, streak tracking
🗂️ Workspace /workspace Kanban project board with linked memories
⚙️ Settings /settings API configuration and testing

🚢 Deployment

Automated CI/CD

Every push to main triggers two parallel deployments:

Push to main
    ├── 🐳 Cloud Run (deploy.yml)
    │   ├── Build Docker image
    │   ├── Deploy to asia-southeast1
    │   └── Health check /health & /api/health
    │
    └── 📄 GitHub Pages (gh-pages.yml)
        ├── npm run build
        └── Deploy to GitHub Pages

Manual Cloud Run Deployment

gcloud run deploy recall-x247 \
  --source . \
  --region asia-southeast1 \
  --allow-unauthenticated \
  --memory 1Gi \
  --cpu 1 \
  --set-secrets "GEN_APAC_API_KEY=GEN_APAC_API_KEY:latest"

Required GitHub Secrets

Secret Description
GEN_APAC_API_KEY OpenRouter API key
GCP_PROJECT_ID Google Cloud Project ID
GCP_SA_KEY Google Cloud Service Account JSON
GEMINI_API_KEY (Optional) Google Gemini API key

🛡️ Security

  • Data Isolation: Firestore security rules ensure users can only access their own data (see firestore.rules)
  • Secret Management: API keys stored as Google Cloud Secrets, never in source code
  • Authentication: Cloud Run requires valid credentials for write operations
  • CORS: FastAPI CORS middleware configured for production domains

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feat/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feat/amazing-feature
  5. Open a Pull Request

Live Demo

Example Prompts:

  • Prompt 1: What are the benefits of AI?
  • Prompt 2: How can AI change the world?

Watch our live demo: YouTube Video

📜 License

This project is licensed under the MIT License.


View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add prshant28/x247_gen_ai