AI-powered platform for locating radio transmissions using distributed WebSDR receivers.
- Accuracy: ±30m (68% confidence)
- Latency: <500ms processing
- Network: 7 distributed WebSDR receivers (Italian 2m/70cm bands)
- Status: Phase 7 in progress (Frontend development)
# Clone repository
git clone https://github.com/fulgidus/heimdall.git
cd heimdall
# Configure environment
cp .env.example .env
# Start all services (Docker required)
docker-compose up -d
# Verify health
make health-checkDone! Open http://localhost:3000
| Component | Technology | Purpose |
|---|---|---|
| Backend | Python (FastAPI + Celery) | Microservices |
| ML Pipeline | PyTorch Lightning + MLflow | Training & Inference |
| Frontend | React + TypeScript + Mapbox | Web UI |
| Storage | PostgreSQL + TimescaleDB | Time-series data |
| Queue | RabbitMQ | Task orchestration |
| Object Storage | MinIO (S3-compatible) | IQ data & models |
| Deployment | Kubernetes + Helm | Production |
Getting Started:
- Quick Start - Setup in 5 minutes
- Development Guide - Contributing and local setup
- FAQ - Common questions
Reference:
- API Reference - REST endpoints
- Architecture - System design
- Health Checks - Service health monitoring
- Deployment - Production setup
Project:
- Contributing - How to contribute
- Roadmap - Development phases
- Changelog - Version history
Phase Progress (6/11 complete):
✅ Phases 0-6: Infrastructure, Services, ML Pipeline, Inference
🟡 Phase 7: Frontend (In Progress)
⏳ Phases 8-10: Kubernetes, QA, Release
Performance Metrics (validated in Phase 4):
- API latency: 52ms average (P95: 52.81ms)
- Concurrent capacity: 50 simultaneous tasks
- Success rate: 100%
- Container memory: 100-300MB per service
Amateur Radio:
- DX station localization
- Interference source tracking
- Contest verification
Emergency Services:
- Search and rescue beacon location
- First responder coordination
Research:
- Radio propagation studies
- Spectrum management
- Educational demonstrations
# Backend tests
make test
# Frontend tests
cd frontend && pnpm test
# E2E tests (real backend integration)
./scripts/run-e2e-tests.shCoverage: >80% across all services
E2E Tests: 42 tests, 100% real HTTP calls
We welcome contributions! See Contributing Guidelines for details.
Quick Steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with tests
- Submit a pull request
CC Non-Commercial - Developed by fulgidus for the amateur radio community.
See LICENSE for full details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Heimdall's mission is to democratize radio source localization, making it accessible to everyone while advancing radio science and emergency communications.
We believe that radio waves belong to everyone, and everyone should have the tools to understand and explore them.
Ready to see the invisible? → Start Your Journey
