Skip to content
All projects

Year

2026

Role

Full system — distributed architecture, client, inference service, runtime optimisation, deployment

Stack

  • Python
  • YOLOv8
  • ONNX Runtime
  • FastAPI
  • Flask
  • OpenCV
  • SQLite
  • Docker
  • Modal

Distributed inference

Classroom Trash Detection

A computer-vision system split across a network. A stateful client handles the camera and the dashboard, and a stateless FastAPI service runs YOLOv8 on a GPU.

  • Refactored a single-process app into a stateful client and a stateless GPU inference service, connected by one authenticated HTTP contract.
  • Cut network and GPU load by downscaling frames to 640 px and rescaling the returned coordinates, and by running inference on sampled frames with cached results in between.
  • Added a local fallback for when the remote service is down, and a status API that reports which backend served each request and how long it took.
  • Exported the model to half-precision ONNX, loaded it at startup, and deployed the same FastAPI app to a notebook GPU, a Docker image and a serverless GPU.
Model formats
3
PyTorch, ONNX, TensorRT
Upload width
640 px
Deploy targets
3