Overview
This guide will take you from zero to capturing and identifying your first person with JARVIS in under 5 minutes. You’ll see the real-time corkboard interface populate with intelligence as agents research in parallel.This quickstart assumes you’ve completed the Installation guide. If not, start there first.
What You’ll Build
By the end of this guide, you’ll have:- ✅ Backend server running with face detection
- ✅ Frontend corkboard interface
- ✅ Real-time Convex connection
- ✅ Your first person capture and dossier
Start the Backend
Start the Frontend
Open the interface
Navigate to http://localhost:3000 in your browser.You should see the JARVIS corkboard interface - a cork texture background ready to display person cards.
Your First Capture
Now let’s capture and identify a person. We’ll use a photo to test the full pipeline.Prepare a test image
Find a photo of a person (you can use a photo of yourself, a colleague, or a public figure). Save it as
test-person.jpg.For best results, use a clear frontal photo with good lighting and a visible face.
Watch the corkboard come to life
Switch back to your browser at http://localhost:3000.You should see:
- Initial spawn (1-2 sec): A paper card slides onto the corkboard with the photo and “Identifying…” status
- Name appears (5-10 sec): The person’s name is identified and appears on the card
- Data streams in (10-60 sec): Intel fragments appear as agents research LinkedIn, Twitter, web sources
- Dossier complete (30-90 sec): The full dossier is synthesized and the card is marked complete
The first capture may take longer as models initialize. Subsequent captures will be faster.
Click to view full dossier
Click on the person card to zoom into the full dossier view. You’ll see:
- Summary: 2-3 sentence overview
- Current role: Title and company
- Work history: Previous positions
- Education: Schools and degrees
- Social profiles: Links to LinkedIn, Twitter, etc.
- Notable activity: Recent posts, articles, projects
- Conversation hooks: Suggested topics based on recent activity
Understanding the Pipeline
Here’s what happened behind the scenes:Face Detection
MediaPipe detected the face in your image and extracted facial landmarks.File:
backend/identification/detector.py:34Face Embedding
ArcFace generated a 512-dimensional embedding vector representing the face.File:
backend/identification/embedder.py:28Reverse Image Search
The face was searched using PimEyes or Google reverse image search to find matching profiles.File:
backend/identification/search_manager.py:67Initial Identification
GPT-4o Vision analyzed search results to extract the person’s name and likely social profiles.File:
backend/identification/vision.py:45Agent Swarm Launch
The orchestrator spawned multiple Browser Use agents in parallel to research:
- LinkedIn profile
- Twitter activity
- Instagram presence
- Web mentions
- Company information (via Exa API)
backend/agents/orchestrator.py:112Real-time Streaming
As each agent completed, results were streamed to Convex and immediately appeared in the frontend.File:
backend/pipeline.py:234Check the Logs
JARVIS logs everything for debugging and observability.Backend Logs
- Face detection results
- Identification confidence scores
- Agent task assignments
- LLM API calls
- Errors and warnings
Convex Dashboard
Open the Convex dashboard to see real-time data:capturestable: All submitted imagespersonstable: Identified people with dossiersintelFragmentstable: Raw research data from agentsconnectionstable: Relationships between people
Capture a Second Person
Let’s see relationship detection in action.Submit another capture
Find a photo of someone related to your first person (coworker, co-founder, mutual connection):
Using the Live Feed
Stream Mode (WebSocket)
For real-time updates during capture, use the streaming endpoint:Telegram Bot (Optional)
If you have a Telegram bot configured, you can capture directly from Telegram:Send a photo to your bot
- Open Telegram
- Find your JARVIS bot (the one you configured with
TELEGRAM_BOT_TOKEN) - Send a photo of a person
Next Steps
Architecture Deep Dive
Understand the pipeline components and data flow
API Reference
Explore all backend endpoints
Configuration
Configure agent behavior, timeouts, and thresholds
Meta Glasses Setup
Connect Meta Ray-Ban glasses for hands-free capture
Common Issues
No face detected in image
No face detected in image
Possible causes:
- Photo quality is too low
- Face is not frontal (profile shots don’t work well)
- Face is obscured by sunglasses, mask, or hair
- Use a clearer, higher-resolution photo
- Ensure the face is directly facing the camera
- Remove obstructions
backend/config.py:78:Person identified incorrectly
Person identified incorrectly
Possible causes:
- Reverse image search returned wrong results
- Vision LLM misinterpreted search results
- Insufficient context to disambiguate common names
- Provide more context in the capture request:
- Check Laminar traces to see search results:
backend/observability/laminar.py
Agents timing out or failing
Agents timing out or failing
Possible causes:
- Browser Use cloud API rate limits
- Target website blocking automation
- Network issues
- Check your Browser Use credits at cloud.browser-use.com
- Increase timeouts in
backend/config.py: - Enable verbose logging:
Dossier is incomplete or inaccurate
Dossier is incomplete or inaccurate
Expected behavior:
JARVIS synthesizes dossiers from public sources. Results depend on:
- Public information availability
- Agent success rate
- LLM synthesis quality
- Add more research agents in
backend/agents/ - Configure SuperMemory for cross-session memory:
- Enable Exa API for structured company data:
Frontend not updating in real-time
Frontend not updating in real-time
Check Convex connection:
- Open browser DevTools → Network tab
- Look for WebSocket connection to
convex.cloud - Should show “101 Switching Protocols”
- Verify
NEXT_PUBLIC_CONVEX_URLin.env - Check Convex dashboard:
npx convex dashboard - Restart frontend:
npm run dev
Advanced Usage
Batch Processing
Process multiple photos at once:Custom Agent Orchestration
Create a custom research agent:Export Dossiers
Export person data as JSON:Production Deployment
Get Help
If you’re stuck:- Documentation: Browse the full docs at
/docs - GitHub Issues: Report bugs at
github.com/your-org/jarvis/issues - Logs: Check
/tmp/jarvis_backend.logfor detailed error traces - Health Check:
curl http://localhost:8000/api/healthto verify service status
Performance tip: The first capture initializes models and can take 30-60 seconds. Subsequent captures are much faster (5-15 seconds).