Skip to content
View Yigtwxx's full-sized avatar

Block or report Yigtwxx

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.

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

Yiğit Erdoğan

AI Engineer · I build RAG & LLM systems end to end — prototype to production

I build AI features end to end: the model, the service that serves it, and the interface on top — prototype to production, without a handoff. Much of my work is local-first by default, so retrieval and inference run on your own infrastructure and customer data never leaves it. My fixes are merged into n8n and openclaw, mostly the unglamorous kind — a silent data-loss bug, a cross-platform breakage, a missing CI pipeline — each one pinned with a regression test. I'd rather ship what survives production than what demos well.

Email  reddit  LinkedIn  X  Instagram  YouTube  dev.to  ycombinator  Download CV 

What I'm up to

  • Developing: maestro — an open-core orchestrator for multi-agent LLM workflows, self-hosted and bring-your-own-key
  • Focus: Production RAG, MLOps, and applied ML
  • Open to: Collaboration on scalable RAG / LLM systems

Tech Stack

AI / ML PyTorch Hugging Face LangChain Ollama Anthropic Gemini Groq
RAG / Data Chroma Qdrant PostgreSQL Supabase MongoDB SQLite Redis NumPy pandas
Backend Python FastAPI Pydantic SQLAlchemy pytest
Frontend TypeScript Next.js React Tailwind
DevOps Docker GitHub Actions Caddy Nginx Sentry
Security CodeQL Trivy Dependabot

