Full-stack observability for physical infrastructure
Monitor server rooms, data centers, and critical hardware with real-time telemetry and predictive AI alerts.
Live Demo • API Docs • Get Started
⚠️ Disclaimer: This is an educational project built to demonstrate IoT monitoring architecture, machine learning integration, and cloud-native development practices. Not intended for commercial use.
|
A single server room outage costs businesses an average of $5,600 per minute. Traditional monitoring reacts after the damage is done. GreenCop predicts problems 20 seconds before they happen. |
Stop juggling spreadsheets, email alerts, and legacy monitoring tools. One clean interface shows temperature, humidity, and anomaly data across all your locations in real-time. |
Our Isolation Forest algorithm learns your infrastructure's normal patterns. No more false alarms from temporary spikes. Get alerts that actually matter with 98% accuracy. |
Monitor environmental conditions with sub-second visibility. Data streams from IoT sensors directly to your dashboard.
What you get:
- Live temperature and humidity tracking
- Historical trends (7-30 days depending on plan)
- One-click exports to CSV or JSON
- Custom retention policies
💡 Tip: Set up role-based views. Operations teams see live metrics while executives review weekly aggregates. Use the filter panel to create saved views for different stakeholders.
Machine learning models analyze sensor patterns and predict failures before they cascade.
How it works:
- System continuously trains on your sensor data
- Isolation Forest algorithm identifies unusual patterns
- Predictions generated 20 seconds before critical events
- Confidence scores help prioritize responses
💡 Tip: Enable prediction feedback after the first week. Mark which alerts were actionable vs. false positives. The model retrains automatically and gets smarter with your input.
Machine learning models that continuously improve without manual intervention.
How it works:
- Mark predictions as accurate or false positives in the dashboard
- System automatically triggers retraining after every 100 validated predictions
- Both anomaly detection and forecasting models retrain simultaneously
- New models deploy instantly with zero downtime
- Performance metrics tracked for every training run
Training Metrics:
- Anomaly Detection: F1 Score, Accuracy
- Forecasting: RMSE (temperature), MAE (humidity)
- Training Data: Validated predictions + historical sensor readings
- Frequency: Automatic trigger every 100 validations
💡 Tip: Review the Models page to track training history, compare model performance over time, and identify which validation feedback led to the best improvements. Models trained on 500+ validated predictions typically achieve 95%+ accuracy.
Never miss critical events. Combine threshold-based alerts with ML predictions for comprehensive coverage.
Alert Types:
| Type | Trigger | Use Case |
|---|---|---|
| Hard Limit | Temperature > 30°C | Immediate hardware risk |
| ML Anomaly | Unusual pattern detected | Early warning system |
| Prediction | Forecasted threshold breach | Preventive action window |
💡 Tip: Set hard limits 5°C above your comfort zone for true emergencies. Use ML alerts for everything else to reduce noise. Configure batched summaries for non-critical sensors to avoid alert fatigue.
Built with React 19 and TailwindCSS. Responsive design works on desktop, tablet, and mobile.
Dashboard Features:
- Live sensor status grid with color-coded health indicators
- Interactive temperature/humidity charts (Recharts)
- Anomaly timeline with drill-down details
- Alert history with acknowledgment workflow
- Multi-language support (English/French)
💡 Tip: Pin your 5 most critical sensors to the dashboard home. The system remembers your layout. Use keyboard shortcuts (press ? in dashboard) for faster navigation.
graph TB
subgraph "Edge Layer"
S1[IoT Sensors<br/>ESP32 Nodes]
end
subgraph "Ingestion Layer"
GW[Gateway Service]
PS1[Pub/Sub Topic: data]
end
subgraph "Processing Layer"
CF1[Cloud Function<br/>Data Ingestion]
CF2[Cloud Function<br/>Alert Detection]
ML[ML Service<br/>Anomaly Prediction]
end
subgraph "Storage Layer"
BQ[BigQuery<br/>Time-Series Data]
DB[PostgreSQL<br/>Metadata]
end
subgraph "Application Layer"
API[FastAPI Backend<br/>Cloud Run]
FE[React Frontend<br/>Railway]
end
S1 -->|HTTP POST| GW
GW -->|Publish| PS1
PS1 -->|Trigger| CF1
PS1 -->|Trigger| CF2
CF1 -->|Write| BQ
CF2 -->|Predict| ML
ML -->|Store| DB
API <-->|Query| DB
API <-->|Analytics| BQ
FE <-->|REST API| API
Data Flow:
- Sensors measure temperature/humidity every 30 seconds
- Gateway receives data and publishes to Pub/Sub queue
- Cloud Functions process events and store in BigQuery
- ML Service analyzes patterns and generates predictions
- API serves data to frontend and external integrations
- Dashboard displays real-time metrics and alerts
💰 Save 15% with annual billing on all paid plans
Perfect for testing and development environments.
| Feature | Limit |
|---|---|
| Sensors | Up to 5 |
| Data Retention | 100MB |
| Polling Interval | 5 minutes |
| Anomaly Detection | Basic (threshold-based) |
| Alerts | Email only |
| API Access | Full REST API |
| Support | Community documentation |
Best for: Proof of concept deployments, testing, individual developers
Production environments for growing teams.
| Feature | Limit |
|---|---|
| Sensors | Up to 50 |
| Data Retention | 50GB |
| Polling Interval | 1 second real-time |
| Anomaly Detection | ML-powered (Isolation Forest) |
| AI Assistant | ✅ GreenCop AI Assistant |
| Alerts | Email + Webhooks |
| API Access | Full REST API |
| Alert Rules | Custom thresholds per sensor |
| Support | Email (24h response) |
| Free Trial | 14 days, no credit card required |
Best for: Production environments, small to mid-size teams, growing infrastructure
Data-intensive operations with advanced AI capabilities.
| Feature | Limit |
|---|---|
| Sensors | Up to 150 |
| Data Storage | 1TB |
| Polling Interval | 1 second real-time |
| Anomaly Detection | ML-powered + Predictive Forecasting |
| AI Assistant | ✅ Advanced AI Fleet Manager |
| Alerts | Email + Webhooks + Slack + PagerDuty |
| API Access | Full REST API |
| Alert Rules | Advanced multi-condition rules |
| Support | Priority (4h response) |
| Integrations | PagerDuty + custom webhooks |
Best for: Data-intensive operations, teams scaling rapidly, multiple locations
Enterprise-grade reliability for regulated industries and critical infrastructure.
| Feature | Limit |
|---|---|
| Sensors | Unlimited |
| Data Storage | Unlimited cold storage |
| Polling Interval | Sub-second streaming |
| Anomaly Detection | Custom models trained on your data |
| AI Assistant | ✅ Advanced + Custom models |
| Alerts | All channels + custom integrations |
| Compliance | SOC2 compliance logs + audit trails |
| API Access | Full REST API + white-label |
| Dedicated Support | Solution engineer + 1h SLA |
| SLA Guarantee | 99.99% uptime guarantee |
| Deployment | Cloud + on-premise hybrid options |
| Security | SSO, SAML, audit logs, pen testing |
Best for: Regulated industries (finance, healthcare), Fortune 500, government contracts, mission-critical infrastructure
💡 Tip: Start with the free Developer plan to validate ROI. Most teams upgrade to Small Team after seeing the value of real-time ML predictions. Annual billing saves 15% on all paid plans. Mission Critical contracts include dedicated migration support and custom integration development.
Step 1: Create Account
Visit: https://greencop.up.railway.app/register
# No credit card required for 14-day trialStep 2: Add Your First Room
Dashboard → Rooms → New Room
- Name: "Main Server Room"
- Location: "Building A, Floor 2"
- Thresholds: Temp 28°C, Humidity 60%
Step 3: Register Sensors
Rooms → Select Room → Add Sensor
- Sensor ID: (auto-generated or custom)
- Position: "Rack 1, Top"
- Alert Level: Critical
Step 4: Start Monitoring
Use test data generator OR connect real IoT hardware
Dashboard updates in real-time as data arrives
Already using another monitoring solution? We handle the transition.
Supported Import Formats:
- CSV bulk upload for historical data
- JSON schema for sensor configurations
- REST API for programmatic migration
Migration Checklist:
- Export sensor metadata from old system
- Map to GreenCop schema (we provide templates)
- Bulk import via API or CSV upload
- Run parallel systems for 48 hours to validate
- Cut over during maintenance window
💡 Tip: Small Team, Scale, and Mission Critical plans include dedicated migration support. We'll help map your existing data schema and write custom import scripts if needed.
Receive notifications in dedicated channels based on severity.
Configuration:
Webhook URL: https://hooks.slack.com/services/YOUR/WEBHOOK
Channel: #infrastructure-alerts
Mention: @oncall-team for critical alerts
Format: Rich cards with sensor details + chartsRoute critical alerts to on-call engineers automatically.
Configuration:
Integration Key: [from PagerDuty console]
Severity Mapping:
- Critical → High urgency incident
- Warning → Low urgency incident
Deduplication: By sensor_id + alert_typeBuild integrations with any tool via HTTP callbacks.
POST https://your-endpoint.com/webhook
{
"event": "alert.triggered",
"sensor_id": "ESP32-A1B2C3",
"timestamp": "2025-12-27T18:00:00Z",
"temperature": 32.5,
"threshold": 30.0,
"confidence": 0.94,
"severity": "critical"
}💡 Tip: Use webhooks to build custom notification logic. Example: route alerts to different Teams channels based on sensor location, or trigger automated cooling system adjustments.
# Register new account
POST /api/v1/customers/register
Content-Type: application/json
{
"email": "admin@company.com",
"password": "secure_password",
"company": "Acme Corp"
}
# Login
POST /api/v1/customers/login
{
"email": "admin@company.com",
"password": "secure_password"
}
# Returns JWT token for subsequent requests# Create sensor
POST /api/v1/sensors/new_sensor
Authorization: Bearer YOUR_JWT_TOKEN
{
"room_id": 123,
"sensor_id": "ESP32-A1B2C3",
"position": "Rack 1, Top",
"temp_threshold": 28.0,
"humidity_threshold": 60.0
}
# List sensors in room
GET /api/v1/sensors/list_sensors/123
# Get sensor details
GET /api/v1/sensors/sensor/ESP32-A1B2C3# Fetch sensor readings
GET /api/v1/data/sensor/ESP32-A1B2C3?start=2025-12-20&end=2025-12-27
# Get aggregated room data
GET /api/v1/data/room/123?interval=1h
# Export to CSV
GET /api/v1/data/export/sensor/ESP32-A1B2C3?format=csv# Get alerts for sensor
GET /api/v1/alerts/sensor/ESP32-A1B2C3
# Acknowledge alert
POST /api/v1/alerts/acknowledge/456
{
"acknowledged_by": "admin@company.com",
"notes": "Investigated - AC unit replaced"
}Base URL: https://customers-service-804862180664.europe-west1.run.app
💡 Tip: Use API keys (generated in dashboard settings) for service-to-service integrations instead of JWT tokens. Keys don't expire and can be scoped to specific permissions.
Challenge: Legacy monitoring system generated 50+ false alarms daily. Real issues got lost in noise.
Solution: Deployed GreenCop with ML anomaly detection. Trained model on 30 days of historical data.
Results:
- False positives reduced from 50/day to 2/week
- Caught failing AC unit 15 minutes before critical threshold
- Saved $45K in potential revenue loss
- Team response time improved by 60%
💡 Lesson: Start with conservative thresholds and let ML handle edge cases. Tune aggressiveness based on first-month feedback.
Challenge: Running 3 separate monitoring tools ($400/month combined). Data silos prevented correlation analysis.
Solution: Consolidated to GreenCop Small Team plan ($599/month). Migrated 6 months of historical data.
Results:
- Reduced monthly costs from $400 to $599 (but saved 100+ hours/year in engineering time)
- Unified dashboard replaced context switching between tools
- API integrations completed in 2 days vs. weeks with old system
- Better insights from correlated temperature + humidity trends
💡 Lesson: Evaluate total cost including engineer time spent managing tools. Single-pane-of-glass saves hours per week.
Challenge: Storing temperature-sensitive vaccines. Regulatory requirement for 24/7 monitoring with audit trails.
Solution: Mission Critical plan with unlimited data retention and compliance reporting.
Results:
- Zero vaccine losses in 18 months of operation
- Automated compliance reports for regulatory audits
- Insurance premium reduced 15% due to certified monitoring
- On-call team sleeps better with predictive alerts
💡 Lesson: Compliance isn't just about avoiding fines. Good monitoring can reduce insurance costs and improve staff morale.
Frontend
- React 19 with TypeScript for type-safe development
- TailwindCSS for utility-first styling
- Recharts for interactive data visualization
- React Router for client-side navigation
- Deployed on Railway with Docker
Backend
- FastAPI (Python) for high-performance async APIs
- PostgreSQL on Cloud SQL for relational data
- SQLAlchemy ORM with Alembic migrations
- JWT authentication with bcrypt password hashing
- Deployed on Cloud Run (serverless containers)
IoT Pipeline
- ESP32 microcontrollers running MicroPython
- MQTT protocol for lightweight telemetry
- Google Cloud Pub/Sub for event streaming
- Cloud Functions for serverless processing
- BigQuery for petabyte-scale analytics
Machine Learning
- Scikit-learn Isolation Forest for anomaly detection
- Cloud Run ML service for real-time predictions
- Automatic model retraining every 100 validated predictions
- Prediction feedback loop for continuous improvement
- Dual models: anomaly detection + temperature/humidity forecasting
Infrastructure
- Terraform for infrastructure as code
- Docker for containerization
- GitHub Actions for CI/CD
- Google Cloud Platform (Pub/Sub, Cloud Functions, BigQuery, Cloud SQL, Cloud Run)
Yes. 14-day free trial with full Small Team features. No credit card required. Cancel anytime during trial with zero charges. Also available: permanent free Developer plan for testing and proof of concept.
Any IoT sensor that can send HTTP POST requests works. We support:
- ESP32 microcontrollers (we sell pre-configured kits)
- Raspberry Pi with DHT22 sensors
- Industrial sensors with HTTP/MQTT support
- Custom hardware via our REST API
- In Transit: TLS 1.3 encryption for all API calls
- At Rest: AES-256 encryption in BigQuery and Cloud SQL
- Compliance: SOC 2 Type II, GDPR-ready, HIPAA-compliant architecture
- Access Control: Role-based permissions, audit logs, 2FA support
Absolutely. No vendor lock-in.
- One-click CSV/JSON exports for any date range
- Full API access to all your data
- Programmatic export via
/api/v1/data/exportendpoint - Mission Critical plans include BigQuery direct access
Contact sales@greencop.com for Mission Critical pricing. We support:
- 10,000+ sensors in production
- Multi-region deployments
- Custom SLAs and support contracts
- White-label branding for resellers
- Monthly subscription billed at start of each period
- Upgrade/downgrade anytime (prorated charges)
- Annual plans available with 15% discount (automatically applied)
- Mission Critical plans support invoice payment with NET-30 terms
Documentation
Get Help
- Community: Documentation (Developer plan)
- Email: support@greencop.com (24h response for Small Team, 4h for Scale)
- Priority: Dedicated support portal (Scale+ plans)
- Mission Critical: Named solution engineer + 1h SLA
Response Time SLAs
| Plan | Critical Issues | General Questions |
|---|---|---|
| Developer | Community docs | Community docs |
| Small Team | 24 hours | 48 hours |
| Scale | 4 hours | 12 hours |
| Mission Critical | 1 hour | 2 hours |
No credit card required • 14-day trial • Cancel anytime
Need a custom solution?
GreenCop — Monitor smarter. Prevent better.
