Yanyana
Düğün, kurumsal etkinlik ve sosyal buluşmalar için sosyal oyun platformu. P2P offline (2-10 kişi) ve online event (50-500+ kişi) modları ile Web (PWA), iOS ve Android'de çalışır. React Native (Expo + CLI), Bun.js + ElysiaJS, Vue 3 ve pnpm workspaces ile 4 app + 4 paylaşılan paket monorepo mimarisi ile geliştirildi. 12+ bağımsız oyun motoru, gerçek zamanlı WebSocket state sync, 39 paylaşılan Vue komponenti (design system), çift ödeme sistemi (Paddle + In-App Purchase) ve Stryker mutation testing dahil 130+ test dosyası, 500+ test.
Zorluk
Düğün, kurumsal etkinlik ve buluşmalar için; hem küçük gruplarla offline hem yüzlerce oyuncuyla online çalışan, web ve mobilde bir sosyal oyun platformu gerekiyordu.
Çözümümüz
pnpm monorepo (4 app + 4 paylaşılan paket) üzerinde React Native (Expo + CLI), Bun.js + ElysiaJS backend ve Vue 3 ile geliştirdik: 12+ bağımsız oyun motoru, gerçek zamanlı WebSocket state sync, 39 bileşenlik design system, çift ödeme (Paddle + In-App Purchase) ve Stryker mutation testing ile 500+ test.
Teknolojiler
İlgili Çalışmalar
Contentrain
AI-native içerik yönetişim ekosistemi. Contentrain; ekiplerin yapısal içeriği doğrudan kod tabanından çıkarıp yönetmesini ve yayınlamasını sağlar — local-first, Git-native bir araç zinciri (CLI, MCP sunucusu, tip-güvenli SDK) ve sohbet öncelikli, self-host edilebilir Contentrain Studio.
LineDiff
AI destekli metin ve doküman karşılaştırma platformu. Local-first, offline çalışabilir ve istemci tarafı şifreleme ile gizlilik odaklı. txt, docx, pdf, json, xml, csv, md, html, yaml dahil 10+ dosya formatı desteği. Nuxt 4 + Vue 3, Firebase Firestore ve OpenAI API ile geliştirildi. IndexedDB birincil depolama + Firestore sync kuyruğu (local-first mimari), Web Workers ile diff hesaplama, Paddle abonelik yönetimi ve Google Docs, Notion, MS Word Add-in entegrasyonları.
Visivi
Visivi, hem mobil hem de web portalları olan bir İK platformudur. Mobil uygulamayı React Native ile geliştirdik ve hem iOS hem de Android için çapraz platform haline getirdik. Web portalı için Nuxt.js ve Vue.js kullandık.