Skip to content
View ellegance78's full-sized avatar

Block or report ellegance78

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ellegance78/README.md

🇬🇧 English · 🇹🇷 Türkçe

Berkay Çağatay Şahin

Computer engineering student. I build computer-vision and full-stack systems that run in industrial settings — where the interesting problems are rarely the model, and usually everything around it.


What I worked on this summer

Forty working days in the process automation department of an integrated iron and steel plant, on machine-vision systems for the steelmaking and blast furnace areas.

Detects steel ladles on plant CCTV, keeps their identity across frames, and records when each one entered and left a camera's view — replacing a handwritten log.

YOLO11l · ByteTrack · OpenCV · PostgreSQL · Flask · RTSP

The detector reached mAP@0.5 = 0.988 on an 835-image dataset I labelled myself. The part I'd actually point at, though, is the live trial that failed: connected to real streams it produced duplicate records, phantom 5-second entries and timestamps drifting behind the clock. Tracing every bad row back to the footage gave four distinct root causes — ID switching under smoke, unfiltered momentary detections, an unset compute device, and a zone loader picking the oldest file. Fixing those and retraining on the cameras the model had under-seen took a 15-hour recording from 25 records down to 16, matching the count made by hand.

Turned hours of blast furnace tuyere footage into a labelled dataset: 20,169 clips classified as normal / abnormal / uncertain.

FFmpeg · Flask · Python

Splitting used stream copy instead of re-encoding; the annotation UI has keyboard shortcuts so the whole set could be worked through without touching the mouse. The resulting dataset is ~2.7% abnormal — which is itself the most important finding for whoever trains on it.

Replaced a paper ledger with a fully traceable goods-movement system.

Flask · SQLite · Jinja2 · JavaScript

Stock is never stored — it is derived from movements, so a mismatch between the stock figure and the history is structurally impossible. Checks are shelf-level, not item-level.

Six-class defect detection on hot-rolled strip using the public NEU dataset.

YOLOv9 · PyTorch · Gradio

mAP@0.5 = 0.702. The two weak classes look alike at low contrast — a lighting problem more than a model problem.


Other work

Beyond the repositories above I have two larger systems in progress — an IoT platform with field hardware, and a multi-tenant live fleet-tracking system. Both are commercially confidential while licensing and incorporation are under way, so the source and architecture are not published. I'm glad to discuss them in more detail in a conversation.


Tools

Vision & ML — Ultralytics YOLO (v9, v11), ByteTrack, BoT-SORT, OpenCV, PyTorch, Label Studio Backend — Python, Flask, FastAPI, PostgreSQL, TimescaleDB, SQLite, Redis Frontend — React, TypeScript, Vite, MapLibre GL, Jinja2 Ops — Docker, Docker Compose, Caddy, systemd, FFmpeg, Git


A note on the industrial repositories

The four internship projects were built inside a working steel plant. All plant footage, camera identifiers, trained weights and zone calibration data are confidential and are not published. What those repositories contain is the code, the architecture and the reasoning behind the decisions — enough to judge the engineering, nothing that identifies the site.

Popular repositories Loading

  1. Data-Structures-Projects Data-Structures-Projects Public

    C++

  2. ladle-tracking-system ladle-tracking-system Public

    Computer-vision system that detects steel ladles on plant CCTV, tracks their identity across frames,

    Python

  3. tuyere-anomaly-annotation tuyere-anomaly-annotation Public

    Tooling that turned **20,169 short clips** of blast furnace tuyeres into a labelled dataset, ready f

    HTML

  4. warehouse-management-system warehouse-management-system Public

    A full-stack web application that replaced a paper ledger for a factory warehouse, making every good

    Python

  5. steel-surface-defect-detection steel-surface-defect-detection Public

    YOLOv9 object detection for six classes of surface defect on hot-rolled steel strip, trained by tran

    Python

  6. ellegance78 ellegance78 Public

    About me