Akın Aydın

ソフトウェアエンジニア

ここはakinaydin.comの技術サイトです。私のプロジェクトをどう作ったかを、図とリポジトリのコードを使って紹介します。

  • FitEscalaの共同創業者・技術責任者
  • Liverpool John Moores University、人工知能の修士課程(機械学習)。授業科目の成績平均は78.8%です。最終結果はまだ発表されていません。
  • イギリス・リバプール

アーキテクチャ図

Architecture console

No diagram yet

Architecture console, idle.

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

コマンドをタップするか、入力してください。試しに「ls」と打つとすべての構成図が、「source」と打つとこのコンソール自身のコードが表示されます。

プロジェクト解説

6つのプロジェクトを掘り下げて紹介します。それぞれ、課題、どう作られているか、重要だった判断、リポジトリのコードを扱っています。

ブラウザの中のニューラルネット

機械学習ライブラリを使わず、TypeScriptでゼロから書いた小さなニューラルネットワークです。ブラウザの空き時間だけを使って、互いに入り組んだ2つの半月形を分けられるように学習します。「Grad check」を押すと、手で実装した勾配を数値的な推定値と比べられます。

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.

小さめのプロジェクト

クライアントのサイト、実験、大学での制作物を、それぞれ数行で紹介します。

クライアントのウェブサイト

  • Anamaria Andrei

    デザイン案

    オックスフォードで手作りキャンドルを作る作家のための、4つのネットショップのデザイン案です。どれも方向性が違い、そのうち1つには火を灯せる3Dのキャンドルがあります。

    HTML · Three.js · GSAP · Lenis

  • Yağız Cem Yılmaz

    公開中

    イズミルで音楽講師、舞台ミュージシャン、合唱指揮者として活動する人のための、複数ページのポートフォリオです。3部構成のスクロールストーリー、動くタイポグラフィ、オプションのWebGLシーンがあり、コンテンツはすべて、検証済みのプロフィールファイル1つにまとめています。

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

    yagizcemyilmaz.com
  • Tiyatro Fısıltı

    公開中

    イズミルのカフェ兼ステージ「Kuluçka Kahve Sanat」を拠点にする劇団のための、PHPのサイトと管理画面です。公演スケジュール、演目、ブログ、メンバー、ギャラリーがあり、検索エンジン向けのイベントデータも出力しています。管理画面には、セッション認証、CSRF対策、レート制限、MIMEタイプの許可リスト付きの画像アップロードがあります。ビルドステップなしで共有ホスティングにデプロイします。

    PHP · SQLite or MySQL · JavaScript

    kuluckakahvesanat.com
  • CIBES Research Centre

    公開中

    研究センターの公開サイトと、Meta Marketing APIを使った学会の広告キャンペーンです。このキャンペーンについては、下の最初のノートで書いています。

    React · Vite · Tailwind · Meta Marketing API

    cibesresearch.org
  • Phinova Clinics

    デモを納品済み

    クリニックの1ページだけのサイトを、9言語対応のプラットフォームとして作り直したデモです。治療と医師のページ、同意の取得、受付番号、WhatsAppへの引き継ぎを備えたガイド付きの受診ナビに加え、hreflang、サイトマップ、JSON-LDもあります。

    Next.js · Tailwind · Resend

  • Ogün Aslan

    完成

    音楽プロデューサー、舞台ミュージシャン、講師として活動する人のサイトです。制作、ステージ、レッスンのページに加えて、構造化された記事を載せたトルコ語のブログがあります。内容は本人の経歴とインタビューをもとに作りました。

    Next.js · TypeScript

  • Maske Sanat Tiyatro

    完成

    ボルノヴァにある50席の独立系劇場兼カフェのサイトです。すべての情報について、調査ファイルの中で出典をたどれるようにしているので、公開前に上演プログラムをもう一度確認できます。

    Vite · HTML

  • Emir Özeren

    公開終了

    准教授の個人学術サイトで、経歴、研究業績、ノートを載せていました。現在は公開を終了しています。

    Astro

