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.
|
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.
|
🕌 Kervansaray · live demoCar-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.
|
🛰️ 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.
|
|
|
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?
|
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.
|
|
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.
|
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.
|
| 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
|
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:
PythonFlaskPostgreSQLSQLAlchemyNVIDIA NIMGeminiYOLO11OpenCVNVIDIA JetsonTensorRTLuxonis OAK-DPatchCoreCLIPDockerCaddy
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-dbmode) 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_syncduring 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 usingctypesfor clean database lock releases on shutdown. - Live Observability: Integrated Qdrant server
operation_idtracking into Django WebSockets for real-time progress logging and dashboard pipeline statistics monitoring. - Technologies:
PythonDjango ORMPostgreSQLQdrantMeilisearchSentenceTransformersCUDAPyTorchWebSockets
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:
PythonDocker ComposeQdrantFAISSOllamaQwen3BM25LevenshteinPrometheusClean Architecture
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).
- 🛰️ 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

