deen

Ich baue Software,
die live geht.

AI Fullstack Software Entwickler aus Nordrhein-Westfalen. Ich arbeite an der ganzen Strecke, vom Datenmodell über die API bis zum letzten Pixel - und den größten Teil davon setze ich heute mit Agenten um: Spec vorher, Gates dazwischen, Belege am Ende. Sprachmodelle sind dabei beides, Werkzeug und Bauteil. Was herauskommt, muss prüfbar sein, nicht nur plausibel.

Alpay Celik
scrollen
Täglich im Einsatz
Claude Code
Claude Skills
MCP
GitHub Copilot
ChatGPT
Qwen
Llama
Ollama
n8n
TypeScript
C#
Python
SQL
React
Next.js
Angular
React Native
Redux
NgRx
Signals
Jotai
TanStack Query
Claude Code
Claude Skills
MCP
GitHub Copilot
ChatGPT
Qwen
Llama
Ollama
n8n
TypeScript
C#
Python
SQL
React
Next.js
Angular
React Native
Redux
NgRx
Signals
Jotai
TanStack Query
Claude Code
Claude Skills
MCP
GitHub Copilot
ChatGPT
Qwen
Llama
Ollama
n8n
TypeScript
C#
Python
SQL
React
Next.js
Angular
React Native
Redux
NgRx
Signals
Jotai
TanStack Query
Claude Code
Claude Skills
MCP
GitHub Copilot
ChatGPT
Qwen
Llama
Ollama
n8n
TypeScript
C#
Python
SQL
React
Next.js
Angular
React Native
Redux
NgRx
Signals
Jotai
TanStack Query
Tailwind
SASS
CSS Modules
Figma
Storybook
Design Tokens
Node.js
Express
.NET
MongoDB
PostgreSQL
Prisma
Firebase
Appwrite
Monorepo
Multirepo
Nx
Vite
Turbopack
webpack
npm
Yarn
pnpm
Tailwind
SASS
CSS Modules
Figma
Storybook
Design Tokens
Node.js
Express
.NET
MongoDB
PostgreSQL
Prisma
Firebase
Appwrite
Monorepo
Multirepo
Nx
Vite
Turbopack
webpack
npm
Yarn
pnpm
Tailwind
SASS
CSS Modules
Figma
Storybook
Design Tokens
Node.js
Express
.NET
MongoDB
PostgreSQL
Prisma
Firebase
Appwrite
Monorepo
Multirepo
Nx
Vite
Turbopack
webpack
npm
Yarn
pnpm
Tailwind
SASS
CSS Modules
Figma
Storybook
Design Tokens
Node.js
Express
.NET
MongoDB
PostgreSQL
Prisma
Firebase
Appwrite
Monorepo
Multirepo
Nx
Vite
Turbopack
webpack
npm
Yarn
pnpm
Docker
Vercel
Coolify
Proxmox
Playwright
TestCafe
Vitest
Jest
GitHub Actions
GitLab CI/CD
Azure Pipelines
Git
GitHub
GitLab
Fork
Azure DevOps
Jira
Confluence
Slack
Swagger
Postman
Docker
Vercel
Coolify
Proxmox
Playwright
TestCafe
Vitest
Jest
GitHub Actions
GitLab CI/CD
Azure Pipelines
Git
GitHub
GitLab
Fork
Azure DevOps
Jira
Confluence
Slack
Swagger
Postman
Docker
Vercel
Coolify
Proxmox
Playwright
TestCafe
Vitest
Jest
GitHub Actions
GitLab CI/CD
Azure Pipelines
Git
GitHub
GitLab
Fork
Azure DevOps
Jira
Confluence
Slack
Swagger
Postman
Docker
Vercel
Coolify
Proxmox
Playwright
TestCafe
Vitest
Jest
GitHub Actions
GitLab CI/CD
Azure Pipelines
Git
GitHub
GitLab
Fork
Azure DevOps
Jira
Confluence
Slack
Swagger
Postman
Arbeitsweise

Software zu bauen - gerade in dem Tempo, das jetzt möglich ist - verlangt noch immer enormes Können, Erfahrung und Tiefe im Verständnis.

Simon Willison · LLM predictions for 2026
02 - Fähigkeiten

