Blog / Geliştirme / Kod, Kart ve Kafe — Hafta Sonu Lig Yazılımı Yazıp Topluluğu Büyüten Yazılımcının Günlüğü
Kod, Kart ve Kafe — Hafta Sonu Lig Yazılımı Yazıp Topluluğu Büyüten Yazılımcının Günlüğü
Geliştirme

Kod, Kart ve Kafe — Hafta Sonu Lig Yazılımı Yazıp Topluluğu Büyüten Yazılımcının Günlüğü

Giriş: Her cumartesi sabahı kahvenin ilk tadı, klavye tuşlarının ritmi ve masada duran bir deste kart: benim hafta sonlarım böyle başlar. Bu yazı tekniğin, üretkenliğin ve topluluk yönetiminin iç içe geçtiği bir günlük. Hem kodlama pratikleri hem de topluluğu büyütme stratejileri içerecek; gerçek örnekler, alınan kararlar ve yapılan hatalarla dolu.

Hafta Sonu Rutinim: Kafe, Kod ve Kartlar

Hafta içi iş saatleri dışında çalışan yazılımcıların en büyük kısıtı zamandır. Ben bu kısıtı üç unsura böldüm: kafe (ortam), kart (oyun ve organizasyon unsurları) ve kod (üretim). Her biri ayrı bir motivasyon kaynağı ve işlev barındırıyor.

Kafenin rolü

Kafe, odaklanma ve görünürlük sağlar. Fiziksel bir mekânda kod yazmak, toplantı düzenlemek veya etkinlik başlatmak için doğal bir başlangıç noktasıdır. Benim tercihim sabah 09:00-13:00 arası sessiz çalışma, öğleden sonra ise toplulukla sohbet ve küçük etkinliklerdir.

Kartlar: Oyun içinde bir dil

Lig sistemi kart tabanlıdır: her takım veya oyuncu için bir "kart" profili, her maç için bir "maç kartı" vardır. Bu kartlar görsel olduğu kadar psikolojik de çalışır; kullanıcılar kendi kartlarını özelleştirdikçe aidiyet hissi artar. Kartlar, ekip içi görev yönetiminde kullandığımız kanban kartlarına da esin kaynağı oldu—hem oyun hem geliştirme süreçleri aynı metaforla ilerliyor.

Gün 1 — İlk Prototip: MVP'yi Kafede Yazmak

Birinci gün hedefim çalışır bir akış: kullanıcı kaydı, kart oluşturma, basit eşleştirme algoritması ve sonuç kaydı. Teknik seçimler şu şekildeydi:

  • Backend: Hızlı prototip için Node.js + Express. Az konfigürasyon, hızlı tekrar.
  • Veritabanı: PostgreSQL — ilişkisel veriler ve sorgu gücü için.
  • Ön yüz: Minimal React; komponent bazlı kart görüntüleme.
  • Dağıtım: Docker Compose ile yerel geliştirme, Heroku/Render tarzı PaaS ile hızlı yayın.

Örnek uygulama akışı: kullanıcı kartı oluşturuyor -> maç talebi açıyor -> basit ELO benzeri eşleştirme ile rakip bulunuyor -> maç sonu sonuç giriliyor -> puan güncelleniyor. İki saatlik bir kodaşma oturumunda bu akışı uçtan uca çalıştırdık; kafedeki ilk kullanıcılar test etti ve geri bildirim verdi.

Gün 2 — Topluluk Etkinliği: Küçük Turnuva ve Geri Bildirim

Ertesi gün aynı kafede küçük bir turnuva düzenledik. Amaç sadece oyuncu çekmek değil; aynı zamanda yazılımın kullanım senaryolarını sahada görmekti. Etkinlik sırasında dikkat ettiğim noktalar:

  1. Kısa onboarding: İlk 5 dakikada oynatılabilir olmalı.
  2. Gözlem: Kullanıcılar nerede takılıyor, hangi terimler kafa karıştırıyor?
  3. Hızlı düzeltme: Bulduğumuz küçük hataları olay yerinde düzeltip yeni sürümü dağıtmak.

Bu etkinlik sayesinde birkaç önemli UX hatasını erken yakaladık: kart düzenleme karmaşıklığı, maç kabul akışının belirsizliği ve bildirim eksikliği. Her birini önceliklendirip bir sonraki hafta sonuna bıraktık.

Teknik Derinlik: Hızlı ama Sürdürülebilir Geliştirme

