Skip to content
View yagizakkaya01's full-sized avatar

Highlights

  • Pro

Block or report yagizakkaya01

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. 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
yagizakkaya01/README.md

🧭 About Me

name:      Yağız Akkaya
role:      Computer Engineering Student @ METU NCC
focus:     [ LLM Tool Calling & Agents, Retrieval-Augmented Generation, Computer Vision, Edge AI, Backends ]

I build systems that see and systems that read — computer vision models that run on constrained edge hardware, and LLM applications that let people ask questions of documents and databases they'd never have time to open. Lately that means tool-calling agents: the model picks a typed tool, the database or the document does the real work, and code checks the answer before anyone sees it.

Most of my work lives at the awkward, interesting seam between a model that works in a notebook and a system that survives real production environments: single-label datasets meeting multi-defect reality, detector jitter breaking naïve logic, GPU memory limits under concurrent ingestion, and high-throughput vector indexing. I measure what I ship with gold-set evaluations (held-out splits, honest failure counts) instead of quoting the best demo run.


🛠️ Tech Stack

Languages

Python C C# SQL Bash Verilog

Computer Vision & Edge AI

PyTorch Ultralytics OpenCV TensorRT Jetson OAK-D Anomaly Detection

LLM, Retrieval & Search

LangChain Tool Calling NVIDIA NIM Gemini Qdrant FAISS Meilisearch BM25 Rerankers

Backend, Data & Infrastructure

PostgreSQL FastAPI Flask Django React Azure Blob Docker Prometheus Caddy GitHub Actions pytest Git Linux


🚀 Featured Projects

Document chat with page-level citations that code verifies

Upload a PDF, ask questions in a conversation, get an answer with the page number and a quote from the document.

  • Tool calling instead of a fixed retrieval step: the model reads the document through typed tools, decides when it has enough, and returns a structured answer that code checks — the quote must appear word for word on the cited page
  • Full stack: FastAPI + LangChain backend, React UI with a "Show evidence" view that opens the PDF page with the quote highlighted, PostgreSQL chat history, Azure Blob storage (Azurite), live tool steps over SSE
  • Measured, not claimed: 29/30 on a 30-question gold set (all answers correct, no citations on the 5 unanswerable questions, a prompt injection in the document ignored), plus a harder set built from reported legal-RAG failure modes; pytest + ruff in GitHub Actions

Python FastAPI LangChain React PostgreSQL Azure Blob NVIDIA NIM Docker Compose

🕌 Kervansaray · live demo

Car-park entry/exit intelligence with a natural-language query layer (private repo)

Event store, session reconciliation and Turkish natural-language querying for fixed-camera license-plate data, built during my Heysem AI internship.

  • Event pipeline: idempotent ingest, plate canonicalization, bounded fuzzy matching and entry/exit session reconciliation on PostgreSQL 16, fed by a deterministic synthetic data generator with known ground truth
  • LLM layer: tool calling over typed SQL tools (NVIDIA NIM Gemma 4 31B, Gemini Flash fallback) — SQL does all the counting, the model never guesses a number; deterministic date parsing and out-of-scope refusal
  • Evaluation: 209-question gold set (56 dev + 153 held-out) scored by an independent Python oracle with Wilson 95% intervals; real-time rule-based alerts over SSE, Prometheus metrics

Python Flask PostgreSQL SQLAlchemy Alembic NVIDIA NIM Gemini Docker Caddy

🛰️ uav-cuas-datasets · Senior Design (ESC 491/492)

UAV Threat Map & Decision Support System — İHA Tehdit Haritası ve Karar Destek Sistemi

An interdisciplinary METU NCC capstone (4 CNG + 1 EEE students, NATO/C4ISR theme): a system that detects a drone, maps the threat on real terrain, and tells the operator what to do — with every recommendation traceable to a source.

  • My part — threat knowledge base (Layer 2): RAG over unclassified counter-UAS doctrine (ATP 3-01.81, DoD C-UAS Strategy, RAND, RUSI, NATO) with mandatory source citation on every answer; I also own the test scenarios and evaluation metrics and edit the project report
  • 5-layer architecture: camera + Wi-Fi/RF sensing → doctrine knowledge base → grid risk propagation, line-of-sight and A*/Dijkstra safe routes on PostGIS terrain → sensor fusion and threat score → web C2 map with MIL-STD-2525 symbols
  • Physical demo, not just simulation: a fixed 4 MP PoE IP camera and an RTX 4070 laptop detect a mock drone carrying an ESP32 Wi-Fi transmitter (confirmed by its MAC from a second ESP32) and show it live on the map; hardware list (₺10,088) accepted by the supervisors
  • Evidence-based grounding: catalog of 35+ verified data sources (Copernicus DEM, OpenSky, DroneRF, DUT Anti-UAV, ACLED, FAA sightings), each with license and access status; four pilot regions with real drone incidents (Eindhoven, Gatwick, Aalborg, Crete) compared with data-access tests

