Skip to content

Latest commit

Β 

History

History
264 lines (206 loc) Β· 7.92 KB

File metadata and controls

264 lines (206 loc) Β· 7.92 KB

🎬 Vectro+ Video Demo Guide

Complete guide for recording a compelling demo video of Vectro+

πŸ“‹ Pre-Recording Checklist

Setup

  • Clean terminal (run clear)
  • Set terminal to 16:9 aspect ratio (1920x1080 or 1280x720)
  • Increase terminal font size (18-24pt for readability)
  • Close unnecessary applications
  • Disable notifications
  • Prepare browser window for web UI demo
  • Test audio levels (if recording voiceover)

Build

cd vectro-plus
cargo build --release
cargo test --workspace

Recommended Recording Software

  • macOS: QuickTime Player (Cmd+Shift+5) or OBS Studio
  • Linux: SimpleScreenRecorder or OBS Studio
  • Windows: OBS Studio or Windows Game Bar (Win+G)

πŸŽ₯ Demo Script (5-7 minutes)

Part 1: Introduction (30 seconds)

What to show:

  • Open terminal with clean workspace
  • Show project structure with tree -L 2 or ls -la

Script:

"Welcome to Vectro+, a high-performance embedding compression and search engine built in Rust. Today I'll demonstrate streaming compression, quantization for 75% size reduction, and real-time semantic search."

Part 2: Data Generation (45 seconds)

What to show:

# Show the sample data
cat sample_semantic.jsonl | head -5

# Generate larger dataset
python3 scripts/generate_embeddings.py --count 10000 --dim 384 > large.jsonl
wc -l large.jsonl

Script:

"First, we have semantic embeddings representing concepts like fruits, vehicles, and colors. Let's also generate a larger dataset - 10,000 embeddings with 384 dimensions each."

Part 3: Compression Demo (1 minute)

What to show:

# Regular compression
time cargo run --release -p vectro_cli -- compress large.jsonl dataset.bin

# Check size
ls -lh dataset.bin

# Show file format
hexdump -C dataset.bin | head -5

Script:

"Vectro+ uses streaming compression to handle datasets larger than RAM. The STREAM1 format stores vectors as 32-bit floats with efficient binary serialization. Notice the speed - 10k vectors compressed in under a second."

Part 4: Quantization Magic (1.5 minutes)

What to show:

# Quantize
time cargo run --release -p vectro_cli -- compress large.jsonl dataset_q.bin --quantize

# Compare sizes
ls -lh dataset*.bin

# Calculate savings
du -h dataset.bin
du -h dataset_q.bin

Script:

"Now for the magic - quantization. We compress 32-bit floats down to 8-bit integers using per-dimension min/max scaling. Look at this - we go from X MB down to Y MB, a 75% reduction! The QSTREAM1 format stores quantization tables and compressed vectors."

Visual highlight:

  • Show side-by-side file sizes
  • Emphasize the percentage saved

Part 5: Search Performance (2 minutes)

What to show:

# Search with regular dataset
cargo run --release -p vectro_cli -- search "0.92,0.15,0.18,..." --top-k 10 --dataset dataset.bin

# Search with quantized dataset  
cargo run --release -p vectro_cli -- search "0.92,0.15,0.18,..." --top-k 10 --dataset dataset_q.bin

Script:

"Semantic search uses cosine similarity to find the most similar vectors. Watch how fast this runs - we're searching through 10,000 vectors and getting results in microseconds. Even with quantized vectors, search quality remains high with minimal accuracy loss."

Visual highlight:

  • Show the returned results with IDs and scores
  • Highlight the fast query times

Part 6: Web UI Showcase (2 minutes)

What to show:

# Start server
cargo run --release -p vectro_cli -- serve --port 8080

Then switch to browser:

  1. Open http://localhost:8080
  2. Show the dashboard stats (empty initially)
  3. Click "Upload" tab
  4. Load dataset: dataset.bin
  5. Show updated stats
  6. Switch to "Search" tab
  7. Run example queries:
    • Fruit query: 0.92,0.15,0.18,0.12,0.25,0.08,0.14,0.22
    • Vehicle query: 0.12,0.88,0.82,0.75,0.68,0.15,0.20,0.10
    • Color query: 0.50,0.48,0.15,0.12,0.92,0.88,0.20,0.15
  8. Highlight:
    • Real-time query times (< 1ms)
    • Beautiful UI
    • Result rankings