Was ich baue, und womit

Das hier sind die Bereiche, in denen ich Entscheidungen treffe und Verantwortung übernehme.

Agentische Softwareentwicklung

Der Bereich, in den ich mich gerade vertiefe: mit Agenten arbeiten, den Kontext gezielt aufbauen statt an Prompts zu feilen, und Ergebnisse prüfen, bevor man ihnen glaubt. Ein Repository, in dem ein Agent arbeiten soll, wird dafür selbst zum Interface - Regeln, Skills und Werkzeuge liegen als Dateien darin. Der nächste Schritt ist, Sprachmodelle selbst als Bauteil einer Anwendung einzusetzen.

  • Claude Code
  • Claude Skills
  • MCP
  • Multi-Agent Orchestration
  • Context Engineering
  • Python

Frontend

Komponentenarchitektur, die auch nach dem zehnten Feature noch Sinn ergibt. Typsicherheit von der API bis ins Template. Komponenten hole ich über einen MCP-Server in den Editor, statt sie abzutippen - ein Design-Skill im Repo hält Tokens und Zustände dabei zusammen.

  • TypeScript
  • React
  • Next.js
  • Angular
  • React Native
  • Redux
  • Signals
  • TanStack Query
  • Tailwind
  • SASS

Backend & Data

REST-APIs, die dokumentiert sind, bevor sie jemand braucht - die Doku zieht ein Agent aus dem Code und hält sie aktuell, ausgelöst von einem Hook und nicht von meinem Gedächtnis. Datenmodelle, die man später noch migrieren kann. Auth, die nicht selbst gebastelt ist.

  • Node.js
  • Express
  • .NET
  • C#
  • Python
  • MongoDB
  • PostgreSQL
  • SQL
  • Prisma
  • Swagger

Infrastruktur & Prozess

Die Strecke von gemergtem Branch bis laufendem Release: Pipeline, Tests, Container, und ein Artefakt, das niemand von Hand zusammenbaut. Vor dem Review eines Menschen läuft ein Agent den Diff durch - Konventionen, Randfälle, und was der PR nicht erwähnt. Das nimmt dem Review die Punkte ab, die ohnehin niemand diskutieren will.

  • Git
  • GitHub Actions
  • GitLab CI/CD
  • Azure DevOps
  • Docker
  • Playwright
  • TestCafe
  • Jira
  • Confluence

Design-Nähe

Ich lese Figma-Files, statt sie zu erraten, und sage früh, wenn ein Layout technisch teuer wird. Was "fertig" heißt, liegt als Skill im Repo - Tokens statt Hex-Werte, alle Zustände, Kontrast geprüft - damit ein Agent dieselbe Messlatte anlegt wie ich.

  • Figma
  • Adobe XD
  • Design Tokens
  • A11y
03 - Ausgewählte Projekte

Gebaut, gelauncht, live

Drei Projekte an der Stelle, wo Agenten auf echte Systeme treffen: ein Prüfer für einen Protokollbruch, ein MCP-Server auf 995 deutschen Entsorgungsträgern, ein Satz Skills für unbeaufsichtigtes Arbeiten. Links gehen auf die echte Instanz, nicht auf ein Video.

MCP Migration Check - Prüfer für den MCP-Break: Skill, CLI, Action, Demo
mcp-migration-check.alpaycelik.workers.dev
01

MCP Migration Check

Prüfer für den MCP-Break: Skill, CLI, Action, Demo

Rolle
Konzept, Umsetzung, Betrieb (plus ein externer Beitrag)
Jahr
2026
Status
Live