Hafta sonu projelerinde yapılan en yaygın hata "geçici çözümler"in kalıcı hale gelmesidir. Ben birkaç ilke benimsedim:

  • Test yaz: Her yeni özellik için birim testi ve en az bir entegrasyon testi. Bu, kafede hızlı deploy yaparken geri dönüşü kolaylaştırır.
  • Migration'ları düzenli tut: Veritabanı değişiklikleri için küçük, izlenebilir migrationlar yazın.
  • Feature toggle kullan: Riskli değişiklikleri kapatıp açabileceğiniz bayraklar oluşturun.

Örnek: kart özelleştirme özelliğini önce toggle ile açtık. Topluluk olgunlaştıkça tam açtık. Bu, geri dönüş yapma maliyetini düşürdü.

Topluluk İnşası: Dijital ve Fiziksel Karma

Topluluğu büyütürken dikkat ettiğim iki eksen var: dijital iletişim (Discord/Slack, e-posta, duyurular) ve fiziksel buluşmalar (kafe buluşmaları, aylık turnuvalar). Her ikisinin de kendine özgü işlevi var ve birbirini desteklemeli.

Onboarding ve İlk Etkileşim

Yeni katılan kullanıcılar için üç adımlı bir onboarding koydum: hızlı kayıt -> kısa tur (3 ekran) -> ilk maç önerisi. Bu basit yapı, ilk kullanıcı deneyimindeki kopmaları azalttı.

Etkinlikli Büyüme

Her ay bir kafede "Kod & Kart Günü" düzenledik: sabah kod, öğleden sonra turnuva, akşam geri bildirim. Bu döngü iki şeyi sağladı: ürünün gerçek senaryolarda test edilmesi ve sosyal bağlılık. İnsanlar yüz yüze tanıştıkça uygulamaya daha fazla yatırım yapıyorlar.

"Topluluğu büyütmek, teknik borcu ödemekten daha önemlidir. Çünkü topluluk ürünü sahiplenir, hataları ve fikirleri getirir."

Yönetim, Moderasyon ve Roller

Büyüyen topluluğun yönetimi için basit ama net kurallar koydum:

  • Rol tanımları: moderatör, etkinlik yöneticisi, geliştirici gönüllü.
  • Kurallar ve yaptırımlar açık olmalı; tartışmalar kanalda değil, kurallar sayfasında çözülmeli.
  • Katkı motivasyonu: küçük rozetler, teşekkür mesajları, topluluk duyurularında öne çıkarma.

Bu yapı gönüllü katılımı artırdı ve moderasyon yükünü paylaştırdı.

Metrikler ve Büyüme

Teknik ekip olarak hangi metrikleri takip ettiğimiz net olmalı. Benim önceliklerim şunlar:

  • MAU/DAU (kullanıcı etkinliği)
  • Onboarding completion rate (ilk maç yapma oranı)
  • Retention week-1, week-4
  • Etkinlik dönüşüm oranları (etkinliğe gelen kullanıcıların uygulamayı kullanma oranı)

Bu metrikler bize hem ürün yol haritasını hem de topluluk etkinliklerinin verimliliğini gösteriyor.

Hatalar, Öğrenimler ve İpuçları

  • Hata: İlk başta her öneriyi hemen geliştirmeye çalıştım. Öğrenim: Önce anket, sonra geliştirme.
  • Hata: Sadece dijital büyümeye odaklandım. Öğrenim: Fiziksel buluşmalar bağlılığı hızla artırıyor.
  • İpucu: Küçük, haftalık MVP'ler yapın. Haftalık sürümler topluluğu meşgul eder ve geri dönüş sağlar.
  • İpucu: İyi dökümantasyon = daha az destek talebi. Onboarding dökümanlarına vakit ayırın.

Sonuç: Kod, Kart ve Kafe Bütünleştiğinde

Hafta sonları başlayan bu proje, hem teknik bir ürün hem de canlı bir topluluk haline geldi. Kafede yazılan ilk satırlar, kartlarla başlayan rekabet ve düzenlenen küçük etkinlikler birleşerek sürdürülebilir bir ekosistem yarattı. Yol uzun; hala ölçeklendirme, güvenlik ve gelir modeli gibi konular üzerinde çalışıyoruz. Ancak en büyük kazanım, kullanıcıların ürünü sahiplenmesi ve yeni fikirlerle gelmeleri oldu.

Kapanış Tavsiyesi: Eğer siz de benzer bir projeye başlıyorsanız, bir kafede 2 saat kod yazıp, sonraki gün küçük bir etkinlik düzenleyin. Erken gerçek kullanıcılarla konuşmak, teorinin yerine somutu koyar ve projeyi hızla olgunlaştırır.