arifabds

Bilgisayar mühendisi · Backend ve dağıtık sistemler

Arif Emre AbduşoğluGerçek yük altında dağılmayansistemler kuruyorum.

İşimin çoğu yazılımın kimsenin görmediği tarafında geçiyor: transaction sınırları, teslim garantileri ve bir servisin bitip diğerinin başladığı dikişler. Aşağıdaki vaka çalışması, böyle bir sistemin ölçülmüş ve dürüst anlatımı.

Konum
Türkiye
Odak
Java · Spring · Kafka · Next.js
Durum
Yeni fırsatlara açık
  • 13servis
  • 70.869satır backend
  • 55.022satır frontend
  • 1.524otomatik test

Profil

Fiilen ne yapıyorum

Uçtan uca çalışan bir bilgisayar mühendisiyim: önce domain modeli ve backend mimarisi, sonra bunu basit hissettirmesi gereken arayüz. En çok, sistemin kötü bir günü atlatıp atlatamayacağını belirleyen kısımlar ilgimi çekiyor: bir mesaj iki kez teslim edildiğinde, bir bağımlılık düştüğünde, iki yazıcı yarıştığında ne olacağı.

Son aylarda çalışan bir modüler monoliti kırmadan on üç bağımsız servise dönüştürdüm: fiziksel database-per-service, transactional outbox, idempotent consumer’lar ve servisler arası her okumanın event log’undan beslenen yerel bir projeksiyonla değiştirilmesi. Dondurulmuş monolit bu süre boyunca byte-for-byte el değmeden kaldı; hem referans hem geri dönüş yolu olarak.

Gerekçeyi kodun yanına yazıyorum. O platformdaki her mimari kural, insanların hatırlaması istenen bir gelenekle değil, ihlal edildiğinde build’i düşüren bir şeyle zorlanıyor; async API’yi anlatan dokümanın kendisi de bir test.

Rol
Bilgisayar mühendisi · full-stack, backend ağırlıklı
Birincil stack
Java 21 · Spring Boot · PostgreSQL · Kafka
Ayrıca
TypeScript · Next.js · Python · Go
İlgi alanları
Dağıtık tutarlılık · geliştirici araçları · uygulamalı LLM
Diller
Türkçe · İngilizce

Amiral proje

App in Handy

Değerin app’te değil, eşleşmede yaşadığı bir güven platformu.

Bir uygulama soyut olarak iyi olamaz; belirli bir kişinin belirli bir problemini çözmekte iyidir. App in Handy bu fikrin üzerine kurulu: değer birimi, bir problemle bir app arasındaki Match’tir ve skoru taşıyan da odur.

Ürün fikrinin kendisi, sistemi inşa etmeyi ilginç kılan şey. Skorlar, talep sinyalleri, moderasyon, arama ve bir yapay zekâ asistanı aynı içeriği farklı açılardan okuyor: yani tam olarak, paylaşılan tek bir veritabanının sessizce herkesin dokunmaktan korktuğu şeye dönüştüğü durum. Bu yüzden tek bir veritabanı yok: her biri kendi verisinin sahibi olan ve bir event log üzerinden koordine olan on üç servis var.

13

servis

26

event topic

1.524

backend testi

106

şema migration’ı

Üç depo, üç yaşam döngüsü

  • platform13 servis, bir edge gateway ve 9 paylaşılan kütüphaneJava 21 · Spring Boot 3.5 · PostgreSQL · Kafka
  • web-uiÜrün arayüzü: sunucuda render edilen, dört dilliNext.js 16 · React 19 · RSC-first · 4 katmanlı veri katmanı
  • landingKendi başına yayınlanan tanıtım yüzeyiNext.js 16 · OpenNext → Cloudflare Workers
api-gateway
  • identity
  • catalog
  • problem
  • scoring
  • social
  • moderation
  • search
  • media
  • notification
  • admin
  • ai
  • seed
  • billing
Kafka · event log
identity_dbcatalog_dbproblem_dbscoring_dbsocial_dbmoderation_dbnotification_dbai_dbseed_dbbilling_db
Filo: tek edge, on üç servis, tek event log.

Diğer yan projeler

Bundan önce inşa ettiklerim