RAG LLM PostGIS A* / Dijkstra Sensor Fusion ESP32 IP Camera MIL-STD-2525 C-UAS

Fixed-camera object detection & state control on the edge

A workspace inventory-verification system for defense-industry use cases such as ammunition tracking and assembly-line control, answering: is the workspace in the valid state?

  • Detection & logic: fine-tuned YOLO11 paired with a finite state machine and temporal smoothing to verify scene state while filtering out detector jitter
  • Bootstrapped labeling: hand-labeled 50 of 452 frames, then trained a model to auto-label the rest
  • Edge deployment: NVIDIA Jetson with TensorRT INT8 quantization for real-time inference on a Luxonis OAK-D camera

Python YOLO11 OpenCV TensorRT NVIDIA Jetson Luxonis OAK-D

🔬 flawscope

Two-stage defect detection for aircraft-engine part metallography (private repo)

Classifies optical-microscope cross-sections of machined aircraft-engine parts across 12 defect types and returns a per-part verdict: accept / rework / review / reject. Most defect types have only a handful of examples, so it is built as a hybrid pipeline instead of one classifier.

  • Stage 1 — anomaly detection: PatchCore / PaDiM trained on healthy images only; the heatmap is thresholded into candidate regions (connected components + NMS)
  • Stage 2 — two branches per region: a CNN for types with enough samples and a prototype bank + WinCLIP text prompts for the rare ones, fused with Reciprocal Rank Fusion and Platt-calibrated to one probability scale
  • Safety-first decisions: asymmetric per-type thresholds — a weak signal on an auto-reject type pulls in a human, while accept has to be earned; test-time augmentation disagreement routes to review

Python PyTorch anomalib PatchCore open-clip OpenCV

🧠 WISCRapor

Desktop report generator for WISC-IV assessments (private repo)

A Windows app that lets a psychologist turn a child's WISC-IV scores and observations into a finished Word report in minutes.

  • Report engine: fills an institution's .docx template with logos, scores and an auto-generated summary; Turkish vowel harmony handled for name suffixes (Elif'in, Ömer'e)
  • Safe input: range checks for subtest (1–19) and composite (40–160) scores, date and age-range validation, draft recovery after a crash
  • Archive & search: SQLite archive with accent-insensitive Turkish search, filters by score level, institution and date; one-file backup; ships as a one-click installer, all data stays on the machine

Python CustomTkinter python-docx SQLite PyInstaller Inno Setup

🍓 CilekAI

Enterprise RAG document assistant for 500+ employees

Production RAG system built during my AI Engineering internship at Çilek Kids Room, letting factory staff query technical docs, manuals and spreadsheets with inline citations.

  • Multi-LLM orchestration: 5 LLM providers (Groq Llama 3.3, Google Gemini, GPT-4o, local Ollama) behind an automatic fallback chain
  • 4-stage hybrid search: FAISS dense + BM25 with RRF merging, Qwen3-Reranker cross-encoder and Turkish morphology (accuracy 0.15 → 0.95)
  • Caching & security: Qdrant + FAISS with incremental indexing, semantic cache for <10ms FAQ answers (~30% lower API cost), department-based RBAC, Prometheus, Docker Compose

Python Docker Compose Qdrant FAISS Ollama Qwen3 BM25

🏆 Competitions

🚁 "CENGIZ" — Unmanned Coaxial Helicopter

Helicopter Design Competition · 75.3 pts

🚁 Modular Multipurpose Helicopter

Helicopter Design Competition · 78 pts

Unmanned coaxial helicopter for disaster-area connectivity and marine monitoring. I led the rotor configuration analysis and vehicle pre-sizing, and built the vehicle's 3D model entirely through Blender Python scripting — modular components with a game-optimized export, shown as a playable GTA V mod (Yavuzkopter).