Die MCP-Revision 2026-07-28 macht das Protokoll zustandslos und bricht damit fast jeden bestehenden Server. Eine Regel-Engine mit vier Zugängen: Web-Demo, `npx`-Befehl, GitHub Action und ein Agenten-Skill, der nicht bei der Diagnose aufhört, sondern den Umbau Regel für Regel abarbeitet. Den Skill installiert man inzwischen als Claude-Code-Plugin aus dem Repository, damit er nicht gegen die Regeln veraltet, die er mitbringt; die CLI liegt als abhängigkeitsfreies Paket auf npm. Mit derselben Engine habe ich 13.380 registrierte Endpunkte geprüft: 60,1 % sprechen nur das alte Protokoll.

  • Vier Oberflächen über einem Kern: Demo, npx-CLI, GitHub Action, Agenten-Skill
  • 13 Regeln für TypeScript, Python, Rust und Go, jede mit der Spec-Stelle, die sie widerlegen kann
  • State of MCP: 13.380 Endpunkte geprobt, 10.890 davon bewertbar, 60,1 % nur altes Protokoll
  • Über 170 Testfälle; die Engine wird generiert statt kopiert, und CI schlägt fehl, sobald eine Kopie abweicht
  • TypeScript
  • Python
  • Rust
  • Go
  • Next.js
  • Cloudflare Workers
  • node:test
  • GitHub Actions
Abfall MCP - Abfuhrtermine aus 995 Trägerportalen, als MCP-Server
abfall-mcp.alpaycelik.dev
02

Abfall MCP

Abfuhrtermine aus 995 Trägerportalen, als MCP-Server

Rolle
Konzept, Umsetzung, Betrieb
Jahr
2026
Status
Live

Abfall ist in Deutschland kommunal organisiert: rund 400 Entsorgungsträger betreiben jeweils ihr eigenes Portal, eine bundesweite API gibt es nicht. Der Server nimmt eine Adresse, findet über Nominatim die Kommune, darüber den zuständigen Träger unter 995 aus 150 Quellmodulen, und holt die Termine aus dessen Portal. Die eigentliche Arbeit steckt nicht in den Terminen, sondern in dem Schritt davor: in Home Assistant klickt ein Mensch seinen Träger einmal von Hand zusammen, ein MCP-Server muss das allein hinbekommen - und wenn er es nicht sicher hinbekommt, nachfragen statt raten.

  • 995 Träger aus 150 Quellmodulen, als vorgebaute Registry statt 150 Imports beim Start
  • Fragt zurück statt zu raten: eine falsch geratene Stadt liefert den Kalender der Nachbargemeinde
  • Adressdialoge nachgebaut, wo Portale interne IDs verlangen: Abfall.IO (41 Träger), Hamburg, BSR
  • Gemessene Abdeckung über 21 echte Adressen: 48 % Termine, 14 % Rückfrage, 38 % nichts
  • Python
  • MCP
  • Streamable HTTP
  • Nominatim
  • pytest
  • Docker
  • GitHub Actions
Claude Skill Set - 34 Skills, damit ein Agent ein Ticket allein zu Ende bringt
03

Claude Skill Set

34 Skills, damit ein Agent ein Ticket allein zu Ende bringt

Rolle
Konzept und Umsetzung
Jahr
2026
Status
Live

Ein Satz von 34 Skills für Claude Code, gebaut für Enterprise-Codebases. Die Idee dahinter: Autonomie entsteht nicht durch bessere Implementierungs-Prompts, sondern dadurch, dass die menschliche Entscheidung aus der Mitte an die Ränder wandert - Spec und Akzeptanzkriterien vorher, Review und Evidence-Paket nachher, dazwischen ein Ledger statt einer Rückfrage. Denn jede Rückfrage mitten in der Umsetzung hat genau zwei Ursachen: fehlender Kontext oder eine Spec, die vorher schon offen war. Vier der Regeln sind als Hooks installierbar und werden damit erzwungen statt erbeten.

  • Drei Primitive an genau einer Stelle: Assumption Ledger, Repair Budget, Evidence
  • Vier Regeln als Hooks, weil Prosa im Kontextfenster nur ein Vorschlag ist
  • repo-cartograph erkennt die Workspace-Art und schreibt Gates und Grenzen in eine Map, aus der alle anderen lesen
  • Die Morgen-Review: ein Board für den Überblick, der Eingriff im Gespräch
  • Claude Code
  • Agent Skills
  • Hooks
  • Node.js
  • PowerShell
  • Markdown
Weitere Repositories auf GitHub · github.com/AlpayC ·
Agentische Praxis

Ein Monat Arbeit mit Agenten in Zahlen, dazu das Jahr auf GitHub.

