FikirleriÜrünlereDönüştürüyorum

AI, Web Design, Mobile Design ve Frontend alanlarında kullanıcı odaklı, estetik ve işlevsel dijital deneyimler tasarlıyorum.

NEXT.JSTYPESCRIPTSWIFT / iOSPYTHONTENSORFLOWSCIKIT-LEARNPANDASNUMPYPLOTLYRAGAI / LLMMULTI-AGENTGOOGLE DRIVE v3 APIREACT NATIVEGSAPSEO + GEOOTOMASYON
Stack

Çalıştığım teknolojiler

Sürükle, savur, çarpıştır. Aralarındaki ilişkiyi senin de kurmana izin veriyorum.

Tut · Sürükle · Bırak
Hakkımda

Tasarım &
Kod arasındaki
köprü

Kurumsal sitelerden kongre otomasyonuna, çoklu-ajan AI platformlarından native iOS uygulamalarına kadar uçtan uca üretiyorum. Diğer yarısı veriyle geçiyor: sinir ağları, RAG hatları, sayısal optimizasyon ve bir sonucu anlaşılır kılan görselleştirmeler. Tasarım kaygısını sistem mühendisliğiyle birleştirir; ölçülebilir SEO/GEO sonuçları ve kararlı otomasyonlar peşinde koşarım.

Next.js / React / TypeScript
Otomasyon & API (Google Drive v3, vb.)
Swift / iOS Native
AI / ML & Multi-Agent Sistemler
Veri Bilimi, DL & Görselleştirme
UI/UX, Motion & SEO/GEO
Seçilmiş Çalışmalar

Canlıdaki projeler

Kurumsal sitelerden kongre otomasyonuna, RAG tabanlı bir hafıza ağından graf-indeksli iOS uygulamasına. Her satır kodun arkasında ölçülebilir bir hedef var.

Veri · Makine Öğrenmesi · Derin Öğrenme

Data Lab

Bir modelin çıktısı kadar, o çıktının nasıl okunduğu da önemli. Bu bölümde üç şey var: gerçek proje verilerinden çizilmiş görselleştirmeler, matematiksel formüllerin satır satır koda dönüşümü ve bunları kullanan uygulamalar.

Jargon kullanmadan anlatmaya çalıştım; yine de altı noktalı her terime dokunursan ne demek olduğunu açıklıyor.

01 — Görselleştirme

Veriyi okunur hâle getirmek

Aşağıdaki her grafik, repolarımdaki gerçek çıktıdan üretildi — notebook log'larından çıkarılan epoch serileri, commit'li sensör CSV'si ve optimizasyon scriptlerinin kendi çalıştırma sonuçları. Rozetler orijinalini hangi kütüphanenin çizdiğini gösteriyor.

FurVision · CNNMatplotlib

Erken durdurma tam olarak neyi yakalıyor?

en iyi val_loss
Eğitim doğruluğuDoğrulama doğruluğu

Eğitim doğruluğu %90'a tırmanırken doğrulama %80'de düzleşiyor — aradaki makas ta kendisi. Kesikli çizgi, dibe vurduğu 14; ağırlıkları buradan geri yüklüyor.

K-NN_ClassificationSeaborn

Doğruluğun arkasındaki dört sayı

TAHMİNSatın almadıSatın aldıSatın almadı48%60.04%5.0Satın aldı3%3.825%31.3GERÇEK
Doğru sınıflandırma — 73 örnekHata — 7 örnek

%91.25 doğruluk tek başına bir şey anlatmaz; asıl soru hataların nereye düştüğü. bunu açıyor: model 3 gerçek alıcıyı kaçırıyor ve 4 kişiyi boşuna hedefliyor — bu iki hatanın maliyeti eşit değil.

ANN-RealEstate-RegressionMatplotlib

Regresyon ağı nerede doyuma ulaşıyor?

Eğitim MAEDoğrulama MAE

Doğrulama 'si ilk on 'ta hızla düşüp sonra eğitim eğrisinden ayrılıyor. ve bu ayrımı yönetiyor; nihai model 0,92 ve ortalama 15.617 $ sapmayla kapanıyor.

Ardunio_IOTPlotly

Gürültülü sinyalden güvenilir okuma

Sensör 1 (ham)Sensör 2 (ham)30sn hareketli ortalama ±1σ

Seri porttan gelen 10.138 ham ölçüm, ~85 dakikalık bir ısınma deneyi. Ham iki sensör titrek; 30 saniyelik ve bandı asıl eğilimi ve ölçüm belirsizliğini birlikte gösteriyor.