Aerospace UAV Design Systems Engineering Blender Python

One airframe, three variants (search & rescue, commercial, VIP), designed with a 6-person team around a modular architecture.

Aeronautics Modular Architecture


🧰 More Projects

Project What it is Stack
tattoo-stencil-maker Turns any photo into a printable tattoo stencil: live OpenCV tuning (blur, Canny, line thickness), stencil and colour modes, true-to-scale A4 PDF export at 300 DPI Python OpenCV Tkinter
Collapse/Blast Match-3 Engine Unity tile-matching engine with recursive Flood-Fill/BFS cluster detection ($O(M \times N)$), deterministic Smart Shuffle deadlock resolution, physics-based grid reflow and object pooling Unity C# Algorithms
Coursework in C circle-board-game · crag-dice-game · patient-management-system · internship-records-system C Data Structures

💼 Experience

🏢 Heysem AI · Computer Vision Intern

Sep 2026 · On-site

  • Kervansaray — Hotel Parking License-Plate Recognition & Query System: Built an end-to-end data-management system for fixed-camera hotel parking entry/exit control, from synthetic data generation to natural-language querying.
    • Backend & Data Pipeline: Engineered a Flask + PostgreSQL 16 event store (Docker, SQLAlchemy, Alembic) with idempotent ingest, plate canonicalization, bounded fuzzy matching, entry/exit session reconciliation, and a deterministic synthetic data generator.
    • LLM Query Layer: Turkish natural-language queries answered through tool calling over typed SQL tools (NVIDIA NIM Gemma 4 31B, Gemini Flash fallback); the database does all counting, the model only picks the tool and phrases the result.
    • Evaluation: Built a 209-question gold set (56 dev + 153 held-out) scored against an independent Python oracle with Wilson 95% confidence intervals; a patch-ablation study showed the model no longer needed the old deterministic fixes (52/56 → 53/56 on the dev set without them).
    • Production Readiness: Deterministic rule engine with Server-Sent Events alerts, Prometheus observability, structured logging, and a live public demo at kervansaray.yagizakkaya.com.tr.
  • Inventory Verification — Fixed-Camera Object Detection & State Control: Developed a workspace inventory-verification system for defense-industry use cases such as ammunition tracking and assembly-line control.
    • Detection & Logic: Fine-tuned a YOLO11 model paired with a finite state machine to verify scene state while filtering out detector jitter.
    • Data Labeling: Hand-labeled 50 of 452 frames, then bootstrapped a model to auto-label the rest, cutting labeling time significantly.
    • Edge Deployment: Deployed to NVIDIA Jetson with TensorRT INT8 quantization for real-time inference using a Luxonis OAK-D camera.
  • Research & Web: Prototyped flawscope, a two-stage hybrid defect-detection pipeline (PatchCore/PaDiM anomaly detection + CNN and WinCLIP branches fused with RRF) for aircraft-engine part metallography across 12 defect types, and deployed a personal portfolio site (yagizakkaya.com.tr) with Caddy reverse-proxy routing and visitor analytics.
  • Technologies: Python Flask PostgreSQL SQLAlchemy NVIDIA NIM Gemini YOLO11 OpenCV NVIDIA Jetson TensorRT Luxonis OAK-D PatchCore CLIP Docker Caddy

⚖️ Hammurabi AI · Backend Engineer (Remote — Full-Time)

Apr 2026 – Jul 2026 · Remote

  • Vector Ingestion & Search Sync Pipeline: Engineered a high-throughput legal document ingestion and indexing pipeline to synchronize millions of judicial decisions into Qdrant and Meilisearch databases.
  • Database-Driven Ingestion: Engineered a concurrent search sync engine (--from-db mode) using PostgreSQL row-level locking (select_for_update) to support parallel worker execution without resource collision.
  • VRAM & Speed Optimization: Developed a shared OOM-safe cascading encode algorithm (full → half → quarter → one-by-one) and single-document batching, reducing padding waste and increasing embedding speed by ~30%.
  • Fault-Tolerant Outage Recovery: Built connection-outage resilience that automatically releases claimed documents back to pending_sync during target database failures and halts after 3 consecutive errors to prevent CPU spinning.
  • Process Lifecycle & OS Management: Integrated process signal handlers (SIGINT/SIGTERM/SIGBREAK) and resolved a Windows-specific process zombie handle bug using ctypes for clean database lock releases on shutdown.
  • Live Observability: Integrated Qdrant server operation_id tracking into Django WebSockets for real-time progress logging and dashboard pipeline statistics monitoring.
  • Technologies: Python Django ORM PostgreSQL Qdrant Meilisearch SentenceTransformers CUDA PyTorch WebSockets