Auf GitHub
25
Agentenschritte je Aufforderung
4,7 Mrd.
Tokens verarbeitet
Opus 5
Modell der Wahl
6.435
Werkzeugaufrufe
988 Beiträge im letzten Jahr · 202 Pull Requests gemergt
04 - Prozess

Wie aus einer Idee ein Deploy wird

Vier Schritte, die ich gleich halte, ob Feature, Prototyp oder Nebenprojekt am Abend. In jedem arbeitet inzwischen ein Agent mit, an der Reihenfolge ändert das nichts: Überraschungen am Ende kosten mehr als Fragen am Anfang.

01Verstehen

Wer benutzt das, wofür, und was passiert, wenn es nicht existiert? Bevor eine Zeile Code entsteht, will ich die Antwort in einem Satz sagen können. Danach nimmt ein Agent die Frage auseinander und sucht die Löcher: den Zustand, den keiner beschrieben hat, den Fall ohne Berechtigung, die Liste mit zehntausend Zeilen. Was offen bleibt, geht zurück an einen Menschen, bevor es im Code zur stillen Annahme wird.

02Formen

Datenmodell und Screens entstehen zusammen, nicht nacheinander. Wo das Modell hakt, hakt später auch das Interface. Daraus wird eine Spec mit Akzeptanzkriterien und dem Blast Radius, also den Dateien, die ein Lauf anfassen darf. Fehlt eines von beiden, fragt der Agent mitten in der Umsetzung nach, und genau dann steht er.

03Bauen

Kleine Branches, typsicher von der Datenbank bis zum Button. Den größten Teil tippt inzwischen ein Agent, der vorher im Repo nachsieht, wie wir dieselbe Sache schon einmal gelöst haben - Konvention schlägt Geschmack. Entscheidungen, die er selbst trifft, schreibt er mit Begründung auf, statt den Lauf für eine Rückfrage anzuhalten. Deploybar bleibt es jeden Tag.

04Ausliefern

Vor dem Menschen läuft ein Durchgang, der belegt statt behauptet: Typecheck, Tests und Build grün, Screenshots der Zustände, und ein Agent, der den Diff auf Konventionen und Randfälle durchgeht. Was danach noch offen ist, steht im PR, nicht im Kopf. Nach dem Launch fängt der Betrieb an: Monitoring, Statusseite und ein Weg zurück, wenn etwas kippt.

05 - Agentische Softwareentwicklung

Wie ich mit Agenten arbeite

Einen erheblichen Teil des Codes, mit dem ich täglich zu tun habe, schreiben inzwischen Agenten, oft mehrere parallel, jeder mit eigenem Auftrag und eigenem Kontext. Das nimmt die Arbeit nicht weg, es verschiebt sie vom Schreiben zum Prüfen - wo mehr Code entsteht, wird das Lesen zum Engpass. Ein Lauf übergibt deshalb nicht nur einen Diff, sondern seine Belege: grüne Gates, Screenshots der Zustände, und die Entscheidungen, die er unterwegs selbst getroffen hat. Fünf Dinge, die ich dabei gelernt habe.

Human in the LoopSchneidet zu, entscheidet die offenen Punkte und nimmt ab. Der Lauf wird hier vorgelegt: Entscheidungen zuerst, Screenshots inline, Lücken benannt. Jede Runde läuft hier durch.
OrchestratorZerlegt den Auftrag, verteilt die Teile und hält zusammen, was zurückkommt.
RechercheLiest erst das Repo: Wie wurde dieselbe Sache hier schon gelöst?
UmsetzungMehrere davon laufen parallel, jeder in eigenem Worktree auf eigenem Branch. Kein Agent sieht die Dateien eines anderen; zusammengeführt wird erst am Ende, über git.
ReviewPrüft den Diff in frischem Kontext gegen Spec, Konventionen und Laufzeitverhalten. Findet er etwas, geht es zurück zur Umsetzung, nicht zum Menschen.
GatesTypen, Lint, Tests, Build - billigstes zuerst, damit ein Fehler in Sekunden auffällt und nicht nach sechs Minuten. Rot heißt zurück zur Umsetzung, dreimal, dann Revert und Fehlerbericht.
GlossarWelche Klasse, Route und Tabelle hinter einem Fachbegriff steckt. Ohne das rät ein Agent bei der Fachsprache und baut Code, der läuft und das Falsche modelliert.
Geprüfter DiffNichts verlässt die Schleife ohne Beleg: Gates grün, Screenshots, und die Entscheidungen, die der Agent selbst getroffen hat, als Liste.
GelerntesJede Unterbrechung ist ein Fehler im Aufbau, nicht im Agenten. Die Antwort, die ihn entsperrt hat, gehört aufgeschrieben: in die Spec, die Konventionen oder die Repo-Map.
Repo-MapWorkspace-Art, Projekte, Gate-Kommandos, Grenzen und der Changed-Set-Befehl. Einmal erhoben, damit kein Lauf sie rät.
RepoCode, Konventionen und die Beispiele, an denen sich ein Lauf orientiert - samt der Gründe, die nie jemand aufgeschrieben hat.
VorgabenAkzeptanzkriterien und Blast Radius: was fertig heißt und welche Dateien angefasst werden dürfen.
TestsDer Teil des Kontexts, der widersprechen kann. Was hier rot wird, ist keine Meinung - und der Test steht vor dem Code, sonst beschreibt er ihn nur.
01

