π― One-Command Deployment Ready for Jury Evaluation
π Complete PDF Processing, AI Insights & Podcast Generation Platform
π¬ Watch Demo Video for Quick Feature Overview
command 1 : docker build --platform linux/amd64 -t yourimageidentifier .
command 2 : docker run --rm \
-v "${PWD}/credentials:/credentials" \
-e ADOBE_EMBED_API_KEY="c0598f2728bf431baecd93928d677adc" \
-e LLM_PROVIDER="gemini" \
-e GOOGLE_API_KEY="api_key" \
-e GEMINI_MODEL="gemini-model" \
-e TTS_PROVIDER="azure" \
-e AZURE_TTS_KEY="api_key" \
-e AZURE_TTS_ENDPOINT="Your_endpoint" \
-e AZURE_TTS_REGION="Your_region" \
-p 8080:8080 \
yourimageidentifier- Docker Desktop with 4GB+ RAM allocated
- Port 8080 available (configurable in docker-compose.yml)
- Internet access for AI APIs (Google Gemini & Azure TTS)
- π Main Application: http://localhost:8080
- π API Documentation: http://localhost:8080/docs
- β€οΈ Health Check: http://localhost:8080/health
| Metric | Performance | Details |
|---|---|---|
| π PDF Processing | ~0.16s per document | Includes outline extraction and indexing |
| π Search Response | <100ms indexed | TF-IDF vectorization with caching |
| π‘ Insight Generation | 2-5s per request | Google Gemini API processing time |
| ποΈ Audio Generation | 3-8s per script | Azure TTS synthesis and encoding |
| π Container Startup | ~30-40s | Complete application initialization |
| πΎ Memory Usage | 2-4GB | Optimized for production deployment |
| π Frontend Bundle | <2MB gzipped | Vite optimization with code splitting |
| π API Response | <50ms average | FastAPI with async processing |
- π PDF Upload & Processing - Drag & drop with automatic outline generation
- π Advanced Semantic Search (Heading) - Cross-document content discovery with the model made in Round 1A
- π― Text Highlighting - Real-time text highlighting in PDF viewer during search
- π€ Content Connections - Intelligent relationship discovery between documents
- β‘ High Performance - Sub-second response times, optimized algorithms
- π¨ Modern UI - Responsive design with smooth interactions and animations
- π‘ AI Insights Bulb (+5) - 5 insight types: takeaways, contradictions, examples, cross-references, facts
- ποΈ Podcast Generation (+5) - AI-generated audio content with Azure TTS
- π― PDF Navigation - Click-to-navigate with text highlighting via Adobe Embed API
- π Real-time Updates - Live connection discovery and insight caching
- π Inline PDF Viewer - Embedded Adobe PDF Embed API with text selection
- π¨ Text Selection Popup - Interactive popup for selected text with connections
- π Audio Playback - Integrated audio player for generated podcasts
- π± Responsive Design - Works seamlessly on desktop, tablet, and mobile
- β‘ Real-time Search - Instant search results with debounced input
- π Framer Motion Animations - Smooth transitions and micro-interactions
Our intelligent semantic search system provide accurate content discovery across all uploaded PDFs. When you search for content, the system:
- Analyzes Your Query - Processes natural language queries using advanced NLP
- Searches Document Outlines - Finds relevant headings and sections across all PDFs
- Ranks Results - Uses relevance scoring with exact match prioritization
- Highlights Content - Opens the relevant document and highlights matching text
- Shows Context - Displays the document page and surrounding content
When you click on a search result:
- Automatic Navigation - Opens the document to the exact page
- Text Highlighting - Highlights the matching content in the PDF viewer
- Adobe Embed Integration - Uses Adobe PDF Embed API for precise text highlighting
- Smooth Transitions - Framer Motion animations for seamless navigation
# Linux/macOS - Make executable and run
chmod +x run-jury.sh
./run-jury.sh
# Windows - Run batch file
run-jury.bat
# Direct Docker Compose (Alternative)
docker-compose up --build
# Silent background deployment
docker-compose up --build -d# Build only (without running)
docker build -t adobe-pdf-platform .
# Run with custom port
docker run -p 3000:8080 adobe-pdf-platform
# Run with environment variables
docker run -p 8080:8080 \
-e GOOGLE_API_KEY=your_key \
-e AZURE_TTS_KEY=your_key \
adobe-pdf-platform# Backend development
cd backend
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
pip install -r requirements.txt
python main.py
# Frontend development
cd frontend
npm install
npm run dev
# Run both in development mode
npm run dev:all# Development build with hot reload
docker-compose -f docker-compose.dev.yml up
# Run specific services
docker-compose up backend
docker-compose up frontend
# Execute commands in running container
docker-compose exec adobe-pdf-platform bash
docker-compose exec adobe-pdf-platform python backend/main.pyπ¦ Docker Container (Production-Ready)
βββ π¨ Frontend (React 19 + Vite)
β βββ Adobe PDF Embed API Integration
β βββ Modern UI with Framer Motion
β βββ TailwindCSS Styling
β βββ Real-time Text Selection
β βββ Responsive Design System
βββ π§ Backend (FastAPI + Python 3.11)
β βββ PDF Processing Pipeline
β βββ Google Gemini AI Integration
β βββ Azure Text-to-Speech
β βββ Round 1A Search Engine
β βββ Connection Discovery Engine
β βββ RESTful API Endpoints
βββ π§ AI Services
β βββ Google Gemini (Text Analysis)
β βββ Azure TTS (Audio Generation)
β βββ TF-IDF Vectorization
β βββ Cosine Similarity Matching
βββ πΎ Storage
βββ PDF Files
βββ Generated Outlines
βββ Audio Content
βββ Search Indices
src/
βββ components/
β βββ LeftPanel.jsx # File list and search interface
β βββ CenterPanel.jsx # PDF viewer and content display
β βββ RightPanel.jsx # Insights and podcast tabs
β βββ search/
β β βββ SemanticSearch.jsx # AI-powered search interface
β β βββ FilenameSearch.jsx # Basic filename filtering
β βββ InlinePDFViewer.jsx # Adobe Embed API wrapper
β βββ TextSelectionPopup.jsx # Interactive text selection
β βββ InsightsTab.jsx # AI insights generation
β βββ PodcastTab.jsx # Audio content generation
βββ services/
β βββ api.js # API communication layer
βββ utils/
βββ pdfDb.js # Client-side storage utilities
backend/
βββ main.py # Application entry point
βββ config.py # Environment configuration
βββ api/
β βββ documents.py # PDF upload and management
β βββ search.py # Semantic search endpoints
β βββ insights.py # AI insights generation
β βββ connections.py # Document relationship discovery
β βββ podcast.py # Audio generation endpoints
βββ services/
β βββ document_service.py # PDF processing logic
β βββ search_service.py # TF-IDF search implementation
β βββ insights_service.py # Gemini AI integration
β βββ connection_service.py # Relationship analysis
β βββ podcast_service.py # Azure TTS integration
βββ models/ # Data models and schemas
βββ outline_engine/ # PDF outline extraction
βββ utils/ # Shared utilities and helpers
- π Deploy: Run
docker-compose up --buildor./run-jury.sh - β
Verify: Check http://localhost:8080/health (should return
{"status": "healthy"}) - π Upload: Try uploading a PDF via the drag & drop interface
- π Search: Test semantic search functionality with sample queries
- π‘ Insights: Generate AI insights for selected text content
- ποΈ Audio: Create a podcast from uploaded PDFs
- π― Navigation: Test click-to-navigate from search results
- π Complete Integration - Frontend + Backend in single container with health checks
- β‘ Production Ready - Comprehensive error handling, logging, and monitoring
- π¨ User Experience - Modern, responsive interface with smooth animations
- π§ AI Integration - Multiple AI services (Google Gemini + Azure TTS) working seamlessly
- π Performance - Optimized for speed, reliability, and resource efficiency
- π Advanced Search - Real-time semantic search with text highlighting and navigation
- π PDF Integration - Deep Adobe PDF Embed API integration with text selection
- PDF upload and processing pipeline works end-to-end
- Semantic search returns relevant results across documents
- Search results navigate to exact PDF pages with highlighting
- Content connection discovery finds relationships between documents
- High-performance response times (search <100ms, processing <1s)
- Modern, responsive UI works on different screen sizes
- AI Insights Bulb generates 5 different insight types
- Podcast generation creates audio content from PDF text
- Text selection in PDF triggers instant insight generation
- Real-time search updates as user types
- Smooth animations and micro-interactions throughout UI
# If npm run preview fails, ensure build files exist
cd frontend
npm run build # Build production files first
npm run preview # Then preview
# Check if port 3000 is available
sudo lsof -i :3000 # Check what's using port 3000
npx kill-port 3000 # Kill process on port 3000
# Use different port for preview
npm run preview -- --port 3001 # Use port 3001 instead
# Verify Vite installation
npm list vite # Check if Vite is installed
npm install vite --save-dev # Reinstall Vite if neededπ Ready for Jury Evaluation!
Just run docker-compose up --build and visit http://localhost:8080
Complete PDF insights and podcast platform in a single command π
π Connecting the Dots - Grand Finale Submission
Delivering advanced AI-powered document processing with modern UI/UX design
π§ Support: Check logs with docker-compose logs -f for any issues