Ana ekran ürünü anlatmak yerine atmosfer kuruyor: gündelik nesne, kısa vaat, tek aksiyon.
Chat değil, kısa canlı karşılaşma
talks2me basit bir fikirden çıktı: kullanıcı kamerayı bir nesneye çevirsin, nesne kendini görsün, rolüne girsin ve sesli cevap versin. Bunu klasik AI chat arayüzü gibi değil, kamera merkezli kısa bir performans gibi tasarladım.
Ürün tek sayfalık bir Vite/React deneyimi. Backend tarafı yalnızca Gemini Live için kısa ömürlü token üretiyor. Görüntü, ses veya transkript saklanmıyor; medya trafiği server üzerinden taşınmıyor.
Ürün akışı tek state etrafında dönüyor: kamerayı aç, nesneyi merkeze getir, canlandır.
Teknik tercihi zinciri kısaltmaktı
Ayrı object detection, speech-to-text, LLM ve text-to-speech zinciri kurmadım. Bu daha fazla entegrasyon, daha fazla gecikme ve daha fazla kopma noktası demekti. Bunun yerine Gemini Live tek multimodal konuşma motoru oldu.
Client kamerayı açıyor, ilk kareyi 512x512 JPEG olarak yakalıyor ve canlı oturumu başlatıyor. Sonraki konuşma turlarında sürekli video stream etmek yerine, kullanıcı yeni bir konuşma turuna girdiğinde güncel bir kare daha gönderiliyor. Böylece deneyim görsel kalıyor ama trafik ve maliyet açık uçlu büyümüyor.
Nesne örnekleri ürünün asıl iddiasını gösteriyor: model genel asistan değil, kadrajdaki nesnenin karakteri.
Prompt kontratı ürün kalitesinin parçasıydı
Nesnenin davranışını prompt içinde net bir kontrata bağladım: Türkçe konuşacak, birinci tekil şahısta kalacak, kendini AI/asistan olarak anlatmayacak, görünür ayrıntıları kullanacak ve genel görevleri çözmeye çalışmayacak.
Bu sınır önemliydi; çünkü ürünün konusu güçlü bir model göstermek değil, fiziksel bir nesnenin kısa süreliğine canlı hissetmesi. Chat balonları yerine reticle, canlı durum, kısa altyazı ve session timer kullanmamın sebebi de buydu.
Teknik hikaye UI içinde sade kalıyor: göster, tanı, karaktere gir, konuş, cevap ver.
Ajanlarla çalışma şekli
Bu projeyi AI ajanlarıyla rastgele kod ürettirerek değil, küçük ve doğrulanabilir parçalara bölerek ilerlettim. Önce ürün davranışını ve sınırlarını yazılı hale getirdim. Sonra token endpoint, session state, PCM dönüşümü, speech-turn detection, live connection ve UI state alanlarını ayrı ayrı doğruladım.
Benim için burada önemli olan ajan kullanmış olmak değil; ajanı kararları bulanıklaştıran bir kısa yol yerine, kararları daha görünür ve test edilebilir yapan bir çalışma düzeni olarak kullanmaktı.
Mobil hero, kamera aksiyonunu ve privacy sınırını aynı ilk yüzeyde tutuyor.
Mevcut durum
Proje production ortamında çalışıyor: talks2me.olusemre.dev. Local test suite, build, production token endpoint ve sitemap doğrulandı.
Bu içerik paketinde canlı API token üretimi doğrulandı, fakat gerçek fiziksel nesneyle uçtan uca sesli Gemini konuşması manuel olarak tekrar edilmedi. Kamera-ready screenshot fake camera stream ile alındı; bu yüzden ürün akışını gösteriyor ama gerçek bir nesne görüntüsü veya model cevabı göstermiyor.