Bazı deneyimlerim

Ajansta müşteri siteleri yaptım. Popupsmart’ta başka sitelerde çalışan embed’ler, analitik ve entegrasyonlar üzerinde çalıştım.

Popupsmart · Gömülü web

Başka sitelerde çalışan embed uygulamaları

Preact · TypeScript · Vite · Cloudflare

Script'imiz başka insanların sayfalarında çalışıyordu. O sitenin CSS'i, diğer script'leri ve yükleme sırası bizim tarafı etkileyebiliyordu. Kendi test sayfamızda çalışması yetmiyordu.

Ben ne yaptım

Popupsmart'ta Vite ve Preact tabanlı runtime, Next.js dashboard ve aralarındaki entegrasyonda çalıştım. Cache ve Cloudflare dağıtımı tarafında da origin'i daha verimli kullanmak için işler yaptım.

Aklımda kalan

Runtime'ın sınırlarını daha erken yazardım: sayfada neyi değiştirebilir, ne ona aittir, kapanınca neyi temizlemeli? Sonraki özelliği eklerken elimizde daha net bir başlangıç olurdu.

Popupsmart · Ürün geliştirme

Popup'ların arkasındaki dashboard

Next.js · React · Redux · GraphQL · Jest · Cypress

Popup script'i ürünün bir parçasıydı. Müşterilerin popup'larını tasarlayıp yayına aldığı bir dashboard da vardı.

Ben ne yaptım

Bu dashboard'da Next.js, React ve Redux ile çalıştım, arayüzleri GraphQL'e bağladım. Unit testlerde Jest, uçtan uca akışlarda Cypress kullandım. .NET backend'den GraphQL'e geçişte de yer aldım.

Aklımda kalan

Bu geçişle frontend ekibi olarak backend'e de katkı verebilir hale geldik. Ben de iki tarafta çalışmaya başladım; geçişte çıkan bug'larla uğraşmak da bunun bir parçasıydı.

Popupsmart · Analitik

Analitiği ClickHouse'a taşımak

ClickHouse · Node.js · AWS SQS

Analitik için OpenSearch kullanıyorduk. Sorgu performansı ve sistemi işletmek için harcadığımız emek, bu iş yükü için ClickHouse'a bakmamıza neden oldu.

Ben ne yaptım

ClickHouse şeması, olay toplama akışı, geçiş kontrolleri ve uygulamanın kullandığı sorguların değişmesinde yer aldım. Geçişi ekip olarak yaptık.

Aklımda kalan

İki okuma yolunu birlikte çalıştırıp karşılaştırmaya daha fazla zaman ayırırdım. İki sayı farklıysa nedenini bulmak, sorguyu yeniden yazmaktan daha uzun sürebiliyor.

n8n · API entegrasyonları

Kütüphane API'lerini chatbota bağlamak

n8n · REST APIs · Node.js

Her kütüphanenin API'si, kimlik doğrulaması ve cevap formatı farklıydı. Her seferinde bütün entegrasyonu yeniden kurmadan, işe yarayan sonucu chatbota aktarmamız gerekiyordu.

Ben ne yaptım

Kimlik doğrulama, kütüphane sorguları ve sonucu chatbota aktarma için n8n akışları geliştirdim. Sonraki entegrasyonda kullanabileceğimiz ortak bir başlangıç üzerinde de çalıştım.

Aklımda kalan

n8n orkestrasyonda işimizi kolaylaştırdı. Ama birkaç düğüme yayıldığı için okuması zorlaşan mantığı, küçük bir kod parçasına ayırıp ayrıca test etmeyi tercih ederim.

Popupsmart · Growth ve pazarlama

Growth ekibiyle çalışmak

Technical SEO · Webflow · Cloudflare · Docker · n8n

Growth ekibinin pazarlama işleri kadar bakım isteyen web siteleri de vardı. Ben de siteler ve altyapıları üzerinde çalışmak için ekibe katıldım.

Ben ne yaptım

Teknik SEO çalışmalarında ve Webflow geçişinde yer aldım. Birden fazla pazarlama sitesini barındırmak için Docker kurulumu yaptım. AI araçları ve n8n ile outreach otomasyonlarında da çalıştım.

Aklımda kalan

Performans işinde bundle, cache ve dağıtım ayarlarına birlikte bakmayı tercih ederim. Sayfayı düzenlemek, hızlı yüklenmesini sağlamanın sadece bir kısmı.

Fikirhouse · 2019–2021

Yaklaşık 50 müşteri sitesi

WordPress · PHP · Laravel

Fikirhouse’ta farklı sektörlerden müşteriler için 50’ye yakın web sitesi yaptım. İlk brief’ten sitenin yayına çıkmasına kadar işin içindeydim.

Ben ne yaptım

WordPress temaları tasarlayıp kodladım, PHP ve Laravel ile özel siteler geliştirdim. Bu işlerden birinde bir organize sanayi bölgesi için sanal POS entegrasyonu yaptım.

Aklımda kalan

Siteyi teslim etmek işin bir kısmıydı. Görsel tasarım da yaptım, kampanyalar için sitede hangi içeriğin kullanılacağını seçtim ve yeniden hedefleme çalışmalarında yer aldım.