Artık Figma’dan çok Claude ile tasarım yapıyorum
(blog.janestreet.com)- Tasarım iş akışı, spesifikasyon belgeleri ve Figma mockup’ları üzerinden implementasyonu gözden geçirme yönteminden, gerçek kod tabanında çalışan prototip özellikler üretme akışına kayıyor
- Copilot, Cursor ve Gemini; zaten iyi yaptığı oyun düzenleme, ürün brifi ve wireframe işlerinde beklentiyi karşılamadı, ancak yeni öğrenilmesi gereken OCaml ve Bonsai ortamında yapay zeka desteği vazgeçilmez bir unsur haline geldi
- Sorunlar ve öneriler bir prompt olarak verildikten sonra temel işlevin kurulması, tekrar tekrar düzeltilmesi, geliştirme ortamına dağıtılması, kullanıcı görüşlerinin alınması ve feature gönderimine uzanan gerçek implementasyon odaklı bir süreç izleniyor
- JSQL girdisine LLM prompting ekleyen prototip; butonlar, kısayollar, metinler, prompt’lar ve onay mesajları üzerinde defalarca ince ayar yapmayı sağladı, böylece Figma bileşenleri veya belge biçimleri yerine çaba gerçek çıktıya odaklandı
- Tasarımcılar fikirleri doğrudan kullanılabilir biçime dönüştürebilir hale geldi, ancak tamamlanmış bir özellik gibi görünen prototipler; inceleme sürecine katılım biçimi ve yaratıcı keşif açısından yeni zorluklar da getiriyor
LLM şüpheciliğinden vazgeçilmez destek aracına
- Uzun süre boyunca LLM kullandığım her seferde sonuçlardan hayal kırıklığına uğradım; zaten iyi yaptığım işlerde LLM kullandığımda, ortaya çıkan kaliteyi kendi yaptığım işten daha düşük buldum
- Geçen yıl yaptığım bir oyunu düzenlemek için Copilot ve Cursor kullandım, ama ikisi de çalışan bir değişiklik üretemedi; önceki işimde ise Gemini ile ürün brifi taslağı ve wireframe üretmeyi denedim, ancak hepsi çöpe gitti
- Geçen yaz Jane Street’e katıldıktan sonra öğrenmem gereken çok şey vardı; özellikle hâlâ alışık olmadığım OCaml ve Bonsai gibi teknolojiler nedeniyle yapay zeka desteği vazgeçilmez bir rol üstlendi
- Büyük değişim, yapay zekanın en çok güvendiğim tasarım iş akışını bile dönüştürmüş olmasıydı
Figma ve belgeler yerine gerçek kod tabanında prototip
- Spesifikasyon belgesi yazmak, Figma mockup’ları hazırlamak, öneri dokümanı oluşturmak ve geliştiricilerle implementasyonu gözden geçirmek yerine, kafamdaki özelliği tam olarak yerine getiren bir prototip özellik üretmek
- Gerçek akış şöyle işliyor: problemi ve öneriyi açıklayan cümleler yazılıyor, editörde build, sunucu ve Claude çalıştırılıyor, ardından yazılan açıklama prompt olarak kullanılıyor
- Önce temel işlev çalıştırılıp mümkün olduğu görülüyor, sonra istenildiği kadar tekrar tekrar düzeltiliyor
- Değişiklikler geliştirme ortamına alınıyor, kullanıcı görüşü isteniyor ve istenen görünüm ile davranışa sahip bir feature gönderiliyor
- feature, Jane Street’te pull request’e karşılık gelen süreç
- Gerçek kod tabanındaki prototip özellikler, mockup ve belgelerden neredeyse her açıdan daha iyi bir deneyim sunuyor
- Yakın zamanda JSQL girdisine LLM prompting ekleyen bir prototip gerçekten çalıştı ve birkaç gün boyunca bizzat kullanılarak test edildi
- JSQL, çok kullanıcılı araçlarda kullanılan dahili bir SQL lehçesi
- Claude, 50. fikir değişikliğinde ya da küçük bir düzeltme isteğinde bile sorun çıkarmadan özgür ve sınırsız iterasyon sunuyor
- Submit butonu, klavye kısayolu, metinler, prompt’lar ve üretilen onay mesajına kadar her şey iyileştirildi
- Önceki iş yerinde bu tür iş akışı iyileştirmeleri ya mühendislik ve tasarım arasında günlerce ya da haftalarca süren bir gidip gelme gerektirirdi ya da daha büyük olasılıkla hiç gerçekleşmezdi
- Bu özelliğe harcanan emek, Figma bileşenleri üretmek veya belge biçimini ayarlamak gibi ara çıktılara değil, doğrudan gerçek çıktıyı iyileştirmeye odaklandı
Son iki ayda kapsamın genişlemesi
- Bu akışa gelmek zaman aldı; ilk katıldığım dönemde yapay zekayı yalnızca UX’teki küçük pürüzleri düzeltmek gibi ufak işler için kullanıyordum
- Büyük fikirlerde hâlâ Figma ve belgeler kullanılıyordu, Claude ile üretme girişimleri ise başarısız oluyordu
- Son 2 ay içinde Figma açtığım durumlar keskin biçimde azaldı; bunda gelişen modeller, araç kullanımındaki ustalık ve doğru kapsam seçimi birlikte etkili oldu
- Yapay zeka yalnızca JSQL prompt’larında değil, kullanıcıya dönük, veri modeli veya kütüphane değişikliği içeren yaklaşık 6 prototipte de işe yaradı
- Bazı prototiplerde diff 2000 satırın üzerindeydi
- Figma’da tasarlanmış yeni bir uygulamanın interaktif prototipini uygulamak için de kullanıldı
- Bazı yeni uygulamalarda ise Figma tamamen atlanarak görsel tasarım iterasyonu en baştan Claude ile yapıldı
Tasarımcının yetkisinin genişlemesi ve inceleme biçiminin yeniden tanımlanması
- Mühendisler bir fikirleri olduğunda çalışan bir kavram kanıtı oluşturabilirken, tasarımcıların bunu başkasının yapması için ikna etmesi gerekiyor
- “JSQL girdisinde doğrudan LLM prompting” gibi fikirlerde başlangıçta uygulanabilirlik net olmadığından, prototipi başka birine yaptırmak zaman kaybına dönüşebiliyor
- Bazı öneriler kullanıcı ihtiyacını açık biçimde karşılamayabilir; ancak fikir Claude ile somut bir biçime getirildiğinde, başkalarının bunu doğrudan kullanıp değerlendirmesi kolaylaşıyor
- Olumsuz tarafı, inceleyenin tamamlanmış bir özellik almış gibi hissetmesi ve özellikle ilgili katkı vermeden yalnızca kodu mu incelemesi gerektiğinin belirsizleşmesi
- Tasarım açısından bakıldığında bu, PM’in ayrıntılı wireframe verip yalnızca güzel görünür hale getirilmesini istemesine benziyor; keyifli bir inceleme işi değil
- Öneri açık ve eksiksiz olmalı, ancak mühendis ekip arkadaşlarının bunu Figma mockup’ı gibi tasarım alanında birlikte iterasyon yapılacak bir şey olarak ele alması gerekiyor
- Şu anki çözüm, feature açıklamasına kısa bir uyarı eklemek
- Prototip, yaşayan bir öneri belgesidir
- Kod çöpe atılabilir
- İnceleyenin rolü tasarım ve kullanıcı deneyimi geri bildirimi vermektir
- Son aşamada inceleyen kişi fikri devralıp ayrı bir feature içinde uygular; prototipi referans alır ama production kodun sahibi inceleyen kişi olur
- Gerçek iş akışında ise bu yeni yöntemde neyin makul ve iyi hissettirdiğini hâlâ keşfetmeye devam ediyoruz
İteratif çalışmanın sınırları ve yeniden gerçek ortama dönme hissi
- Claude ile tasarım yaparken daha akışkan ve yaratıcı düşünme biçiminden uzaklaşma, Claude’un üretebileceğini düşündüğünüz sonuçların içinde sıkışıp kalma endişesi var
- Değişimlerin daha iteratif olduğu olgun araçlarda bu sorun olmayabilir, ancak yeni bir şey üretirken bazı fikirleri kaçırma riski bulunuyor
- 2011’de profesyonel kariyerime başladığım dönemde designers should code tartışması yaygındı; eleştirilerden biri, programlamaya başladığınızda fikirlerde büyük değişiklik yapmanın zorlaşmasıydı
- Web sitesi yapmayı ve programlamayı sevdiğim için kod yazmaya devam ettim; ancak React gibi frontend framework’lerinin yaygınlaşması ve frontend geliştirmenin karmaşıklaşmasıyla birlikte uzmanlaşmayı seçtim
- React ile yaptığım kişisel projeler geliştiricilerle etkileşim kurmama yardımcı oldu, ama iş hayatımda zamanımın neredeyse tamamı Figma ve belgelerde geçti
- LLM’lerden önce Jane Street’e katılmış olsaydım muhtemelen Figma’ya daha da sıkı bağlanacaktım; JavaScript’in aksine OCaml ve Bonsai tamamen yeniydi ve teknik katkı yapmak elimden gelmeyecek bir şey gibi hissedilecekti
- Şimdi ise yeniden gerçek çıktılar üretiyorum; o ortamın içinde çalışabildiğim ve her şeyi deneyebildiğim daha büyük bir özgürlük hissi var
1 yorum
Hacker News yorumları
İş tarafı zaten çoğu zaman gereksinimleri kendi düşündükleri çözüm biçiminde getiriyor ve bu da genelde bir Rube Goldberg düzeneği gibi bir şey oluyor; gerçek gereksinime ulaşmak için konuşarak tersine mühendislik yapmak gerekiyor
Bundan sonra ise ellerinde zaten “hazır” ve “çalışan” bir çözümle gelecekler ve tasarım ile mimariye bütünsel bakma fikrine daha da kapalı olacaklar gibi görünüyor
Muhtemelen “Bunu işte böyle yaparız, neredeyse bitti zaten; neden X içgörüsüne ihtiyacımız var?” diyecekler
Sorun şu ki iş tarafı neden bu uygulamayı olduğu gibi production’a alamayacaklarını anlamıyor
“AI ile daha hızlı gidebiliriz” baskısı artıyor ve sonunda bunun nasıl sonuçlanacağı sağlıklı organizasyon dinamiklerine bağlı olacak gibi görünüyor
İyi tarafı, fikrin peçeteye karalanmış bir eskize kıyasla çok daha kapsamlı doğrulanmış olması
Claude muhtemelen sınır durumları ve tasarım kararları hakkında zaten sorular sormuştur; bir noktada da açıkça “onu dert etme, öyle varsay” ya da “birkaç kez denedim, bu etkileşim iyi değil, başka türlü yap” denmiştir
Şu anda “ne var bunda, direkt yayına al işte” baskısı güçlü, aptalca ve moral bozucu olduğu için net kayba yakın; ama işler oturursa gelecekteki projeler için net kazanca da dönüşebilir
O ufak düzeltmeler ise tarayıcı tam 1920px genişliğinde değilse düzenin bozulması, filtreleme ve sıralamanın bazen düzgün çalışmaması, bazı işlemlerden sonra yeni değerin uygulamada doğru güncellenmemesi gibi şeyler oluyor
Sorun ne olursa olsun iş tarafı zaten işin %95’ini yaptığını düşünüyor ve “kıdemli bir geliştirici bunu hemen düzeltir” diye en baştan varsayıyor
İnsanlar ellerindeki çıktıya alışıyor ve yeni profesyonel bir miksle gelen değişiklikleri kabullenmeleri daha zor oluyor
Müşteri problemini kullanışlı ürün özelliklerine çevirebilen PM, CSM ve TAM’ler var ama problem tanımını atlayıp başka fonksiyonel ekiplerin çözüm üretmesine yol açıldığında bu genelde mühendislik ve diğer kaynaklarda büyük israfa yol açan bir felaket oluyor
Biri elinde çözümle geldiğinde, aylar boyunca işletilebilir yazılım yaptıktan sonra müşterinin bundan hoşlanmadığını, sorunu çözmediğini ya da yeni sorunlar yarattığını öğrenme riski çok yüksek
Benim çalıştığım yerde değil, eski bir iş yerimde oldu; veri kaybı ve güvenlik sorunları olmasına rağmen aynen production’a alındı
Bildiğim kadarıyla Jane Street, Anthropic’in yatırımcılarından biri; bunu da hesaba katmak lazım
Bir de 2025 Temmuz’unda Hindistan Menkul Kıymetler ve Borsa Kurulu SEBI’nin, Jane Street’in çeşitli tüzel kişilikler kullanarak piyasa manipülasyonu yaptığını iddia edip piyasaya erişimini yasakladığı konusu var
Büyük para havuzlarında bolca dashboard gerekse gerek
Burada tasarımcı yanlış bir yaklaşım izliyor gibi; prototipi olabildiğince derin ve gerçekçi yapma isteğiyle bir tür mühendislik özentisine kapılmış görünüyor
Oysa tasarım işinin en önemli kısmı bu değil
En önemli şey doğru şeyin inşa edilmesi
“Neden bir JSQL giriş kutusu gerekli? Aslında istenen şey ne? Başka hangi yollar var?” gibi sorular çoğu zaman kalem kâğıt eskizleri, toplantılar, gözlem ve tartışmalarla daha iyi çözülür
Bu, çok erken aşamada belirli bir tasarıma daralıp düğme solda mı sağda mı olsun ya da LLM’nin ayrıntılı davranışı ne olsun gibi tartışmalara girmekten daha iyidir
Tabii tam da böyle düşünmenizi istiyor olmaları da mümkün
Bazen bunu görüyorum
LLM şu anda yinelemenin ötesini göremiyor; bu yüzden benim kalıpların dışında düşünüp “buna şu açıdan bakarsak ne olur?” demem gerekiyor ki bir anda yeni bir tasarım yaklaşımı ortaya çıksın
Bazen de LLM’nin kendi ilerlediği adımların ötesini görebilmesi için bir akış şeması hazırlamak gerekiyor
“Claude bana 50. kez fikrimi değiştirsem ya da küçük bir düzeltme istesem bile dert etmeyen, ücretsiz ve sınırsız yineleme verdi” deniyorsa, Claude için ödeme yapılmıyor mu?
Küçük tasarım stüdyolarında da benzer oluyor; geliştiricilerdeki gibi saatlik ücretlendirme her zaman yok
Dürüstçe, tasarım konusunda gerçekten kötü olduğumu ve bir tasarım sisteminden ekstrapolasyon yaparken de zorlandığımı söyledim
Kabul edilebilir görünen bir noktaya ulaşmak benim için aşırı zor ve bu süreçte neredeyse her zaman işi daha kötü hale getiriyorum
Mülakattaki tasarımcı bunu kişisel algılayıp üstüme gelmişti
Daha önce de benzerlerini yaşadım
Tasarımcılar bir şeyin nasıl görünmesi gerektiğine dair bitmek bilmeyen sorulardan hoşlanmıyordu ve dosyayı bir kez devredip işin bitmesini istiyorlardı
Pazarlama ve reklam ajanslarında da, tasarım spesifikasyonunda yer almayan şeylerin nasıl görünmesi gerektiğine dair örnek almak için sürekli kavga etmek zorunda kalmıştım
Haklıydım demiyorum ama bu benim için büyük bir Aşil topuğu
O yüzden “ücretsiz, sınırsız yineleme, dert etmiyor” denince aklıma paradan önce zaman ve sabır geliyor
Prototipleme için kullandığım Bolt bana kızmıyor
En iyi tasarımı üretmiyor olabilir ama benim yapabileceğimden çok daha iyisini yapıyor ve iş bittiğinde gerçek bir tasarımcıya daha iyi hale getirtilebiliyor
O zamana kadar da birini kızdırma endişesi taşımam gerekmiyor
Frontend’de Claude Design kullanıyordum
Ortaya çıkan işin görünümü ve hissi yeterince iyi, ama tasarımlar sık sık birbirine benziyor ve genel olarak modern webin kalıplaşmış desenlerini takip ediyor
Bununla alışılmadık yaratıcı denemeler yapan biri olup olmadığını merak ediyorum
Şu ana kadar yaklaşık 3 hafta harcadım ve hâlâ tamamlanmış değil ama fikir verir
Geçtiğimiz 10 yılda SaaS boilerplate’i olduğu gibi, internetten öğrenilmiş bir LLM boilerplate’i de var
Yine de yeterince emek verirseniz hâlâ her şey mümkün
Gereksinim verirsen ona uyması, yön vermezsen de güvenli seçimler yapması ilginç
Çıktının estetiğini ve kullanıcı deneyimiyle içeriği değerlendirecekseniz ama estetik taraf için neredeyse hiç prompt vermiyorsanız, yalnızca güvenli varsayılanları alırsınız
bootstrap/tailwind kopyası hissi veren tasarımlar yapmada iyi ama o tarafı bilinçli şekilde itmeniz gerekiyor
Basit web sayfalarında ilk iterasyonun tek odağını görsel stil yapmaya başladım
Standart görünmemesi için özellikle talimat verip istediğiniz web sitesi stiline örnekler vermeniz yeterli
Biraz uğraşınca biraz daha yaratıcı hissettiriyor ama prompt çalışması gerekiyor
Bana çok saygı gören ve son derece deneyimli tasarımcılar önerdi; onlar artık neredeyse tamamen Claude’da prototip oluşturuyor, beğenirlerse Figma’da cilalıyorlar
En başta ayrıntılı stil prompt’ları olmadan genel bir UI isterseniz genel bir tasarım çıkması zaten normal
Buradaki avantaj, tasarımcının kod yazmayı öğrenmesi
Tasarımcıların yazılımın nasıl üretildiğini bilmeden yazılıma şekil vermesi bana hep tuhaf gelmiştir
Bu arada ben de tasarımcıyım
Yalnız kodla tasarlamak teknoloji öncelikli bir yaklaşım
Tasarımın amacı çıktıyı insan amaçlarına göre şekillendirmekse, kodun katı kurallarından başlamamak daha iyi de görülebilir
Güzel görünen sonuçlar yüzünden değil, düşünceyi ileri itme konusunda kalem ve kâğıdı geçmek hâlâ zor
Artık fiilen sesle kod yazabilir hâle gelince yeniden vibe coding ve ürün yapımına dönüyorum ve bu harika
Patronum bu yeni durumu hâlâ anlamaya çalışıyor ama eski rol ayrımlarının ölmeye başladığını düşünüyorum
Kesişim noktasında olmak bence şu anda en iyi yer
Sanki bütün hayatım beni bu ana hazırlamış gibi geliyor
Tasarımcı için bu, sonuca bakıp görsel düzenleyici yerine dille değişiklik yapılan bir Figma gibi olurdu
Eşim bir FAANG şirketinde ürün yöneticisi; ekibi, normalde Word ya da Excel gibi araçlarla yapacakları yazılım parçalarını AI ile vibe coding yapmaya aşırı derecede bel bağlıyor
Kod yazmayı öğrenmiyorlar ve koda bir saniye bile bakmıyorlar
“Prototip yaşayan bir teklif belgesidir, kod atılabilir, reviewer’ın görevi de mimari ve kullanıcı deneyimi hakkında geri bildirim vermektir.
Sonuçta reviewer fikri devralır ve ayrı bir özellik olarak uygular; prototipi referans alır ama üretim kodunun sahipliğini kendisi üstlenir” yaklaşımı, tüm POC’lerde yaşadığım sorunu çözüyor
Gerçekten çok iyi bir yöntem
Belirli bir ürünün belirli bir sorununu ele alırken buna “teklif belgesi” demek kolaydır
Ama hâlâ çok sayıda tasarımcı Figma’yı ürün ve platform genelindeki tasarım sistemlerini tanımlamak ve sürdürmek için kullanıyor; bu durumda hakikatin kaynağı Figma’dır
Bizim ekip de bunu yapıyor ve ben bir frontend mühendisiyim; dürüst olmak gerekirse eski yöntemi gerçekten özlüyorum
Yazılı spesifikasyonların yerini çalışan prototipler aldığından, artık kodu okuyup amaçlanan değişikliğin ne olduğunu ve atılması gereken gürültünün ne olduğunu ayırt etmek gibi ek bir bilişsel yük var
Oluşturulmuş bir PR’ı devralıp gerekli değişiklikleri mi yapacağıma yoksa baştan mı yazacağıma karar vermem gerekiyor; her iki durumda da sürtünme var
Bir keresinde tonla istenmeyen değişiklik üretilmişti; ben de yeniden uygulamak için zaman harcayıp taşıdıktan sonra sonradan “Aa, özür dilerim, onu değiştirmek istememiştik” denmişti
Yetki vermesini anlıyorum ama eskiden işimde hissettiğim keyfin bir kısmını alıp onu bir baş ağrısına çevirdi
Tasarım ve ürün tarafı Claude ile özellik ya da deneyimi vibe tasarlayıp kodluyor, hızla prototip çıkarıyor ve minimum mühendislik süresiyle müşterinin önüne koyup geri bildirim alıyor
Harika
Ama genel olarak daha hızlı yayın yapmaya pek yardım etmemiş olması şaşırtıcı olabilir
Bence nedeni süreçte düşünmenin kaybolması
Azımsanmayacak miktarda düşünme artık dil modeline outsource edildi
Prompt’lardaki boşlukları kapatıyor, belirtilmemiş davranışları halüsinasyonla dolduruyor
Eskiden “Bu tam oturmuyor”, “Bu fikri nasıl aktaracağım?”, “Bu durumda ne olacak?” deyip duraksayacağımız anlar kayboldu; şimdi o ayrıntılar düzgünce yapılmış gibi göründükten sonraya erteleniyor
Elbette süreci iyileştirip bu yeni tekniği daha iyi kullanmayı yeniden değerlendirebiliriz ama eskisinden daha iyi mi, emin değilim
Geriliyor
Artık backend’ciler de frontend yapıyor
Bu bir yanılsama
Derleyicinin ürettiği assembly’ye bakıyor musunuz? Hayır
O hâlde neden bu koda bakıyorsunuz?
Biz soyutlama katmanını yukarı taşıdık
Ben de aynı yaklaşımı sık kullanıyorum
Yapay zekadan önce de bunu manuel olarak yapıyordum
Önce kullanıcıyla birlikte sadece kalem ve kâğıtla oturuyor, ardından hızlıca bir frontend POC ya da demo hazırlıyor, kullanıcının bunu kurcalamasını sağlıyor ve istedikleri gibi çalışana kadar ayarlıyordum
Benim için, üretim kalitesinde olmayan hızlı bir frontend demosunu kodla yapmak, Figma'da doğru etkileşimleri oluşturmaktan çoğu zaman zaten daha hızlıydı
Tam etkileşim mümkün olduğu için kullanıcı deneyimi tarafındaki uç durumları çok daha fazla yakalayabiliyordum
Artık Claude Code sayesinde çöpe atılacak prototipler yapma hızı arttı, ama fark çok büyük değil
Kullanıcıyla tartışmak ve nasıl çalışması gerektiğini düşünmek toplam sürenin %80'ini aldığı için, Claude doğrudan hızlıca kendim yapmama kıyasla kalan %20'yi yaklaşık yarıya indiriyor
İlk sürüm daha hızlı, ama tamamen anlamadığım durumlarda yineleme daha yavaş
Edwin, yazını burada görmek güzel
2012/2013 civarında birlikte hackathon yaptığımızı hatırlıyorum
Çalışan bir prototipe daha hızlı ulaşabilme yeteneği çok güç veriyor; bu, yarım kalmış fikirleri olduğu gibi yayına alma cazibesi yaratsa bile
Tasarım ve kullanıcı deneyimi gereksinimleri, storyboard ve wireframe'in ötesine geçip gerçek akışı dokunarak ve deneyimleyerek görülebildiğinde büyük fayda sağlıyor