🍓 Çilek Kids Room · AI Engineering Intern

Jan 2026 – Feb 2026 · On-site

  • CilekAI — Enterprise RAG Document Assistant: Designed and built a production-grade RAG system enabling 500+ factory employees to query internal documents (PDF, Excel, images) with inline citations.
  • Multi-LLM Orchestration: Integrated 5 LLM providers (Groq Llama 3.3, Google Gemini, GPT-4o, local Ollama) behind an automatic fallback chain to ensure near-100% service uptime.
  • Hybrid Retrieval & Reranking: Engineered a 4-stage search system combining FAISS semantic search and BM25 keyword matching with RRF score merging, Qwen3-Reranker cross-encoder, and Turkish morphological normalization, boosting accuracy from 0.15 to 0.95.
  • Dual Vector-Store Architecture: Deployed a hybrid vector database using server-side Qdrant and in-process FAISS, utilizing incremental indexing based on file modification times (mtime) and SHA-256 file deduplication.
  • Performance & Semantic Caching: Achieved <10ms FAQ response times and reduced LLM API costs by ~30% by implementing a FAISS-backed semantic caching layer and Levenshtein-based fuzzy matching.
  • Enterprise Security & Architecture: Designed a 5-layer Clean Architecture with department-based role-based access control (RBAC), Prometheus-based observability metrics, and Docker Compose multi-service deployment.
  • Technologies: Python Docker Compose Qdrant FAISS Ollama Qwen3 BM25 Levenshtein Prometheus Clean Architecture

🎓 Education

Middle East Technical University, NCC — Bachelor of Science in Computer Engineering
2021 – Present

  • Relevant Coursework: Algorithm Analysis, Database Management and File Structures, C Programming, Data Structures, Python Programming, Linux Basics, Logic Design, Discrete Computational Structures.
  • Projects & Competitions:
    • Senior Design (ESC 491/492, CNG + EEE): UAV threat map and decision-support system with a physical demo; I own the RAG-based doctrine knowledge base, evaluation and the report — see uav-cuas-datasets.
    • TEKNOFEST 2025 Helicopter Design Competition: Unmanned coaxial helicopter "CENGIZ" (Graded 75.3, Ranked 5th place in Türkiye).
    • TEKNOFEST 2024 Helicopter Design Competition: Modular multipurpose helicopter (Graded 78, Ranked 4th place in Türkiye).

📊 GitHub Stats


🌱 Currently

  • 🛰️ Senior design: building the doctrine knowledge base (RAG with mandatory citations) for our UAV threat map, heading to a live single-camera field demo with a mock drone
  • 🧪 Writing evaluations before features — gold sets, held-out splits and prompt-injection checks for every LLM app I ship
  • 🤖 Moving from fixed RAG pipelines to tool-calling agents that read documents and databases through typed tools
  • 🔬 Still pushing edge inference — TensorRT INT8, measuring the accuracy/FPS curve honestly instead of quoting the best number

📫 Let's talk

yagizakkaya10@gmail.com


"Anyone can train a model. The engineering is everything that happens after."

Popular repositories Loading

  1. uav-cuas-datasets uav-cuas-datasets Public

    İHA Tehdit Haritası ve Karar Destek Sistemi — curated catalog of real, citable datasets and literature behind a UAV/C-UAS threat mapping & C2 decision support system

    3 1

  2. crag-dice-game crag-dice-game Public

    A simple Crag dice game in C

    C

  3. circle-board-game circle-board-game Public

    A 10x10 circular board game in C with traps and dice mechanics.

    C

  4. internship-records-system internship-records-system Public

    A simple C program for managing and analyzing internship records.

    C

  5. patient-management-system patient-management-system Public

    A C-based patient management system with BMI classification and unhealthy patient filtering. useing data structure properties

    C

  6. inventory-verification inventory-verification Public

    Edge AI inventory / state verification — YOLO11 detection + temporal smoothing + finite state machine. Toy-object demo.

    Python