İçeriğe atla

Backend Engineer · İstanbul

AliYılmaz.

Hukuk, sigorta, e‑ticaret gibi farklı alanlarda backend sistemleri kuruyorum.

Cesta Technology'de avukatlar için geliştirilen CestaLex ve CestaLaw'ın backend ve sunucu altyapısını kurdum. Sigorta, takas, tarif ve görev yönetimi üzerine de projeler yaptım. Java, Spring Boot, Kafka, Redis ve PostgreSQL ile çalışıyorum.

site canlıda
5
site canlıda
proje
14
proje
yıl kod
5+
yıl kod
01 / 05

01

Seçili işler

Yayında olan ürünler. Her birinde neyi neden öyle yaptığımı anlattım.

Tüm projeler →
01CanlıYargıtay · AYM · Danıştay · BAM

CestaLex

Avukatlar için yapay zekâ hukuk asistanı: içtihat arama, dilekçe, sözleşme ve UYAP tek uygulamada

cestalex.com, Türkiye'deki avukatların günlük işini tek yerde toplayan bir ürün. Yargıtay, Anayasa Mahkemesi, Danıştay ve BAM'dan 12 milyondan fazla kararda kendi cümlenle arama yapıyorsun; dilekçeyi kaynak atıflı bir editörde yazıyorsun; sözleşme yükleyip riskli maddeleri işaretletiyorsun; duruşma ve süreleri UYAP'tan takvime çekiyorsun. Backend tarafının tamamını ben geliştirdim.

CestaLex — Siteye git
12M+
karar, altı resmî kaynaktan
12+
modül: arama, dilekçe, sözleşme, takvim…
3
gün ücretsiz deneme, kart gerekmez
0
manuel fatura adımı
  • Arama: kararlar Qdrant'ta vektör olarak tutuluyor, soru anlamına göre eşleniyor. Daire, yıl ve hukuk dalı filtresi var; atıf Türkçe künye, APA 7 ya da OSCOLA biçiminde tek tıkla kopyalanıyor.
  • Dilekçe editörü: asistan taslağı yazıyor ama sen onaylamadan tek harf değişmiyor, eski ve yeni metin yan yana görünüyor. Çıktı .docx, .udf ya da doğrudan UYAP.
  • Sözleşme analizi: yüklenen sözleşme maddelere ayrılıyor, riskli hükümler Borçlar Kanunu'na göre yüksek, orta, düşük diye işaretleniyor; eksik standart maddeler listeleniyor.
  • Java 21
  • Spring Boot
  • PostgreSQL
  • Kafka
  • Redis
  • Qdrant
  • Gemini
  • React
  • Docker
  • Kubernetes
  • S3
02CanlıAİHM · 7 dil

CestaLaw

AİHM kararları üzerinde çalışan yapay zekâ hukuk asistanı: emsal analizi, başvuru formu, 7 dil

cestalaw.com, Avrupa İnsan Hakları Mahkemesi'ne başvuru hazırlayan avukatlar için. Dava dilekçeni PDF olarak yüklüyorsun, sistem 200 binden fazla AİHM kararı içinde en benzer emsalleri buluyor; chatbot ile strateji konuşuyorsun; resmî başvuru formunu asistan dolduruyor, sen onaylıyorsun. Türkçe, İngilizce, Almanca, Fransızca, İspanyolca, İtalyanca ve Rusça çalışıyor. Mayıs 2026'da yayına aldığımız ilk ürünümüz.

CestaLaw — Siteye git
200K+
AİHM kararı
7
dil: TR, EN, DE, FR, ES, IT, RU
46
üye ülkenin içtihadı
05/2026
yayın tarihi, ilk ürünümüz
  • Emsal analizi: yüklediğin dilekçe AİHM kararlarıyla benzerlik puanına göre eşleniyor; her sonuç başvuru numarası ve ilgili sözleşme maddesiyle geliyor.
  • Form asistanı: AİHM'in resmî başvuru formunu alan alan dolduruyor (başvurucu, olay tarihi, ihlal edilen madde, olay özeti); çıktı PDF.
  • 7 dil: Türkçe soru sorup Fransızca çıktı alabiliyorsun. Atıflar hep orijinal karar diliyle kalıyor, böylece HUDOC'ta bulunabiliyor.
  • Java 21
  • Spring Boot
  • React
  • Kafka
  • Redis
  • PostgreSQL
  • Qdrant
  • Docker
  • CI/CD
03CanlıYKS · TYT · AYT · YDT

NetKoçum

YKS'ye hazırlanan öğrenci ve koçu için çalışma takibi: zayıf konuyu bulan, haftayı planlayan, resmi kaynağı sayfasıyla gösteren platform

netkocum.com, YKS'ye hazırlanan öğrencinin ne çalıştığını kaydettiği ve sistemin buna bakıp hangi konunun zayıf kaldığını, bu hafta neye odaklanması gerektiğini söylediği bir platform. Denemeler, yanlış kutusu, tekrar takvimi, haftalık plan ve 7.600 özgün soruluk bir soru bankası tek yerde; öğrencinin koçu varsa aynı ekranlara o da bakıyor. Fikirden yayına kadar her katmanı tek başıma geliştirdim.