Script:

"Vectro+ includes a web interface for interactive demos. Here we load our dataset, see the stats update in real-time, and run semantic searches. Notice the query times - sub-millisecond searches with instant results. The UI shows similarity scores and ranks results by relevance."

Part 7: Benchmarks (1 minute)

What to show:

# Run benchmarks (show just the output, not the full run)
cargo run --release -p vectro_cli -- bench --summary

Script:

"For performance validation, we use Criterion benchmarks with statistical analysis. The summary shows median and mean query times, with historical comparisons to detect regressions. HTML reports provide detailed visualizations."

Tip: Pre-run benchmarks and just show the summary output to save time.

Part 8: Wrap-up (30 seconds)

What to show:

  • Show GitHub README
  • Highlight key metrics on screen

Script:

"To recap - Vectro+ provides streaming compression, 75% size reduction through quantization, microsecond search times, and a beautiful web interface. It's built in Rust for safety and performance. Check out the repo for docs, benchmarks, and more examples. Thanks for watching!"

🎨 Visual Tips

Terminal

  • Use a dark theme with good contrast
  • Consider using oh-my-zsh with a clean theme
  • Add syntax highlighting with bat instead of cat

Color Scheme

  • Stick with the enhanced demo script's colors
  • Green for success (βœ“)
  • Blue for info (β„Ή)
  • Cyan for data/output (β†’)
  • Yellow for warnings

Transitions

  • Use clear between major sections
  • Pause 1-2 seconds between commands for viewers to read
  • Use sleep 1 in scripts for pacing

πŸ“Š Key Metrics to Highlight

Create an overlay or final slide with:

πŸ“¦ Compression: 75-90% size reduction
⚑ Search Speed: <1ms query time
πŸ”„ Throughput: 10k+ queries/second
πŸ’Ύ Memory: Efficient streaming (no RAM limits)
πŸ¦€ Built with: Rust (safe + fast)

🎀 Voiceover Tips

Tone

  • Enthusiastic but not overhyped
  • Technical but accessible
  • Clear pronunciation of key terms

Pacing

  • Speak slightly slower than normal conversation
  • Pause after each major point
  • Let visual demos "breathe"

Key Terms to Emphasize

  • Streaming compression (solves memory limits)
  • Quantization (75% size reduction)
  • Cosine similarity (semantic search)
  • Microsecond latency (performance)
  • Rust (safety + speed)

πŸ“ Alternative: Silent Demo with Text

If doing a silent video:

  1. Add text overlays with key points
  2. Use arrows to highlight important output
  3. Add "before/after" comparisons
  4. Include metric call-outs

πŸš€ Quick Demo (2 minutes)

For a shorter demo:

# Run the enhanced demo script
./demo_enhanced.sh

This script includes:

  • Automatic pacing
  • Colored output
  • Progress indicators
  • All key features

Just record your terminal and let the script run!

πŸ“€ Post-Recording

Editing

  • Add title slide (5 seconds)
  • Add section headers as chapters
  • Speed up compilation/long waits (2-4x)
  • Add background music (optional, keep quiet)
  • Add end screen with links (10 seconds)

Export Settings

  • 1920x1080 or 1280x720
  • 30 or 60 fps
  • H.264 codec
  • High bitrate for text clarity

Publishing

  • Upload to YouTube/Vimeo
  • Add chapters/timestamps in description
  • Include links to GitHub repo
  • Add tags: rust, embeddings, vector search, AI/ML

πŸ”— Resources

  • Demo script: demo_enhanced.sh
  • Sample data: sample_semantic.jsonl
  • Documentation: DEMO.md, README.md
  • Web UI: http://localhost:8080

πŸ’‘ Pro Tips

  1. Record in segments - easier to edit and fix mistakes
  2. Test your script - run through once before recording
  3. Check audio sync - make sure voiceover matches visuals
  4. Add captions - makes content more accessible
  5. Keep it concise - 5-7 minutes is ideal for attention span
  6. Show, don't just tell - let the visuals speak

Ready to record? Run the checklist, practice once, then hit record! 🎬