Akın Aydın

Yazılım Mühendisi

akinaydin.com'un teknik tarafı: projelerim nasıl yapıldı, diyagramlar ve repolardan gerçek kodlarla.

  • FitEscala'da kurucu ortak ve teknik lider
  • MSc Artificial Intelligence (Machine Learning), Liverpool John Moores University. Ders ortalaması %78,8; sonuç bekleniyor.
  • Liverpool, Birleşik Krallık

Mimari diyagramlar

Architecture console

No diagram yet

Architecture console, idle.

Ready. Type `help`, or tap a command.

Bir komuta dokunun ya da yazın. Tüm diyagramlar için “ls”, konsolun kendi kodu için “source” deneyin.

Proje yazıları

Altı proje, derinlemesine. Her biri problemi, nasıl yapıldığını, önemli kararları ve repodan kodu anlatıyor.

Tarayıcınızda bir sinir ağı

Hiçbir makine öğrenmesi kütüphanesi kullanmadan, TypeScript ile sıfırdan yazılmış küçük bir sinir ağı. Tarayıcınızın yalnızca boş vaktini kullanarak iç içe geçmiş iki yarım ayı ayırmayı öğreniyor. Elle yazılmış gradient'lerini sayısal bir tahminle karşılaştırmak için Grad check'e basın.

Neural net, 1218 parameters

Layers 2-32-32-2 · tanh and softmax · SGD with momentum

Step
0
Loss
n/a
Train acc
0.0%
Params
1218
Budget
Idle frames only

Training idle at step 0.

Daha küçük projeler

Müşteri siteleri, denemeler ve üniversite projeleri, her biri birkaç cümleyle.

Müşteriler için web siteleri

  • Anamaria Andrei

    Konsept

    Oxford'da el dökümü mumlar yapan bir üretici için dört online mağaza konsepti, her biri farklı bir yön. Birinde yakabildiğin 3D bir mum var.

    HTML · Three.js · GSAP · Lenis

  • Yağız Cem Yılmaz

    Yayında

    İzmir'de bir müzik öğretmeni, sahne müzisyeni ve koro şefi için çok sayfalı bir portfolyo: üç bölümlü bir scroll hikâyesi, hareketli tipografi ve isteğe bağlı bir WebGL sahnesi; tüm içerik kontrol edilmiş tek bir profil dosyasında.

    Next.js 16 · React 19 · Motion · anime.js · React Three Fiber

    yagizcemyilmaz.com
  • Tiyatro Fısıltı

    Yayında

    İzmir'de bir kafe ve sahne olan Kuluçka Kahve Sanat'taki tiyatro topluluğu için PHP site ve admin paneli: program, oyunlar, blog, ekip ve galeri, arama motorları için etkinlik verisiyle. Panelde session auth, CSRF koruması, rate limiting ve MIME allowlist'li bir görsel yükleme var. Build adımı olmadan shared hosting'e deploy ediliyor.

    PHP · SQLite or MySQL · JavaScript

    kuluckakahvesanat.com
  • CIBES Research Centre

    Yayında

    Araştırma merkezinin herkese açık sitesi; bir de aşağıdaki ilk notun konusu olan, Meta Marketing API üzerindeki konferans reklam kampanyaları.

    React · Vite · Tailwind · Meta Marketing API

    cibesresearch.org
  • Phinova Clinics

    Demo teslim edildi

    Bir kliniğin tek sayfalık sitesini dokuz dilli bir platform olarak yeniden kuran bir demo: tedavi ve hekim sayfaları, onay adımı olan yönlendirmeli bir bakım rehberi, ticket referansları ve WhatsApp'a aktarım; bir de hreflang, sitemap ve JSON-LD.

    Next.js · Tailwind · Resend

  • Ogün Aslan

    Hazır

    Bir müzik prodüktörü, sahne müzisyeni ve eğitmen için site: prodüksiyon, sahne ve ders sayfaları, bir de yapılandırılmış makalelerle Türkçe bir blog; prodüktörün CV'si ve röportajlarından derlendi.

    Next.js · TypeScript

  • Maske Sanat Tiyatro

    Hazır

    Bornova'da 50 kişilik bağımsız bir tiyatro ve kafe için site. Her bilgi bir araştırma dosyasındaki kaynağa bağlı, böylece program yayından önce yeniden kontrol edilebiliyor.

    Vite · HTML

  • Emir Özeren

    Yayında değil

    Bir doçent için kişisel akademik web sitesi: CV, yayınlar ve notlar. Şu an yayında değil.

    Astro

