How camthink-ai/aitoolstack works
AI Tool Stack is an edge-vision workflow product for collecting device imagery, organizing and annotating datasets, training and testing YOLO models, then quantizing and packaging them for NE301 deployment. The UI also manages model versions, devices, MQTT brokers and certificates. The graph follows documented product stages and source-indexed backend dispatch; several detailed UI-to-endpoint and device behaviors are not shown in the excerpts, so those links are documented at product level rather than inferred from module names.
Main entry points: routes.py API routes · mqtt_service.py Device image intake · App.tsx Application shell · mqtt_config_service.py MQTT configuration
Components 23
Web application
- Application shell
frontend/src/App.tsx - Project selection
frontend/src/components/ProjectSelector.tsx - Annotation workbench
frontend/src/components/AnnotationWorkbench.tsx - Training controls
frontend/src/components/TrainingPanel.tsx - Model space
frontend/src/components/ModelSpace.tsx - Device manager
frontend/src/components/DeviceManager.tsx - System settings
frontend/src/components/SystemSettings.tsx
AI model workflow
- Training service
backend/services/training_service.py - Dataset import
backend/utils/dataset_import.py - YOLO export
backend/utils/yolo_export.py - NE301 packaging
backend/utils/ne301_export.py - TFLite quantization
backend/quantization/tflite_quant.py
Device connectivity
- Device image intake
backend/services/mqtt_service.py - Built-in MQTT broker
backend/services/mqtt_broker.py - MQTT configuration
backend/services/mqtt_config_service.py - External brokers
backend/services/external_broker_service.py - WebSocket updates
backend/services/websocket_manager.py
Backend platform
- API routes
backend/api/routes.py - Application database
backend/models/database.py - API security
backend/utils/security_utils.py - Runtime configuration
backend/config.py
Other components
- User
- NE101 / NE301
Connections 35
- User → Application shell: uses
README.md - Application shell → Project selection: renders
frontend/src/App.tsx - Application shell → Annotation workbench: renders
frontend/src/App.tsx - Application shell → Training controls: renders
frontend/src/App.tsx - Application shell → Model space: renders
frontend/src/App.tsx - Application shell → Device manager: renders
frontend/src/App.tsx - Application shell → System settings: renders
frontend/src/App.tsx - Project selection → Annotation workbench: selects project
README.md - Annotation workbench → API routes: sends annotations
README.md - Training controls → API routes: requests training
README.md - Model space → API routes: manages models
README.md - Device manager → API routes: manages devices
README.md - System settings → API routes: configures brokers
README.md - API routes → Application database: reads and writes
backend/api/routes.py - API routes → Training service: dispatches training
backend/api/routes.py - API routes → Dataset import: imports datasets
backend/api/routes.py - API routes → YOLO export: exports datasets
backend/api/routes.py - API routes → NE301 packaging: packages models
backend/api/routes.py - API routes → Device image intake: configures intake
backend/api/routes.py - API routes → MQTT configuration: manages settings
backend/api/routes.py - API routes → External brokers: manages brokers
backend/api/routes.py - API routes → API security: checks access
backend/api/routes.py - Training service → Application database: persists records
backend/services/training_service.py - Device image intake → Application database: stores device data
backend/services/mqtt_service.py - Device image intake → WebSocket updates: broadcasts updates
backend/services/mqtt_service.py - Device image intake → Built-in MQTT broker: uses broker
backend/services/mqtt_service.py - Device image intake → MQTT configuration: loads settings
backend/services/mqtt_service.py - Device image intake → External brokers: supports external
backend/services/mqtt_service.py - Built-in MQTT broker → MQTT configuration: loads settings
backend/services/mqtt_broker.py - MQTT configuration → Application database: persists configuration
backend/services/mqtt_config_service.py - NE101 / NE301 → Device image intake: uploads imagery
README.md - Device image intake → API routes: feeds projects
README.md - NE301 packaging → TFLite quantization: supports quantization
README.md - API routes → Runtime configuration: uses settings
backend/api/routes.py - API security → Runtime configuration: reads settings
backend/utils/security_utils.py