talks2me ana ekranında masa lambası, kitap, ayakkabı ve kamerayı aç çağrısı görünen desktop hero görünümü
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.

Canlı kamera stateinde merkez reticle, 90 saniye göstergesi ve Canlandır butonu görünen ürün akışı
Ü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.

Bardak kartı seçili olan talks2me nesne orbit bölümü ve nesne listesi
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.

Nasıl canlanıyor bölümünde beş adımlı teknik akış ve GÖRÜR capability paneli
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 talks2me hero ekranında logo, menü, canlı deney etiketleri, kamerayı aç bağlantısı ve privacy metni
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.

Available for work