プロダクトと実験

  • Anı Defteri

    実際の結婚式のために制作

    結婚式のゲストブック用ウェブアプリです。ゲストはQRコードを読み取って、メッセージと最大3枚の写真を残せます。共有ウォールに載せるものと、ダウンロードできるPDFの本に入れるものは、新郎新婦が選びます。

    Next.js · Supabase · React PDF

  • Charisma AI

    運用終了

    サイドプロジェクトとして、しばらく本番運用していた本格的なSaaSです。自撮り写真とアンケートを入れると、Geminiがスコアをつけたカリスマ性のプロフィールが出てきます。コーチングプラン、毎日のチェックイン、チャットできるAIコーチ、Stripeのプラン、リマインダーメールもありました。意図して終了させ、課金とスコアリングのパターンはその後のプロダクトに引き継ぎました。

    Next.js · Supabase · Gemini · Stripe · Resend

  • YouTube自動化

    棚上げ

    プロンプトを1つ入れると、公開済みの動画が出てきます。台本、シーン画像、単語レベルのタイムスタンプ付きのナレーション、動画、Remotionでのレンダリング、SEO、サムネイル、アップロードまでです。各ステップが出力をディスクに書き出すので、失敗した実行は、失敗したステップから再開できます。動いてはいましたが、本命のプロダクトから注意をそらすので棚上げにしました。

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

  • Tatil Radar

    完成

    イズミルの海沿いで一晩過ごすと実際いくらかかるか(ホテル、夕食、ビーチ、夜の外出)をエリアごとに計算し、1つのホテルを13の販売チャネルで比較します。ホテルのリンクはすべて確認していて、確認できていないものにはそう表示しています。

    Next.js · TypeScript

  • Hands-Free Chords

    動くプロトタイプ

    ウェブカメラで両手をトラッキングします。それぞれの手に放射状のメニューがあり、左手でルート音、右手でコードの種類を選びます。ピンチすると、仮想MIDIポートを通じてDAWでコードが鳴ります。Web版を開発中です。

    Python · MediaPipe · OpenCV · mido

  • MOKOKO

    完成

    ブラウザで遊べる3ラウンド制のトルコ語の単語ゲームです。ゲームロジックと単語のルールはユニットテストでカバーしています。

    React 19 · Vite · Vitest

  • LinkedInコンテンツのパイプライン

    運用中

    ブランドファイル、リサーチリスト、コンテンツのキューから成ります。Claudeが2つのバージョンを下書きし、私が1つを承認すると、LinkedInの公式APIで投稿されます。私の承認なしに投稿されるものはありません。

    Claude · LinkedIn API · Markdown

  • HorrorGuess

    完成、未公開

    友人と2日で作った、トルコ語のホラー推理ゲームです。モデルは「しなければならない」「してもよい」「してはいけない」のルールに従い、スキーマで強制された出力形式で怪談を書きます。プレイヤーは、それが20体のクリーチャーのどれを描写しているかを当てます。

    React · Vite · TypeScript · OpenAI

  • Chordinia

    一時停止中

    コードと歌詞のアシスタントです。中核にはピュアDartで書いた本格的な音楽理論のエンジン(コードの解析、キーの検出、ワンタップでの移調、リアルタイムのピッチ解析)があり、楽曲認識と歌詞の機能もあります。Pistochiaのリリースが済むまで一時停止しています。

    Flutter · Supabase · ACRCloud · Genius API

  • Kuluçka Vampir Köylü

    運用終了

    カフェで開かれる人狼ゲームの夜のためのアプリです。プレイヤーはQRコードで参加し、タップすると表示される役職カードを受け取ります。夜のアクションは司会者の画面で処理され、投票はリアルタイムで全員のスマホに同期されます。誰が何を見られるかは、アプリではなく行レベルセキュリティで強制しています。カフェのゲームの夜は紙のカードで問題なく回っていたので、運用を終了しました。

    Next.js · Supabase Realtime · Row-level security

  • aifindsit

    ワークフロー構築済み

    n8nのワークフローとして作ったInstagramのDMボットです。メッセージがWebhookで届くと商品を検索し、その商品へのリンクを付けて返信します。

    n8n · Instagram Graph API

大学とオープンソース

  • FlexFlow

    卒業制作、運用終了

    Yaşar Universityでの卒業制作で、3人のチームで作りました。ジムに通う人とパーソナルトレーナーをマッチングするフィットネスアプリで、トレーニングと食事のプラン、地図上の近くのジム、AIコーチ、カロリー記録の機能があります。私はモバイルアプリを作り、チームメイトがNestJSのバックエンドを作りました。

    React Native · Expo · Firebase · NestJS · PostgreSQL

  • Smart Bed

    プロトタイプ、デモ済み

    Yaşar UniversityとPenn State Abingtonの学生による混成チームで、3日間(2024年3月)で作った病院用ベッドです。ベッドのセンサーとAIカメラが患者を見守り、患者が起き上がろうとすると、転倒する前に壁のユニットが看護師のスマホに知らせます。Bordatechに向けてデモを行い、大学のニュースサイトでも取り上げられました。

    M5Stack · MicroPython · AI camera

  • AIアシスタント付きの航空券発券システム

    授業課題、2人で開発

    IPごとのレート制限があるExpressゲートウェイの背後に置いた発券API(フライト、購入、チェックイン、JWT認証)と、ほかのすべてのクライアントと同じ公開エンドポイントを呼び出して、普通の言葉で答えるアシスタントです。リポジトリはパートナーのGitHubにあります。

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

  • ホテル予約のマイクロサービス

    授業課題、2人で開発

    1つのゲートウェイの背後に7つのサービス(管理、検索、予約、コメント、通知、言語エージェント)があり、それぞれに合ったストアを使っています。予約にはPostgres、レビューにはMongoDB、キャッシュにはRedis、メールにはメッセージキューです。

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

  • MiroFish(機能を追加したフォーク)

    コントリビューション

    オープンソースのマルチエージェント予測エンジン、MiroFishへの追加機能です。差し替え可能なメモリバックエンド(Zep Cloud、または自分のサーバー上のGraphitiとNeo4j)、設定した上限に達すると実行を止める、ドル建てのリアルタイムのコストトラッカー、プロセスを監視するウォッチドッグ、緊急停止ボタンです。エンジン本体はアップストリームの成果で、私が手がけたのはこれらの追加部分だけです。

    Python · FastAPI · Graphiti · Neo4j · Vue