Ürünler ve denemeler

  • Anı Defteri

    Gerçek bir düğün için yapıldı

    Düğünler için bir anı defteri web app'i. Misafirler QR kodu okutup bir not ve en fazla üç fotoğraf bırakıyor. Çift, ortak duvarda ve indirebilecekleri PDF kitapta neyin yer alacağını kendisi seçiyor.

    Next.js · Supabase · React PDF

  • Charisma AI

    Kapatıldı

    Yan proje olarak bir süre canlıda çalıştırdığım eksiksiz bir SaaS: içeri bir selfie ve bir anket giriyor, dışarı Gemini'nin puanladığı bir karizma profili çıkıyor; yanında bir koçluk planı, günlük check-in'ler, sohbet edilebilen bir AI koç, Stripe planları ve hatırlatma e-postaları. Bilerek kapattım; ödeme ve puanlama kalıpları sonraki ürünlere taşındı.

    Next.js · Supabase · Gemini · Stripe · Resend

  • YouTube otomasyonu

    Rafa kaldırıldı

    İçeri tek bir prompt, dışarı yayınlanmış bir video: senaryo, sahne görselleri, kelime düzeyinde zaman damgalı seslendirme, video, Remotion render'ı, SEO, thumbnail ve yükleme. Her adım çıktısını diske yazıyor, böylece başarısız bir çalışma hata veren adımdan devam ediyor. Çalışıyordu; gerçek ürünlerden odak çaldığı için rafa kaldırdım.

    TypeScript · Gemini · fal.ai · ElevenLabs · Remotion · YouTube API

  • Tatil Radar

    Hazır

    İzmir sahilinde bir gecenin gerçekte ne tuttuğunu (otel, akşam yemeği, plaj ve dışarı çıkmak) bölgeye göre hesaplıyor ve bir oteli 13 satış kanalında karşılaştırıyor. Her otel linki kontrol edilmiş, kontrol edilmemiş her şey de öyle etiketli.

    Next.js · TypeScript

  • Hands-Free Chords

    Çalışan prototip

    Webcam iki eli de takip ediyor. Her elin dairesel bir menüsü var, solda kök nota, sağda akor türü; bir pinch hareketi akoru sanal bir MIDI port üzerinden DAW'a çalıyor. Web versiyonu yapım aşamasında.

    Python · MediaPipe · OpenCV · mido

  • MOKOKO

    Hazır

    Tarayıcıda oynanan, üç turlu bir Türkçe kelime oyunu; oyun mantığı ve kelime kuralları unit testlerle kapsanmış.

    React 19 · Vite · Vitest

  • LinkedIn içerik pipeline'ı

    Kullanımda

    Bir marka dosyası, bir araştırma listesi ve bir içerik kuyruğu. Claude iki versiyon taslağı yazıyor, birini ben onaylıyorum ve resmi LinkedIn API'si üzerinden yayınlanıyor. Benim onayım olmadan hiçbir şey çıkmıyor.

    Claude · LinkedIn API · Markdown

  • HorrorGuess

    Hazır, yayında değil

    Bir arkadaşımla iki günde yaptığımız Türkçe bir korku tahmin oyunu. Model, şeması zorunlu tutulan bir çıktıyla, olmalı, olabilir ve olamaz kurallarına göre bir hayalet hikâyesi yazıyor; oyuncu da yirmi yaratıktan hangisinin anlatıldığını tahmin ediyor.

    React · Vite · TypeScript · OpenAI

  • Chordinia

    Durduruldu

    Saf Dart'ta gerçek bir müzik teorisi çekirdeği olan bir akor ve şarkı sözü asistanı (akor ayrıştırma, ton tespiti, tek dokunuşla transpoze, canlı perde analizi); bir de şarkı tanıma ve şarkı sözleri. Pistochia yayına çıkana kadar durduruldu.

    Flutter · Supabase · ACRCloud · Genius API

  • Kuluçka Vampir Köylü

    Kapatıldı

    Bir kafedeki Vampir Köylü oyun geceleri için bir uygulama: oyuncular QR kodla katılıyor ve dokununca açılan rol kartları alıyor, gece aksiyonları moderatörün ekranında çözülüyor, canlı oylar her telefona senkronize oluyor. Kimin neyi göreceği uygulamada değil, row-level security'de zorlanıyor. Kafenin geceleri kâğıt kartlarla gayet iyi gittiği için kapatıldı.

    Next.js · Supabase Realtime · Row-level security

  • aifindsit

    Workflow hazır

    n8n workflow'u olarak kurulmuş bir Instagram DM botu: mesaj bir webhook'tan geliyor, ürün bulunuyor ve cevap ürünün linkini taşıyor.

    n8n · Instagram Graph API