Daha küçük, çoğu LLM ekseninde ve her biri yukarıdaki platforma taşınan bir şey öğretti. Özet için birini açın; tam hikâye kendi sayfasında.

AI Destekli İçerik ÜreticiYayındaHer sayfayı ham malzemeye çeviren bir Chrome eklentisi.

Bulunduğunuz sayfayı okuyup ondan özgün içerik üreten bir tarayıcı eklentisi: ürün metni, blog taslağı, sosyal medya gönderisi. Onu basit bir sarmalayıcıdan ayıran iki şey var: sunucu tarafı istek engellendiğinde istemci tarafı çıkarıma geçen çift modlu bir scraper ve farklı AI mimarilerini ikinci bir modeli tarafsız hakem olarak kullanarak karşılaştıran bir değerlendirme platformu.

  • Python
  • Flask
  • RAG
  • PostgreSQL
  • Vanilla JS
  • Chrome Extension
LLM Tabanlı Teklif Yönetim SistemiTamamlandıYeni teklifler yazmak için eskileri okumak.

Bir profesyonel staj döneminde geliştirildi. Sistem şirketin mevcut teklif dokümanlarını alıyor, içlerinde saklı olan yapıyı çıkarıyor ve bunu yeniden kullanılabilir bir şablona dönüştürüyor, ardından yeni teklifleri o şablonun içine RAG ile yazıyor, böylece çıktı bir dil modeli gibi değil şirketin kendisi gibi konuşuyor.

  • Python
  • Flask
  • Next.js
  • React Query
  • PostgreSQL
  • Alembic
  • RAG
  • JWT
LLM Remote AssistantGeliştiriliyorDoğal dil girer, sandbox’lanmış Python çıkar.

Bir dil modeline gerçek eller vermeyi deneyen bir çalışma. Sabit bir komut kataloğu yerine model, eldeki istek için Python yazıyor ve üç katmanlı bir güvenlik mimarisi o kodun çalışmasına izin verilip verilmeyeceğine karar veriyor. Komuta yüzeyi bir mobil istemci; işi yapan ise makinedeki hafif bir ajan.

  • Python
  • Flutter
  • Go
  • Rust
  • WebSocket
  • Sandboxing
  • LLM
Site-ChatGeliştiriliyorHer URL için bir sohbet katmanı.

Odaları web adreslerine bağlayan gerçek zamanlı bir sohbet platformu. Bireyler için herhangi bir sayfayı (bir makaleyi, bir ürünü, bir videoyu) onu okumakta olan diğer insanlarla tartışabileceğiniz bir yer. İşletmeler için aynı sohbeti kendi sitelerine taşıyan gömülebilir bir widget.

  • Go
  • Next.js
  • TypeScript
  • WebSocket
  • PostgreSQL
  • JWT

Teknolojiler

Neyle çalışıyorum

Buradaki her şey yukarıdaki depolardan birinde sahiden yayınlanmış kodda kullanılıyor; bu bir envanter, dilek listesi değil.

Diller

  • Java 21
  • TypeScript
  • Python
  • Go
  • Rust
  • SQL

Backend ve veri

  • Spring Boot 3.5
  • Spring Cloud Gateway
  • Hibernate / JPA
  • Flyway
  • Maven
  • Kafka / Redpanda
  • PostgreSQL
  • Redis
  • Resilience4j
  • MapStruct

Frontend

  • Next.js 16
  • React 19
  • React Compiler
  • Tailwind v4
  • Zod
  • TanStack Query
  • Zustand
  • Radix UI

Uygulamalı AI

  • RAG
  • pgvector
  • BGE-M3 embeddings
  • Structured outputs
  • LLM-as-a-Judge
  • Anthropic
  • Groq

Platform ve araçlar

  • Docker
  • Docker Compose
  • Testcontainers
  • Toxiproxy
  • OpenTelemetry
  • Prometheus
  • Grafana
  • GitHub Actions
  • Cloudflare Workers

İletişim

Buradaki herhangi bir şey işinize yaradıysa, duymak isterim.

Backend, platform ve full-stack rollerine açığım; henüz bir iş ilanına bağlı olmayan sohbetlere de.