SpandTranslate
Sayfaları yüklüyorsun; balonları bulup metni istediğin dile çeviriyor, orijinal yazıyı temizleyip çeviriyi balona yerleştiriyor. Kendi girişimim.

Sorun
Neden yapıldı
Bir manga bölümünü çevirmek el işidir: her balonun metni okunur, çevrilir, orijinal yazı silinip arka plan onarılır, çeviri balona yeniden dizilir. Tek bir bölüm saatler sürer. Bunu tek tıklık bir işe çevirmek istedim.
Yaklaşım
Ağır iş sunucuda
Ağır işin hepsi sunucuda: görüntü işleme GPU'lu sunucularda, çeviri yapay zekâ modelleriyle. Kullanıcı sekmeyi kapatsa da iş sürer; ücret yalnız başarıyla çevrilen sayfadan alınır.
Balonları bulan tespit modelini hazır almadık; kendi veri setimizle SpandZero'yu eğittik.
Mimari yatay ölçekleniyor: iş geldikçe yeni GPU işçileri kendiliğinden devreye giriyor, yük azalınca geri çekiliyor. Tek bir kullanıcı aynı anda 5 GB görsel, 600 bölüm, 18.000 sayfa gönderebiliyor; sistem bunu dilimlere ayırıp işçilere dağıtıyor, kimse sıra beklemiyor.
Nasıl çalışıyor
Uçtan uca akış
-
Yükle
Bölüm tek seferde bırakılır.
-
Tespit
Kendi eğittiğimiz model balonları ve metni bulur.
-
Çeviri
Bölümün bağlamı korunarak istenen dile çevrilir.
-
Temizlik
Orijinal yazı silinir, arka plan onarılır.
-
Dizgi
Çeviri balona oturtulur; düzeltilip indirilir.
Teknik özet
- Sunucu
- Laravel 12, PHP 8.4
- Arayüz
- Vue 3 + Inertia, TypeScript
- Editör
- Konva tuvali
- Tespit
- SpandZero (kendi modelimiz)
- Görüntü işleme
- GPU işçileri, Beam
- Çeviri
- LLM'ler, OpenRouter ya da kendi anahtarın
- Masaüstü
- macOS ve Windows uygulaması
Önemli değişiklik
Hız ve güven
- Sıra bekleyen küçük işler. Kısa işler ağır işlerin arkasında kalıyordu. Öncelikli sıralar kurdum; aynı yük altında üç temizlik işi 124 sn'den 42 sn'ye indi.
- Çöken sunucu. Bir GPU işçisi düştüğünde işleri askıda kalıyordu. Artık canlı bir işçi onları yaklaşık 45 sn içinde devralıyor; önce 6 dakikayı buluyordu.
- Para güvenliği. Aynı iş iki kez ücretlenmez, boş sayfa hiç ücretlenmez. Bunu otomatik testler koruyor.
Sonuç
- kullanıcı başına eş zamanlı görsel
- 5 GB
- bölüm, aynı anda
- 600
- sayfa, tek seferde
- 18.000
- arayüz dili
- 23
- çeviri dili
- 160+
- çıktı biçimi
düzenlenebilir PSD dahil - 7
Ekranlar


Ne öğrendim
Uzun süren bir işi kullanıcının tarayıcı sekmesine bağlamamak gerekiyor. İş ne kadar uzun sürerse bir yerde yarıda kalma ihtimali o kadar artıyor; sistemi, her adımı kaldığı yerden devam edebilecek şekilde kurdum.
Sıradaki dal senin projen
Ne yapmak istediğini birkaç cümleyle yaz. Genelde aynı gün, en geç ertesi gün dönüyorum.
Şu an yeni işlere açığım: proje bazlı serbest işler, uzaktan ya da İstanbul’da yerinde. Bir web platformu, eğitilecek bir model ya da inatçı bir cihaz; hangisiyse yaz ya da ara.