スキルと使用頻度

星の数ではなく、実際の仕事でそれぞれをどれくらい使っているかと、それがどこで見られるかを示しています。

スキル頻度使用箇所
JavaScript、TypeScript、Node.js毎日このサイトで紹介しているものの大半は、これで動いています。 Malton London Press
Next.js、React、Supabase毎日ResearchGo、Ürünereklam、Malton London Press、いくつかのクライアントのサイト、そして私自身の2つのサイト。 ResearchGo
SQL、API設計、CI/CD、Git毎日すべてのプロジェクトで使っています。マイグレーション、データベースのチェック、デプロイのパイプラインは、各解説に出てきます。 Malton London Press
Python:データパイプライン、スクレイピング、機械学習本番で使用FitEscalaのリード獲得エンジン、ResearchGoの解析ワーカー、そして修士論文(古典的なモデル、アンサンブルモデル、Transformerモデルと、説明可能性の指標)。 修士論文:AIが書いたフィッシングメールの説明可能な検出
React Native、Expo本番で使用Firebaseで作った卒業制作のFlexFlowと、SQLiteでオフラインファーストに動き、Supabaseのエッジ関数を使うPistochia。 Pistochia
WebGL、Three.js(React Three Fiber)本番で使用akinaydin.comの3Dの文字です。GPUにWebGLコンテキストを落とされても、自動で作り直します。 akinaydin.com
Meta Marketing APIと広告キャンペーン本番で使用学会のキャンペーンを、何も見えないまま予算を使う状態から、リード単価を測定できる状態にしました。経緯は下のノートに書いています。
Playwrightとブラウザ自動化本番で使用LinkedInコンテンツのパイプライン。
アクセシビリティ本番で使用手話を使う人のための、EUの共同助成プロジェクトのウェブサイトです。2024年と2025年に、特別支援教育の協会のために作りました。
C、C++、C#、Java、Flutter、IoTときどき毎日ではありませんが、実際に使っています。Smart BedはM5Stack上のMicroPythonで動かし、ChordiniaはFlutter、航空券システムは.NETです。

開発ノート

実際の開発でうまくいかなかったことと、それをどう変えたか。

2026.06

目標が見えていなかった広告キャンペーン

ある学会は参加登録を集める必要があったので、広告アカウントではコンバージョンキャンペーンを配信していました。しかし、ピクセルには登録イベントが1つも接続されていませんでした。Metaは自分に見えるものに向けて最適化しますが、何も見えていませんでした。その結果、1つの類似オーディエンスが予算の大半を3か国で使い、そこから何千件ものクリックがあったのに、登録は1件もありませんでした。

オーディエンスをもっと賢くしても、これは解決しなかったはずです。Meta自身のリードフォームに切り替えると、アルゴリズムに狙うべき本物のイベントができ、同じアカウントで、条件に合う研究者を、EUのB2Bの一般的な水準を大きく下回るリード単価で獲得できるようになりました。測定した数値は最終報告書にありますが、このページにはあえて載せていません。

それ以来、キャンペーンを調整する前に、欲しい結果がキャンペーンから実際に見えているかを確認するようにしています。

2026.07

GPUをクラッシュさせた反射

akinaydin.comには、周囲の光を拾う、反射する3Dの文字があります。最初のバージョンでは、毎フレーム環境を再レンダリングしてPMREMの生成にかけていたので、反射は常に最新でした。高性能なノートPCでは問題なく見えていましたが、一般的なハードウェアではスクロールの途中でタブがWebGLコンテキストを失い、文字が真っ暗になりました。

今は、ページの読み込み時に環境を1回だけレンダリングしています。それでも実機ではコンテキストが失われることがあるので、そのときはページがキャンバスを自動で作り直します。止まった画面を残したままにはしません。

2026.07

ニューラルネットがわざとゆっくり学習する理由

このページのニューラルネットは、スロットリングなしのWeb Workerで動かせば、ずっと速く学習できます。でも、あえてそうしていません。通りすがりにスクロールしている人が、裏でネットワークが学習しているせいでフレーム落ちを目にすることがあってはいけないからです。

そこでトレーナーは、ブラウザに余裕があるときだけ、アイドルコールバックやフレームの小さな隙間で勾配ステップを数回進め、忙しいときは何もしません。損失曲線が下がるまでには時間がかかりますが、ページは滑らかなままです。