Kontext schlägt Prompt

Ein Agent ist nur so gut wie das, was er sehen darf. Die eigentliche Arbeit ist, ihm die richtigen Dateien, Grenzen und Beispiele vorzulegen, nicht, den Satz schöner zu formulieren.

02

Prüfen ist die Arbeit

Ein plausibel aussehendes Ergebnis ist kein Beleg. Build, Typen, Tests und im Zweifel eine Messung am laufenden System. Was nicht geprüft ist, gilt nicht - und der Beleg gehört an den Lauf, nicht an den, der reviewt. Sonst fängt jedes Review wieder bei null an.

03

Kleine Schritte

Große Änderungen in einem Zug sind für Agenten genauso schlecht wie für Menschen, nur schneller falsch. Kleine, einzeln überprüfbare Schritte lassen sich zurücknehmen, ohne den Tag zu verlieren.

04

Aufträge zuschneiden

Mehrere Agenten parallel laufen zu lassen bringt nur etwas, wenn sich ihre Aufträge nicht überschneiden. Die Arbeit verlagert sich damit nach vorn: Aufgaben so schneiden, dass jede für sich prüfbar ist und keine der anderen in die Dateien läuft.

05

Widersprechen lernen

Manchmal kommt ein falsches Ergebnis mit vollem Selbstvertrauen zurück. Es zu übernehmen, weil es gut klingt, kostet Tage; einmal nachzufragen kostet Minuten.

06 - Über mich

Hinter dem Terminal

Code ist der Teil, für den ich bezahlt werde. Hier ist der Rest.

alpay - ai fullstack software entwickler, Halle (Westf.), DE
 
Ich mag den Moment, in dem ein System
aufhört, eine Sammlung von Dateien zu sein,
und anfängt, sich wie ein Werkzeug zu verhalten.
 
smarthome/ 3d-druck/ familie/ reisen/
 

Smart Home & 3D-Druck

Zu Hause geht die Bastelei weiter: Sensoren, Automationen und die Frage, welche davon nach zwei Wochen noch jemand benutzt. Und was es nicht zu kaufen gibt, modelliere und drucke ich mir selbst: Halterungen, Gehäuse, Ersatzteile.

Zeit mit der Familie

Der wichtigste Teil des Tages passiert ohne Bildschirm. Ich unternehme gern etwas mit meiner Familie: raus, unterwegs sein, gemeinsam etwas erleben. Der beste Reset, den ich kenne.

Neues Terrain

Reisen macht mir richtig Spaß: neue Orte, neues Essen, Gegenden, die man vorher nur auf der Karte gesehen hat. Und ein guter Test dafür, wie schnell man sich in etwas Unbekanntem zurechtfindet.

07 - Kontakt

Sag Hallo

Eine fachliche Frage, Widerspruch zu einem Beitrag oder einfach ein Hallo. Schreib mir. Ich lese alles und antworte, sobald es der Tag zulässt.

Oder direkt per Mailhello@alpaycelik.dev
Ich brauche einen Agenten, der …

.