NetKoçum — Siteye git
7.600
özgün soru, açıklamalı
177
resmi kaynak, konu sayfasıyla
487
konu, iki programa eşli
674
otomatik test (birim + entegrasyon)
  • Kural motoru: öğrencinin anlık görüntüsü (konu durumları, son 35 günün kayıtları, denemeler, yanlışlar) üzerinde 12 risk kuralı çalışıyor; isabet bandı, geciken tekrar, boş oranı, net düşüşü gibi uyarıları önerilen adımla birlikte veriyor.
  • Otomatik haftalık plan: tekrarı geciken, isabeti düşük ve sıradaki yeni konuları sınavdaki soru ağırlığına göre seçip günlere dağıtıyor; koç taslağı düzenleyip yayınlıyor. "Yetişir misin?" hesabı son 4 haftanın hızını sınava kadar gereken hızla karşılaştırıyor.
  • Resmi kaynak kataloğu: MEB ve ÖSYM'nin ücretsiz yayınlarından 177 kaynak, 2.089 konu eşlemesiyle; her link konunun başladığı PDF sayfasını açıyor. İçerik kopyalanmıyor, yalnız link ve sayfa numarası tutuluyor.
  • Java 21
  • Spring Boot
  • PostgreSQL
  • Redis
  • Flyway
  • React
  • TypeScript
  • TanStack Query
  • Tailwind
  • Docker
  • Coolify
  • Testcontainers
04CanlıÖneri sistemi

ChefsStack

Önerileri vektör benzerliğiyle üreten tarif platformu

chefsstack.com bir tarif sitesi: kategoriler, besin değeri sorgulama, özel günler, alerji dostu tarifler, popüler ve son eklenenler. Backend tarafını ben geliştirdim. Öneriler elle yazılmış kurallarla değil, tariflerin vektör benzerliğiyle üretiliyor; kullanıcı etkileşimleri Kafka üzerinden Redis'teki akışları güncelliyor. Site yayında; kullanıcı ve içerik tabanı henüz küçük.

ChefsStack — Siteye git
<50ms
benzer tarif sorgusu
1.000+
etkileşim olayı işlendi
0
elle yazılmış öneri kuralı
  • Her tarif embedding'e çevrilip PostgreSQL'de pgvector sütununda tutuluyor; 'benzer tarifler' sorgusu FastAPI üzerinden 50 ms'nin altında dönüyor.
  • Görüntüleme, kaydetme ve beğeni olayları Kafka'ya düşüyor; bir tüketici servis bunlarla Redis'teki kişisel akışı ve popüler listesini güncelliyor.
  • Besin değeri sorgulama ve alerji filtresi ayrı uç noktalar. Arayüz Türkçe ve İngilizce, Next.js.
  • Python
  • FastAPI
  • PostgreSQL
  • pgvector
  • Redis
  • Kafka
  • Next.js
  • Docker
05GeliştiriliyorOlay tabanlı pazaryeri

TradeHub

İki taraflı onay protokolüne sahip takas pazaryeri

Takas pazaryeri. Para olmadığı için emanet (escrow) mekanizması kullanılamıyor; taraflar arasındaki güven iki taraflı onay protokolüyle sağlanıyor. CI/CD tamamlanınca yayına alınacak.

2
aşamalı onay protokolü
5+
mikroservis
0
tek taraflı iptal yolu
  • İki aşamalı el sıkışma: iki taraf da onaylamadan takas kapanmıyor; tek taraflı iptal saldırısı tasarım gereği imkânsız.
  • Outbox deseni sayesinde bir servis işlem ortasında çökse bile takas durumu kaybolmuyor.
  • Google OAuth2 ve rol bazlı erişim kontrolü 5+ servisi kapsıyor.
  • Java
  • Spring Boot
  • PostgreSQL
  • Kafka
  • Redis
  • Docker
  • OAuth2

02

Bir bakışta

Canlı veriler GitHub ve Medium'dan saatte bir yenilenir.

  • Java 21
  • Spring Boot
  • Spring Security
  • Kafka
  • Redis
  • PostgreSQL
  • Docker
  • REST API
  • JWT & OAuth2
  • Python
  • FastAPI
  • Qdrant / pgvector
  • SQL
  • Git
  • CI/CD
  • Kubernetes
  • TypeScript
  • React
  • Next.js
  • Coolify
  • Nginx
  • Swagger / OpenAPI
  • Scikit-Learn

03

Nasıl çalışırım

Her projede tekrar ettiğim dört alışkanlık.

01

Güvenliği koda değil, veritabanına bağlarım

Kiracı izolasyonunu ve yetkiyi uygulama kodundaki if'lere bırakmam. PostgreSQL Row-Level Security ve rol bazlı erişim açarım; kod hata yapsa da yanlış satır dönmesin.

02

Olayı önce yazarım, sonra yayınlarım

Servisler Kafka ile konuşur ama mesaj outbox tablosundan çıkar. Bir servis çökünce 'yazıldı ama gitmedi' diye bir durum kalmıyor.

03

Yavaş işi istek yolundan çıkarırım

Model çağrısı, e-posta, fatura kesme gibi işler kuyruğa gider. Kullanıcıya dönen cevap sık okunan veriyi Redis'ten alır.

04

Ölçmediğim sayıyı yazmam

Bu sitedeki her rakamın arkasında ya bir ölçüm ya da ürünün kendi sayfasındaki veri var. Yaklaşık olanı yaklaşık diye yazarım.

Bir fikrin mi var?

Backend mimarisi, yeni bir ürün ya da iş birliği için yazabilirsin. Genellikle aynı gün dönüş yaparım.

aliyilmazsoftware@gmail.com