Computer vision · Crowd safety · 2026

Stadium

Crowd and gate monitoring prototype

Counts people at stadium gates from video, flags crowding early and suggests where to move staff.

Role
Solo developer
Status
Working prototype
Year
2026
Code
github.com/Abdulel3h/Stadium
Concept visualizationIllustrative sketch of the idea — not a product screenshot.

In brief

  1. 01The problem

    Crowding at an entrance turns dangerous before anyone has counted it, and gate staff only see their own queue.

  2. 02What was built

    YOLO detects people in each frame, a decision engine sets the status of four gates, and a dashboard refreshes every two seconds.

  3. 03My role

    I built it solo: the detection, the decision engine, the API and the dashboard.

  4. 04Outcome

    A working prototype with public code. Not calibrated for a real venue, and no counting accuracy is claimed.

How it works

  1. 01Input

    Camera or video

  2. 02Processing

    YOLO person detection

  3. 03Intelligence

    Gate-zone status rules

  4. 04Output

    Live dashboard & alerts

Decisions that shaped it

  • Vision over new hardware

    Computer vision on ordinary camera feeds instead of new sensors — cheaper to trial, and it works with the cameras a venue already has.

  • Recommend an action, not just an alarm

    The decision engine doesn’t only flag a busy gate; it suggests where to move staff, so the output is something an operator can act on.

The honest part

Not claimed

No venue deployment and no counting-accuracy figures are claimed.

Limits today

  • Gate zones are hard-coded and need calibration for every camera angle.
  • No automated tests cover counting, alert thresholds or the API.
  • Not deployment-ready: camera privacy, latency and operations still need review.
  • Local model and video files make the repository large.

If it continued

  • Make gate zones configurable per camera
  • Measure counting accuracy on labelled footage
  • Add tests for thresholds and the status API

Stack

Python · Ultralytics YOLO · OpenCV · Flask · NumPy · JavaScript

The full recordContext, constraints and engineering notes, as written.

Context

A solo project, built end to end by Abdulelah.

The problem

Crowding at an entrance becomes a safety problem before anyone has counted it. Gate staff see their own queue, not the whole picture, so the decision that matters — move staff, redirect arrivals — often comes late.

What was built

YOLO detects people in each frame and assigns them to one of four gate zones. A decision engine sets each gate’s status — normal, busy, critical or overflow — logs alerts, estimates arrival time and recommends staff moves. A Flask API serves that state to a dashboard that polls every two seconds.

Outcome

A working prototype built solo: detection, zone assignment, four status states, an alert log, staff recommendations, a status API and a live dashboard. It has not been calibrated against a real venue, and no counting-accuracy figure is claimed.

Constraints

  • Use existing camera feeds instead of new sensors
  • Output has to be something an operator can act on immediately
  • Runs locally against video files or a webcam

Responsibilities

  • Built the whole system as a solo project
  • Implemented YOLO person detection and zone assignment
  • Designed the decision engine for gate status, alerts and staff recommendations
  • Built the Flask status API and the live dashboard

Engineering notes

  • Ultralytics YOLO detects people frame by frame
  • Each detection’s centroid is mapped to one of four gate zones
  • A decision engine assigns status, logs crowding and overflow alerts and estimates ETA
  • Flask exposes the current state at /api/status
  • An HTML dashboard polls the API every two seconds