Üniversite ve açık kaynak

  • FlexFlow

    Bitirme projesi, kapatıldı

    Yaşar Üniversitesi'ndeki bitirme projem, üç kişilik bir ekiple: spor salonuna gidenleri kişisel antrenörlerle eşleştiren bir fitness uygulaması; antrenman ve diyet planları, haritada yakındaki salonlar, bir AI koç ve kalori takibiyle. Mobil uygulamayı ben yaptım, NestJS backend'i bir takım arkadaşım yaptı.

    React Native · Expo · Firebase · NestJS · PostgreSQL

  • Smart Bed

    Prototip, demosu yapıldı

    Yaşar Üniversitesi ve Penn State Abington öğrencilerinden oluşan karma ekiplerle üç günde yapılan bir hastane yatağı (Mart 2024). Yatak sensörleri ve bir AI kamera hastayı izliyor; hasta kalkmaya başladığında duvardaki bir ünite, düşmeden önce hemşirenin telefonunu uyarıyor. Bordatech'e demosu yapıldı ve üniversitenin haber sitesinde yer aldı.

    M5Stack · MicroPython · AI camera

  • AI asistanlı havayolu bilet sistemi

    Ders projesi, ikili çalışma

    IP başına rate limit'li bir Express gateway arkasında bir bilet API'si (uçuşlar, satın alma, check-in, JWT auth); bir de diğer tüm istemcilerle aynı public endpoint'leri çağırarak sade bir dille cevap veren bir asistan. Repolar ekip arkadaşımın GitHub'ında duruyor.

    .NET 8 · EF Core · Azure SQL · Express · OpenAI

  • Otel rezervasyonu mikroservisleri

    Ders projesi, ikili çalışma

    Tek bir gateway arkasında yedi servis (admin, arama, rezervasyon, yorumlar, bildirimler ve bir dil agent'ı), her biri kendine uyan veri deposuyla: rezervasyonlar için Postgres, yorumlar için MongoDB, cache için Redis, e-posta için bir mesaj kuyruğu.

    Node.js · Express · PostgreSQL · MongoDB · Redis · RabbitMQ · Docker Compose

  • MiroFish, eklemeli bir fork

    Katkı

    Açık kaynak, çok agent'lı bir tahmin motoru olan MiroFish'e eklemeler: takılıp çıkarılabilir bir hafıza backend'i (Zep Cloud ya da kendi sunucunda Neo4j ile Graphiti), bir çalışmayı belirlenen limitte durduran, dolar cinsinden canlı maliyet takibi, süreçleri için bir watchdog ve bir acil durdurma butonu. Motorun kendisi upstream'in emeği; sadece bu eklemeler benim.

    Python · FastAPI · Graphiti · Neo4j · Vue

Yetenekler, ne kadar kullandığıma göre

Yıldız yok; sadece her birinin gerçek işte ne sıklıkla karşıma çıktığı ve nerede görebileceğiniz.

YetenekNe sıklıklaNerede görülüyor
JavaScript, TypeScript ve Node.jsHer günBu sitedeki şeylerin çoğu bununla çalışıyor. Malton London Press
Next.js, React ve SupabaseHer günResearchGo, Ürünereklam, Malton London Press, birkaç müşteri sitesi ve kendi iki sitem. ResearchGo
SQL, API tasarımı, CI/CD ve GitHer günHer projede kullanılıyor. Migration'lar, veritabanı kontrolleri ve deploy pipeline'ları yazılarda geçiyor. Malton London Press
Python: veri pipeline'ları, scraping ve makine öğrenmesiProduction'daFitEscala lead motoru, ResearchGo'nun parse worker'ı ve yüksek lisans tezim (klasik, ensemble ve transformer modelleri artı açıklanabilirlik metrikleri). Yüksek lisans tezi: AI ile yazılmış phishing'in açıklanabilir tespiti
React Native ve ExpoProduction'daFirebase üzerindeki bitirme projem FlexFlow ve Supabase edge function'larıyla SQLite üzerinde offline-first çalışan Pistochia. Pistochia
WebGL ve Three.js (React Three Fiber)Production'daakinaydin.com'daki 3D harf; GPU düşürdüğünde kendini yeniden kuran bir WebGL context'iyle. akinaydin.com
Meta Marketing API ve reklam kampanyalarıProduction'daKörlemesine harcamadan ölçülmüş bir lead başı maliyete taşınan bir konferans kampanyası. Hikâyesi aşağıdaki notlarda.
Playwright ve tarayıcı otomasyonuProduction'daLinkedIn içerik pipeline'ı.
ErişilebilirlikProduction'daİşaret dili kullananlar için AB destekli bir projenin web sitesi; 2024 ve 2025'te bir özel eğitim derneği için yapıldı.
C, C++, C#, Java, Flutter ve IoTArada birGerçek kullanım ama her gün değil: akıllı yatak bir M5Stack üzerinde MicroPython çalıştırıyordu, Chordinia Flutter, havayolu sistemi de .NET.

Mühendislik notları

Gerçek projelerde ters giden şeyler ve neyi değiştirdiğim.

2026.06

Hedefini göremeyen reklam kampanyası

Bir konferansın kayda ihtiyacı vardı, bu yüzden reklam hesabı bir dönüşüm kampanyası çalıştırdı. Ama pixel'e hiçbir kayıt event'i bağlı değildi. Meta neyi görebiliyorsa ona doğru optimize eder ve hiçbir şey göremiyordu; bu yüzden bir lookalike kitle bütçenin çoğunu, binlerce tıklama getiren ama tek bir kayıt getirmeyen üç ülkede harcadı.

Daha akıllıca bir kitle bunu düzeltmezdi. Meta'nın kendi lead formlarına geçmek algoritmaya hedefleyebileceği gerçek bir event verdi ve aynı hesap, AB B2B için olağan maliyetin epey altında, lead başına nitelikli akademisyenler getirmeye başladı. Ölçülen rakamlar final raporunda; onları bilerek bu sayfanın dışında tutuyorum.

O günden beri bir kampanyayı ayarlamadan önce, istediğim sonucu gerçekten görebildiğini kontrol ediyorum.

2026.07

GPU'yu çökerten yansımalar

akinaydin.com'da çevresinden ışık alan, yansıtıcı bir 3D harf var. İlk versiyon ortamı her karede yeniden render edip PMREM üretiminden geçiriyordu; böylece yansımalar hep günceldi. Hızlı bir laptopta iyi görünüyordu. Sıradan donanımda ise sekme scroll'un ortasında WebGL context'ini kaybetti ve harf karardı.

Artık ortam bir kez, sayfa yüklenirken render ediliyor. Gerçek cihazlarda context'ler yine de kayboluyor; bu yüzden bu olduğunda sayfa, geride ölü bir kare bırakmak yerine canvas'ı otomatik olarak yeniden kuruyor.

2026.07

Sinir ağı neden bilerek yavaş eğitiliyor

Bu sayfadaki sinir ağı, throttle olmadan bir web worker'da çok daha hızlı eğitilebilirdi. Öyle yapmıyor, bilerek: sayfayı kaydıran biri, arka planda bir ağ eğitiliyor diye asla bir karenin düştüğünü görmemeli.

Bu yüzden eğitici yalnızca tarayıcının boş vakti olduğunda, idle callback'lerde ve bir karenin küçük dilimlerinde birkaç gradient adımı atıyor; tarayıcı meşgulse hiç atmıyor. Loss eğrisi daha geç düşüyor, sayfa da akıcı kalıyor.