A Go-based IoT data sandbox that enables LLM-driven analysis and manipulation of time-series data.
Users interact with the system through natural language prompts:
- "show me any anomalies that occurred in the last 3 days"
- "plot the moving average with a window of 6 hours"
An agentic AI agent orchestrates a registered set of tools to fulfill these requests, ranging from simple statistical analysis to AI/ML forecasting models and anomaly detection.
| Repository | Description |
|---|---|
| iot-data-sandbox | Go backend API server |
| iot-data-sandbox-ui | Vue.js frontend application |
git clone https://github.com/nathanaday/iot-data-sandbox.git
cd iot-data-sandbox
go run cmd/server/main.goThe server runs on localhost:8080.
git clone https://github.com/nathanaday/iot-data-sandbox-ui.git
cd iot-data-sandbox-ui
npm install && npm run devThe frontend expects the backend to be running at localhost:8080.
The entity hierarchy follows: project -> datalayer -> datasource
- Project - Logical container for datalayers; enables save/load of entire workspaces
- Datalayer - Wraps a datasource with visual properties (color, theme, z-index) for UI display
- Datasource - Manages CSV data and tracks timeseries metadata (length, labels, time span)
go install github.com/swaggo/swag/cmd/swag@latest
swag init -g cmd/server/main.go