Eren İlhan
Eskişehir · Türkiye
Edition of
Developer  ·  Systems generalist

Eren İlhan.

Fifteen years of PHP, a decade of Laravel, and most of it spent on systems nobody notices when they work. Full-time at Rekor Kauçuk, a rubber manufacturer in Eskişehir, where I connect machines, people and software — and, lately, AI agents that write the pull requests I review. Freelance on the side.

Portrait of Eren İlhan
Eren İlhan, photographed in Eskişehir.
§ Section one

In short.

About

My days are spent keeping the IT of a rubber manufacturing plant alive — servers and networks, identity and access for everyone who works there, and the internal web applications that production, purchasing, quality and HR rely on. There are a little over forty systems in that inventory, from the ERP to the camera software, and most of them now sign in through one door.

Over the last year the work moved closer to the machines. Signals from PLCs on the mixing and pressing lines now arrive as structured data: who is on shift, which work order is running, why a line stopped, what an hour of production actually cost. It is unglamorous plumbing, and it is the part I enjoy most.

AI runs through all of it. Some is off the shelf — OpenAI and Anthropic models, retrieval over our own documents, n8n workflows that stitch systems together. Some is ours, hosted on our own hardware where a public API is too slow, too expensive or not allowed to see the data. And some of it now does real engineering work: agents read a request, study the repository, propose a plan, and open a pull request. A person still decides what gets merged.

§ Section two

On the desk.

NowAs of October 2026
Pilot line running · Shop floor

Production data, from PLC to cost

Siemens PLC signals over S7 and MQTT into a unified namespace: automatic work orders, operator check-in, downtime reasons approved by shift leads, OEE, energy metering, and a cost figure per work order built from material, labour and power. ERP data reaches it through versioned APIs, never the database.

Live · Identity

Identity governance for the whole plant

Single sign-on over OIDC and SAML, layered group and personal permissions, access requests with four-eyes approval, and onboarding that opens the Microsoft 365 account, assigns licences and groups, and wires up each application on a schedule HR sets.

Live · Agents

From a manager’s question to a pull request

Managers ask their own assistant — on the desktop or in a chat app — through an MCP server on our dealer portal. Read-only tools answer questions; change requests become GitHub issues that a coding agent researches, plans, and, once approved, turns into a pull request. My part is the review.

Live · Safety

Chemical safety data sheets with retrieval chat

Several hundred sheets synced from the document system, versioned, and searchable by the names people use on the floor — on desktops and on a kiosk in the raw-material store.

Rolling out · Internal tools

One feedback widget for twenty-odd apps

A single script tag adds a feedback button with screenshots and a signed user identity. Reports land in one panel and can go straight to GitHub.

Live · Purchasing

Commodity prices next to ERP prices

Daily raw-material market prices back to 2018, collected automatically and set beside what we actually paid — for next year’s budget and honest hindsight.

Public · Open source

claude-explain

A Claude Code plugin that explains a codebase as an HTML page or a diagram. Every claim is cited to a file and line, so a wrong one has nowhere to hide.

In progress · Side project

Meeting minutes, transcribed locally

Record a meeting in the browser or let a bot join the call; transcription and speaker separation run on our own machine, and a short summary with action items comes out the other end.

Ongoing · Freelance

Multi-tenant SaaS and small-business sites

Event and guest management for luxury fashion teams — itineraries, fittings, budgets, and checks that flag a missing hotel night. Plus Laravel SaaS work and fast sites with proper local SEO.

§ Section three

How I work.

Method
  • i.
    Tests first.
    Write the failing test, then the code. It matters more, not less, when an agent writes half the code.
  • ii.
    Agents propose, people merge.
    Coding agents work in branches and pull requests. Nothing reaches production without a human review.
  • iii.
    Give AI the narrowest door.
    Read-only tools by default, APIs instead of databases, and no single agent that holds private data, reads untrusted text and can send messages out.
  • iv.
    Write it down.
    Meetings are transcribed, sessions are summarised, decisions go into a plain-text second brain. Next month’s me should not have to rediscover anything.
§ Section four

Tools.

Stack
Web & infra
Laravel, PHP, Filament, Livewire, MySQL, PostgreSQL, Python, FastAPI, Docker, Coolify, Cloudflare, Authentik, Microsoft 365.
Shop floor
Siemens S7, OPC UA, MQTT, Grafana.
AI & automation
Anthropic, OpenAI, Claude Code, MCP, OpenRouter, pgvector, Pinecone, Supabase, n8n, Ollama, Whisper.
§ Section five

Off the clock.

Personal

CrossFit three days a week, and since this summer two days of running on top. The current target is a 10 km under an hour; the watch data flows into the same notes as everything else.

A small 3D printing corner at home that has turned into a modest side studio — practical parts, flexible prints, the occasional prototype. The rest goes to long-horizon ETF investing, with no interest in beating the market.

§ Section six

Get in touch.

Say hello

Open to freelance work on Laravel systems, internal tooling and practical AI integrations.