0

ML Human Activity Classification

Using phone sensors to classify activity

Technologies Used

  • OpenCV
  • PyTorch
  • Seabourne
  • Pandas
  • Google Collab:
  • Jupyter Notebook: Within Gcollab

Key Features

  • Designed and implemented a REST server using Express.js in Node.js, containerized for scalability and easy deployment.
  • Collaborated on the creation of a local Raspberry Pi agent for communication with IoT devices under test.
  • Developed a real-time communication system with Socket.io managing rooms and bidirectional communication with connected devices.
  • Implemented a buffering and queue system using Bullmq to handle busy devices and adapt to limited resource constraints.
  • Utilized PostgreSQL for device data persistence and Redis for fast, in-memory data caching.
  • Integrated serial and other protocols to facilitate communication with hardware boards connected to the server.
  • Deployed the system on Google Cloud Platform (GCP) with configurations for load balancing, security, and scalability, including a load balancer, Network Endpoint Groups (NEG), Identity-Aware Proxy (IAP), and backend services.
  • Configured a separate Nginx instance as a reverse proxy for additional security and performance optimization for serverless services in GCP.

Deployment and Management

  • Employed Docker and Docker Compose for container management, simplifying development, testing, and production workflows.
  • Applied Terraform for infrastructure provisioning, enabling reproducible and scalable cloud environment setups.