Gradient Descent vs NewtonSymPy

İkinci türev neden bu kadar önemli?

Gradient descent (sabit α = 0,1)Newton (f'''e bölerek)

Hedefe olan mutlak hata, log ölçeğinde. Sabit gradient descent her iterasyonda hatayı yalnızca 0,8 katına indiriyor — 4 adımda yolun ancak yarısı. Newton ise bölerek yakınsıyor: hata her adımda yaklaşık kareleniyor ve 5 adımda makine hassasiyetine iniyor. İki eğri de aşağıdaki repoların gerçek çıktısı.

02 — Matematikten koda

Formülü satıra çevirmek

Beş optimizasyon reposu, tek bir ortak fikirle: türevleri elle yazmak yok. Hepsinde fonksiyon bir SymPy ifadesi olarak tanımlanıyor, gradyan sp.diff ile türetiliyor, sonra .subs() ile sayısallaşıyor. Aşağıdaki kartlar sabit adımdan sembolik çizgi aramasına doğru ilerliyor — kod blokları repolardaki gerçek satırlar.

Gradient descent — tek değişken

Formül
minimize
f(x) = x2 + 6x + 1
xk+1 = xk − α · f′(xk)
α = 0,1 sabit , x0 = 0. Türev elle yazılmıyor — sp.diff fonksiyon ifadesinden kendisi çıkarıyor.
Kod
Gradient Descent/main.py
import sympy as sp # Define symbolic variablex = sp.symbols('x') # define the functionf = (x)**2 + 6*(x) + 1 # derivativef_derivative = sp.diff(f, x) # define inital valuesx_value = 0alfa = 0.1 for i in range(1, 5):    result = f_derivative.subs(x, x_value)     # new x value    x_value -= alfa * result    print(f"Yeni x_{i} değeri: {x_value}\n")
Gerçek çalıştırma çıktısı
x0 = 0 → x1 = -0.6 → x2 = -1.08 → x3 = -1.464 → x4 = -1.7712

Formülün tamamı tek satıra iniyor: x_value -= alfa * result. Geri kalan her şey türevin sembolik olarak elde edilmesi.

Gradient descent — vektör hâli

Formül
minimize
f(x1, x2) = x12 + 6x22 + x1x2
xk+1 = xk − αf(xk)
f = [2x1 + x2,  12x2 + x1]T, başlangıç (1, 2), α = 0,1.
Kod
Gradient with Matris/main.py
for i in range(iterations):    # new values    new_x_1_value = x_1_value - alpha_value * df_dx1.subs({x_1: x_1_value, x_2: x_2_value})    new_x_2_value = x_2_value - alpha_value * df_dx2.subs({x_1: x_1_value, x_2: x_2_value})     print(f"Iterasyon {i + 1}:")     # update the new values    x_1_value = new_x_1_value    x_2_value = new_x_2_value

Sıranın önemi burada: her iki bileşen de eski iterat'tan hesaplanıp sonra birlikte yazılıyor — doğru eşzamanlı güncelleme. x_1_value'yu erken güncellemek sessizce Gauss–Seidel'e dönüştürürdü. Ayrıca x2'nin eğriliği 12 olduğu için adım çarpanı (1 − 12α) = −0,2 çıkıyor: aynı α ile bir koordinat salınırken diğeri düzgün yakınsıyor — kötü koşullanma tam olarak bu.

03Eğriliğe göre ölçekliNewton-Raphson-Method

Newton yöntemi — optimizasyon formu

Formül
minimize
f(x) = x3 − 3x2
xk+1 = xk f′(xk)f″(xk)
f′ = 3x2 − 6x, f″ = 6x − 6, başlangıç x0 = 3. Artık seçilecek bir α yok — adım boyunu kendisi belirliyor.
Kod
Newton Method/main.py
import sympy as spx = sp.symbols('x')f = (x) ** 3 - 3 * (x) ** 2 #first and second derivativef_derivative = sp.diff(f, x)f_second_derivative = sp.diff(f_derivative, x) x_value = 3iteration = 5for i in range(1, iteration+1):    first_derivative = f_derivative.subs(x, x_value)    second_derivative = f_second_derivative.subs(x, x_value)    if second_derivative != 0:        x_value = x_value - (first_derivative / second_derivative)        print(f"new x_{i} value: {sp.N(x_value)}")    else:        print("Division by zero. Choose a different initial value.")        break
Gerçek çalıştırma çıktısı
x0 = 3.000000 → x1 = 2.250000 → x2 = 2.025000 → x3 = 2.000305 → x4 = 2.000000 → x5 = 2.000000

Repo adı "Raphson" diyor ama kod f′/f″ kullanıyor, klasik kök bulma formu f/f′ değil. Yani bu bir kök arayışı değil, durağan nokta arayışı: x3 − 3x2'nin kökleri 0 ve 3 iken kod x0= 3'ten başlayıp kökten uzaklaşarak yerel minimum olan x = 2'ye gidiyor.

04Tam çizgi aramasıQuassi-Newton

Quasi-Newton — yaklaşık Hessian ile yön

Formül
minimize
f = x12 + 3x22 + x1x2 + x1 + x2
pk = −Hkfk·sk = Δx, yk = Δf
H0 = diag(½, ⅙) — birim matris değil, gerçek [[2,1],[1,6]]'nın köşegeninin tersi, yani bilinçli bir ön-koşullandırıcı. S, pTf(x + Sp) = 0 diklik koşulundan sp.solve ile çözülüyor.
Kod
Quassi Newton/main.py
h_0 = np.array([[1/2, 0],                [0, 1/6]]) #Find p_0p_0 = np.dot(h_0, q_0.transpose())*-1X_1 = X_0_transpose + S*p_0 # ... q_1 = gradient at X_1 ...result_sum = np.dot(p_0_transpose, q_1_transpose).sum() ## Find Sif result_sum != 0:    S_solve = sp.solve(result_sum, S) ϴ = reel_q_1_transpose - q_0_transpose   # y = Δgradientα = reel_X_1 - X_0_transpose             # s = Δxβ = np.divide(α, ϴ)print(f"β = {β}")

Burada dürüst olmak gerek: bu BFGS değil. Kod sekant güncellemesinin iki bileşenini de doğru kuruyor (ϴ = Δgradyan, α = Δx) ama son satırdaki np.divide eleman-bazlı bölme — rank-2 dış çarpım güncellemesi değil ve h_0 hiç h_1'e güncellenmiyor. Yani quasi-Newton adımının çizgi arama yarısı tamam, matris güncellemesi eksik.

05Tam çizgi aramasıConjugate-Gradient

Eşlenik gradyan — Fletcher–Reeves

Formül
minimize
f = x12 + x1x2 + ½x22
βFR = q1Tq1q0Tq0·p1 = −q1 + βp0
Pay ve payda birer gradyanın kendi transpozuyla çarpımı — bu ayrımıyla Fletcher–Reeves. Polak–Ribière olsaydı payda bir gradyan farkı görürdük; dosyada öyle bir terim yok. Başlangıç (1, 1), p0 = −q0.
Kod
Conjugate Gradient/main.py
# ilk yön: en dik inişp_0 = -q_0X_1 = X_0 + S*p_0 # ... q_1 = gradient at X_1 ... # tam çizgi araması: p_0 · q_1 = 0 koşulundan Sresult_sum = np.dot(p_0, q_1_transpose).sum()if result_sum != 0:    S_solve = sp.solve(result_sum, S) #find betabeta = np.dot(reel_q_1, reel_q_1_transpose).sum()/np.dot(q_0, q_0_transpose).sum() p_1 = -(reel_q_1_transpose)+(beta)*(p_0_transpose)print(p_1)

Ders kitabı uygulamalarının çoğu adım boyunu sabit seçer; burada S, sp.solve ile diklik koşulundan sembolik olarak çözülüyor ve tam olarak 13/34 çıkıyor. Tek adımda gradyan normu o kadar düşüyor ki β = 1/1156 gibi minik bir değere iniyor.

Not: eşlenik gradyan ve quasi-Newton dosyaları birer elle açılmış iterasyon; yakınsayan döngü değil. Hiçbirinde durdurma toleransı yok, iterasyon sayıları sabit kodlanmış.

03 — Uygulamalar

Modelden sonuca

Görüntü sınıflandırmadan tabular regresyona, donanım telemetrisinden düzenlileştirme analizine. Kartlardaki sayılar repolardaki ölçülmüş sonuçlar.

Bilgisayarlı Görü · CNN

FurVision

Kedi/köpek sınıflandırması için sıfırdan kurulan evrişimli ağ. Ara katman aktivasyonları ayrı bir Model ile çıkarılıp özellik haritaları görselleştirildi — ağın gerçekte neye baktığını görmek için.

%79,95
Test doğruluğu
812.217
64×64
Girdi çözünürlüğü
TensorFlowKerasConv2DAugmentationEarlyStopping
barisgudul/FurVisionRepo
Regresyon · Yapay Sinir Ağı

ANN Real Estate Regression

Ames Housing veri kümesi üzerinde konut fiyatı tahmini. Eksik değer doldurma, standartlaştırma ve dropout ile düzenlileştirme dahil uçtan uca bir tabular ML hattı.

0,92
15.617 $
39.297
Kerasscikit-learnDropoutStandardScaler
barisgudul/ANN-RealEstate-RegressionRepo
Veri Mühendisliği · Zaman Serisi

Arduino IoT Telemetri

Seri porttan gelen sensör akışını zaman damgalayıp CSV'ye yazan, ardından doğrulayıp Plotly ile interaktif olarak analiz eden bir veri hattı. Çift sensör karşılaştırması, hareketli ortalama, aykırı değer tespiti ve R² uyum analizi.

10.138
Ham ölçüm satırı
~85 dk
Kesintisiz kayıt
±1σ
PlotlypandaspyserialNumPy
barisgudul/Ardunio_IOTRepo
Sınıflandırma · Mesafe Tabanlı

K-NN Classification

Minkowski metriğiyle (p=2, yani Öklid) k-en yakın komşu sınıflandırması. Mesafe tabanlı yöntemlerde ölçeklendirmenin neden zorunlu olduğunu ve k seçiminin yanlılık–varyans dengesini gösteren bir çalışma.

%91,25
Doğruluk
k = 5
p = 2
scikit-learnStandardScalerConfusion Matrix
barisgudul/K-NN_ClassificationRepo
Endüstriyel Analitik

ANN Energy Prediction

Kombine çevrim santralinde saatlik net elektrik çıkışının tahmini. Ortam sıcaklığı, egzoz vakumu, basınç ve nem olmak üzere dört değişkenden; kasıtlı olarak küçük tutulmuş bir ağ ile.

9.568
Örnek
4 → 1
Özellik / hedef
MSE
KerasRegresyonUCI CCPP
barisgudul/ANN-Energy-PredictionRepo
Düzenlileştirme Analizi

Ridge vs Lasso

L2 ve L1 cezalarının katsayılar üzerindeki etkisinin karşılaştırması: Ridge katsayıları küçültürken Lasso onları tam olarak sıfıra indirip örtük bir özellik seçimi yapıyor.

L1 / L2
Seyreklik
Lasso'nun özellik seçimi
λ
Düzenlileştirme gücü
scikit-learnRidgeLassoDiabetes
barisgudul/Ridge_vs_Lasso_AnalysisRepo
Bölüm · Deneyim

Kariyer yolculuğu

Stajdan tam zamanlı mühendisliğe — yazılım, otomasyon ve AI odaklı profesyonel deneyimler.

Mar 2026 — Günümüz
Software Engineer
WriteTec Bilgi Teknolojileri · Yerinde

Kurumsal siteler, kongre/SaaS otomasyonu ve AI ürünleri üretiyorum. congress.writetecbt.com için Google Drive v3 API tabanlı, otomatik kongre kitabı üreten uçtan uca platform geliştirdim; 5+ canlı müşteri sitesi devreye alındı.

Ara 2025 — Şub 2026
Computer Engineer
BLADECO HOLDİNG · Isparta · Yerinde

Holding bünyesinde bilgisayar mühendisliği görevleri; sistem altyapısı, yazılım geliştirme ve operasyonel süreçlerde teknik destek sağladım.

Haz 2025 — Eki 2025
Software Engineer Intern
OrbitX Yazılım · Staj · Uzaktan

PyQt6 ile masaüstü GUI uygulamalarının geliştirilmesine destek verdim; kullanıcı deneyimini iyileştirdim. React Native (Expo) ile çapraz platform mobil uygulama geliştirme süreçlerine katkı sağladım.

Ara 2024 — Oca 2025
AI Trainer
Outlier · Serbest · Uzaktan

Büyük dil modellerinin eğitim verisi kalitesini artırmak için prompt tasarımı ve prompt mühendisliği alanında freelance AI eğitmeni olarak çalıştım.

Ağu 2024 — Eyl 2024
Network Engineer
TÜPRAG · Staj · Uşak · Yerinde

Bilgisayar ağları, Windows Server ve kurumsal ağ altyapısı üzerine stajyer ağ mühendisi olarak saha ve sistem yönetimi süreçlerinde deneyim kazandım.

İletişim

Birlikte bir şeyler
yaratalım

Yeni projeler, danışmanlık, kongre/SaaS otomasyonu veya sadece bir merhaba için formu doldurman yeterli. Genelde 24 saat içinde dönüş yapıyorum.

Şu an yeni projelere açığım
UTC+3 · Türkiye