Open Source Contributions

  • openclaw/openclaw  stars

    • P0 release blocker: OpenClaw installed but the managed Gateway never started for Windows users whose profile path holds non-ASCII characters outside the CJK range — the generated .cmd launcher was written in UTF-8, but cmd.exe parses batch files with the boot-time OEM code page. Fixed across 15 OEM code pages; verified on a Turkish host (ev-yiğit-öğün, ACP 1254 / OEMCP 857) going from MODULE_NOT_FOUND to a clean start, with byte-identical output on CJK hosts (PR #108967)
    • A compacted session's summary grew a copy of itself every cycle, burning tokens on each following turn: whenever a later split degraded, staged compaction re-added a summary chunk 0 already carried (occurrences 2 → 1 after the fix). Fixed in 14 source lines by keying the fallback on whether the oldest split degraded — the one signal the consumer actually asks for — with regression coverage at both layers (PR #109828)
    • Every file an agent created on Windows came back lowercased — any name not already lowercase — so the import it had just written broke for all teammates on Linux and in CI; Turkish names like İstanbul.md came back corrupted, not merely lowercased. The sandbox helper was returning a comparison key as a real path — fixed with a case-preserving normalizer, every boundary verdict proven unchanged (PR #109823)
    • Every truncated turn was billed by the provider but recorded as free — zero tokens, zero cost, and a stop reason marking it successful, so nothing downstream could retry or warn and per-session accounting drifted low. Any answer hitting the output cap ends incomplete, and that event matched no terminal branch in the agent transport. Fixed by finalizing both terminal events through one canonical usage mapper shared with the package side (PR #109904)
    • A reply whose code fence opened with a long info string was dropped outright: the chunker reopened the block on every continuation with that full opening line while budgeting only the closing marker, so chunks ran past Discord's 2000-character limit and were rejected with HTTP 400. On a worst-case fence, 1534 chunks with 41 over the limit became 4 that all send, with the body intact instead of 41 of 1290 characters surviving (PR #110148)
    • Invalid credentials took 7093ms and 4 requests to report; now 3ms and 1. The retry loop threw its non-retryable errors inside the try whose catch treats everything as a retryable network failure, swallowing its own classification. Rethrown as a distinct type, same message to the user (PR #110655)
    • Reef died permanently to relay rate limiting and had to be restarted by hand — a throttled startup failed the whole account, the supervisor's ten restarts each hit the same relay, and the retry traffic fed the throttling that caused it. Startup now shares the periodic reconcile's failure policy: the account comes up on the peer keys it already has and refreshes on the next interval (PR #110918)
    • A rate-limited turn failed instead of simply waiting out the server's cooldown: when a 429 carried an unparseable retry-after-ms, the valid Retry-After sitting next to it was never read, so the client fell back to blind exponential backoff and burned its attempts inside the window. The two headers are ordered preferences, not alternatives — returning only on a successful parse restored that. Measured against a real socket, the retry gap went from 1016ms of blind backoff to the 3018ms the server asked for (PR #111353)
  • n8n-io/n8n  stars

    • Every Salesforce Case given a Parent ID through the node still landed with ParentId: null — the handlers read parentId, the field is defined ParentId. Backward-compatible fix; two existing tests had mirrored the bug and were corrected (PR #33775)
More contributions — worldmonitor, planning-with-files, QwenPaw, ai-job-search, pharos-ai
  • koala73/worldmonitor  stars

    • Designed and prototyped the client-side RAG pipeline that gave AI intelligence briefs historical context — embeddings and cosine similarity running in a Web Worker over an IndexedDB vector store, so retrieval needs no server-side index. My prototype (PR #647) was reworked by the maintainer and shipped as PR #675
  • OthmanAdi/planning-with-files  stars

    • Gave the project its first automated test run: CI until then only reviewed skill prose, never behavior — now pytest across Ubuntu and Windows plus vitest for the Pi extension, on every PR and push to master (PR #199)
    • Running that suite on hosted runners exposed two latent cross-platform test failures — a Git Bash path-alias mismatch on Windows and Windows-shaped sanitizer vectors executing on POSIX. Fixed test-side, no production changes, and landed first so the CI PR could go green (PR #198)
    • Made those runs reproducible: committed a lockfile for the Pi extension and switched the vitest job to npm ci (PR #200)
  • agentscope-ai/QwenPaw  stars

    • A shutdown during boot could wipe every recorded day of token usage, silently — cancel the consumer while it is still reading the file (Ctrl-C, uvicorn --reload, a quick restart) and stop() force-flushes a cache that was never seeded, committing {} over token_usage.json through an atomic os.replace() with no backup and nothing logged. The window only opens for users who have history to lose. Pinned by a regression test and a positive control (PR #6220)
    • Cut one of three nvidia-smi spawns at startup and half of those per /models request — 40% off the measured probe time: a CUDA guard re-ran a query that already returns cleanly without a driver (PR #6204)
  • MadsLorentzen/ai-job-search  stars

    • Hex-encoded accents leaked into the LinkedIn scraper's CLI output as raw entities, and emoji came out mangled in every form — the decoder handled decimal entities only, and String.fromCharCode truncated supplementary-plane code points to 16 bits. 1 of 6 fixture cases passed before, 6 of 6 after, under network-free unit tests (PR #55)
    • Same bug in both duplicated decoders of the Jobindex scraper, where it matters more: on a Danish portal æ/ø/å frequently arrive as numeric entities, and their hex forms rendered broken (PR #56)
  • Juliusolsson05/pharos-ai  stars

    • Shipped the Intel Assistant chat widget end to end — pgvector cosine-similarity retrieval over indexed conflict data, with GPT-4o answers streamed to the client via the Vercel AI SDK (PR #20)

My Contributions

Snake animation

GitHub Stats

GitHub Stats Most Used Languages

Pinned Loading

  1. awesome-rag-production awesome-rag-production Public

    A curated list of battle-tested tools, frameworks, and best practices for building scalable, production-grade Retrieval-Augmented Generation (RAG) systems.

    Python 161 41

  2. maestro maestro Public

    Orchestrate armies of AI agents from a single prompt. Open-core, bring-your-own-key, and self-hostable — Orchestrator routes, specialists execute, a reviewer keeps them honest.

    Python 1

  3. awesome-claude-multi-agent awesome-claude-multi-agent Public

    A curated list of frameworks, patterns, and research for orchestrating multi-agent systems built on Claude, including subagent collections and primary sources from Anthropic.

    Shell 3 2

  4. J.A.R.V.I.S J.A.R.V.I.S Public

    J.A.R.V.I.S: An AI-powered Open Source Intelligence (OSINT) system. It orchestrates deep web scraping and local LLMs to autonomously generate comprehensive intelligence dossiers.

    Python 6 2

  5. dl_xview_yolo dl_xview_yolo Public

    YOLOv8 implementation for remote sensing and satellite image analysis. Features custom tiling and inference pipelines for xView & DOTA datasets.

    Python 10 3

  6. crypto-stock-lens crypto-stock-lens Public

    AI-driven financial terminal that runs locally on your machine. Analyzes market news using Llama 3.1 to provide institutional-grade trading signals, technical analysis, and sentiment scoring for Cr…

    Python 1 2