Blog
Notes on shipping AI dev-tools, the Claude API, agent design, and the frontend craft underneath.
Written while building a four-tool open-source suite for the Anthropic Messages API. Each post is the long-form behind a decision.
What I learned shipping four open-source Claude dev-tools in two weekends
A meta post on the four-tool Claude dev-tool suite: why the SDK breaking was the constraint that made the work possible, the "one tool per insight" decomposition, why BYOK + browser-only is a credibility multiplier, and the four things I would front-load if starting over.
Building a streaming Claude client in the browser — without the SDK
Why I skipped the official Anthropic SDK for browser work, and the ~150 lines of TypeScript that replaced it: a hand-rolled SSE parser with tool-use support, clean aborts, and meaningful errors.
Prompt caching is the cheapest Claude optimization. Nobody measures it.
Every Claude response carries cache-hit data. Most apps log it nowhere — and pay for it. Why hit ratio is the metric nobody graphs, and the four-field log line that pays for itself in a week.
İki hafta sonunda dört açık kaynak Claude dev-tool shiplerken neler öğrendim
Dört tool'lu Claude dev-tool suite'i üzerine meta yazı: SDK'nın kırılması neden işi mümkün kılan kısıt oldu, "içgörü başına bir tool" ayrıştırması, BYOK + tarayıcı-only neden güvenilirlik çarpanı, ve yeniden başlasam önden yapacağım dört şey.
See the prompt before you ship it
Token cost, context-window position, and prompt-caching layout are all knowable from the prompt alone — you don't need to send the request. A worked example where 'feels about the same' was hiding a 6.3× input-length difference, and the pre-flight habit that catches it.
Prompt'u shiplemeden önce gör
Token cost, context-window pozisyonu ve prompt-caching layout'u — hepsi prompt'tan tek başına bilinebilir. "Yaklaşık aynı" hissinin gizlediği 6.3× input-uzunluk farkını yakalayan pre-flight alışkanlığı.
Prompt'un daha iyi değil. Sadece daha iyi hatırlıyorsun.
Çoğu ekip prompt'u hisle iterate edip hafızayla shipliyor. Minimum işe yarayan karşılaştırma: aynı input üzerinde iki prompt'u paralel çalıştırıp output, latency ve cost'u yan yana görmek — side-by-side'ın sıralı versiyonun göremediği şey.
Tek bir tool yazmadan önce sandbox'ı kur
Çoğu agent ekibi önce tool'ları yazıyor, sonra tasarımın yanlış olduğunu keşfediyor. Tool yanıtlarını mock'la, loop'u el ile rol-yap, kötü tool tasarımlarını codebase'ine dokunmadan on beş dakikada öldür.
Claude agent'larını trace replay ile debug ediyorum
Agent trace'leri garip bir çalışmayı debug etmek için gereken her şeyi içeriyor, ama wall of nested JSON olarak saklanıyor. Yeniden çerçeveleme: onları döküman olarak okumayı bırak, kararların timeline'ı olarak izle. Bir editörde 30 dakika alan bug'lar 30 saniyede bariz oluyor.
Your prompt isn't better. You just remember it being better.
Most teams iterate on prompts by feel and ship by memory. The minimum useful comparison is two prompts in parallel, surfacing output, latency and cost on the same input — what side-by-side reveals that sequential never does.
Build the sandbox before you write a single tool
Most agent teams write the tools first, then discover the design was wrong. Mock the tool responses, role-play the loop by hand, and kill the bad tool designs in fifteen minutes — before they touch your codebase.
How I debug Claude agents by replaying their trace
Agent traces contain everything you need to debug a weird run, but they're stored as walls of nested JSON. The reframe: stop reading them as documents, start watching them as timelines of decisions. Bugs that take 30 minutes in an editor become obvious in 30 seconds.
Tarayıcıda Claude'a streaming çağrı — SDK olmadan
Resmi Anthropic SDK'sını tarayıcı tarafına almak için neden uğraşmadığım ve onu replace eden ~150 satır TypeScript: tool-use destekli SSE parser'ı, temiz iptal, anlamlı hatalar.
Prompt caching, Claude'un en ucuz optimizasyonu. Kimse ölçmüyor.
Her Claude response'u cache-hit verisi taşıyor. Çoğu uygulama bunu hiçbir yere loglamıyor — ve bunun bedelini ödüyor. Kimsenin grafiklemediği hit oranı metriği, ve kendini bir haftada amorti eden dört alanlı log satırı.
Rules and Commands That Actually Stick
How to make .cursorrules and slash commands useful instead of forgotten: start from pain, keep the list short, iterate from real usage.
Neden Bazen Sadece Boş Ekrana Bakıyorum
Hiçbir tuşa basmadan ekrana bakmak da işin parçası. Verimlilik kültürüne ters bir itiraf.
Bitmemiş Projeler Mezarlığım ve Neden Rahatım
Yarım kalan side project'ler başarısızlık mı? Bence bazen sadece keşfin kendisi.
"Best Practice" Dediklerimizin Yarısı Ezber
DRY, test coverage, yorum yazmak… Kurallar bağlam olmadan anlamsız. Cesur bir tez.
Yapay Zeka ile Yazılım Geliştirme: MCP, GPT ve Cursor
LLM araçları, Model Context Protocol (MCP) ve Cursor ile günlük geliştirme pratiğinde nasıl daha verimli olunur.
Model Context Protocol (MCP) Nedir?
MCP, AI asistanlarının dosya sistemine, API'lere ve araçlara güvenli erişimini standartlaştıran açık protokol.
Cursor IDE ve Prompt Mühendisliği
Cursor’da @dosya, @web kullanımı, net talimatlar ve .cursorrules ile daha tutarlı ve verimli AI kullanımı.