Valthera is an open-source system for building your own computer vision stack — including software, hardware, and AI tools.
You can:
- Build a stereo depth camera using our hardware designs
- Run video through a GPU-based processing pipeline
- Use a built-in agent to help train your own video classifiers
- Deploy models to the cloud or on local hardware like Jetson Nano
Everything is open-source. No need for labeled datasets or ML expertise.
Valthera comes with:
1. Software
- Video processing with V-JEPA embeddings
- LLM-powered agent to help define and train classifiers
- Frontend app to view videos, define concepts, and monitor models
- Backend API and storage using AWS tools (Lambda, S3, DynamoDB)
- Local setup scripts for running everything on your machine
2. Hardware
- Open-source stereo vision rig with 3D-printable parts
- Jetson Nano-compatible GPU processing unit
- Camera calibration, wiring, and setup instructions
- Support for USB cameras and live video capture
You can use Valthera to:
- Train a robot to detect when a task is complete
- Monitor lab equipment or track experiment steps
- Watch for safety events in a room or workspace
- Classify movement patterns in video without writing code
- Upload or stream a video
- Tell the agent what kind of event or behavior you want to detect
- Train a classifier based on your concept
- Deploy the model and run predictions on new video
The agent helps at every step. You can run this locally or in the cloud.
valthera/
├── app/ # Frontend UI
├── agent/ # LangGraph agent
├── lambdas/ # Backend functions
├── containers/ # Video processing
├── devices/ # Camera support (Jetson, RealSense)
├── hardware/ # CAD files, setup guides, diagrams
├── scripts/ # Dev tools and local setup
└── packages/ # Shared Python code
git clone https://github.com/valthera/valthera.git
cd valthera
# Start backend services (Docker containers, SAM API, etc.)
./valthera-local start
# In a new terminal, install React app dependencies and start the app
cd app && pnpm install && pnpm run devThis sets up:
-
Backend Services (started by
valthera-local start):- API backend at http://localhost:3000
- Local S3, DynamoDB, and Cognito
- Docker containers for V-JEPA and agent
-
Frontend App (started manually):
- React app at http://localhost:5173
If this is your first time running the project:
-
Start backend services:
./valthera-local start
This will:
- Start all Docker containers
- Set up AWS resources (DynamoDB tables, S3 buckets, SQS queues)
- Configure Cognito with test user
- Start SAM API
- Generate environment files if missing
-
Install React app dependencies and start the app:
cd app && pnpm install && pnpm run dev
This will:
- Install all React app dependencies
- Start Vite development server
- Serve the React app
For subsequent runs, you can skip the install step if dependencies are already installed:
# Start backend services
./valthera-local start
# Start React app (if dependencies are already installed)
cd app && pnpm run devAfter setup, you can log in with:
- Email: test@valthera.com
- Password: TestPass123!
The local SQS service (ElasticMQ) runs on port 9324. You can monitor queues using these methods:
# List all queues
aws --endpoint-url http://localhost:9324 sqs list-queues | jq
# Check queue message counts
aws --endpoint-url http://localhost:9324 sqs get-queue-attributes \
--queue-url "http://localhost:9324/123456789012/video-processor-queue" \
--attribute-names ApproximateNumberOfMessages,ApproximateNumberOfMessagesNotVisible,ApproximateAgeOfOldestMessageThe startup script automatically installs sqs-admin, which provides a web interface:
# Start the SQS Admin web interface
sqs-admin --endpoint http://localhost:9324Then open http://localhost:3001 in your browser to view and manage queues.
# Watch queue status in real-time
watch -n 2 'aws --endpoint-url http://localhost:9324 sqs list-queues | jq -r ".QueueUrls[]" | while read url; do name=$(basename "$url"); count=$(aws --endpoint-url http://localhost:9324 sqs get-queue-attributes --queue-url "$url" --attribute-names ApproximateNumberOfMessages --query "Attributes.ApproximateNumberOfMessages" --output text); echo "$name: $count messages"; done'If you encounter issues:
- Check service status:
./valthera-local status - View logs:
tail -f logs/sam.log(backend) or check browser console (frontend) - Restart services:
./valthera-local restart - Port conflicts:
./valthera-local check-ports - Reinstall React dependencies:
cd app && pnpm install
To build the stereo camera, check the hardware/ folder for CAD files and setup steps.
We’re looking for people to:
- Improve the video processing pipeline
- Contribute to the LangGraph agent
- Help test and improve the hardware design
- Add new model training tools
- Use Valthera in real robotics or video projects
Start with CONTRIBUTING.md or open an issue with ideas.
- Software: Apache 2.0
- Hardware: CERN-OHL-W v2
Valthera gives you the full stack for building custom video classifiers — from the camera to the model. It’s open-source, runs locally or in the cloud, and is designed to be simple to use and easy to modify.