Portfolio

杉原 虎太朗

九州工業大学大学院 情報創成工学専攻知的システム工学科分野 M1
iOSアプリ開発 / ロボット制御研究 / 陸上競技(長距離)

01

About

九州工業大学大学院 情報創成工学専攻にて、自律移動ロボットの経路計画を研究しています。 個人開発では Swift / SwiftUI を中心に iOSアプリを設計・実装し、 App Storeへの公開・運用まで行っています。また Next.js / TypeScript / Supabase を用いた Webアプリ開発も手がけており、九州工業大学陸上競技部の公式サイト(kyutech-tf.com)を本番運用しています。

「もっと効率よくできないか」という思考が根底にあり、その手段としてAIを活用するようになりました。Claude Code・GitHub Copilot をコーディングに組み込み、 設計の壁打ちからデバッグまでAIと並走することで、個人でも実用的なプロダクトを素早く形にしています。

陸上競技(長距離)に10年以上取り組み、九州工業大学陸上競技部の主将を務めました。 行き詰まったときに走りに出ると、不思議とアイデアが浮かぶことが多く、 走ることが思考の整理にもなっています。

Skills

iOS / Mobile

SwiftSwiftUISwiftDataStoreKit2ConcurrencyCombine

Web

Next.jsTypeScriptSupabaseVercel

Research / Robotics

PythonROS2UnityC++RTAB-Map

AI / Tools

Claude CodeGitHub CopilotGitHubGitLabXcode
02

Athletics

中学から大学院まで陸上競技(長距離)を続けています。5000mを専門に取り組んでおり、 九州工業大学陸上競技部の主将を務め、6年ぶりの九州学生駅伝復活出場を主導しました。 AIを活用したトレーニング分析にも取り組んでいます。

1500m4'00"25
5000m15'39"91
5km Road15'27"
レース中の杉原虎太朗
03

Works

Running Log

kotaro-dev.com/blog ↗開発済み・運用中

Garmin APIからのデータ取得とHSS(Hybrid Stress Score)などの数理モデルをPythonで試作・検証し、 フルスタックWebサービスとして再構築したランニングログアプリ。 自身の競技力向上(5000m自己ベスト2分半更新)に実際に活用している。

Role: 企画 / 設計 / 実装 / 運用

  • Garmin Connect APIとの自動同期パイプライン:ラップデータを含む活動情報をSupabaseへ蓄積
  • Banisterモデル × ペース由来の機械的負荷係数によるHSSエンジンをTypeScriptで実装
  • EWMAによるATL/CTL時系列とデュアルSSSR(Peak / Volume)での怪我リスク4段階評価
  • VDOTによる走力推定・次レースのペース予測と月間走行距離の推移グラフ
  • 練習日誌(Markdownベース)のタグ・月別フィルタとClaude APIによるAIコーチコメント自動生成
  • レース記録管理とPB / UBの自動判定・種目別歴代記録の推移グラフ化
Next.js App Router / TypeScript / Supabase / Recharts / Garmin API / Claude API
陸ログ VDOT走力分析陸ログ レース記録管理陸ログ ペース計算陸ログ PB管理陸ログ シェアカード

陸ログ(RikuLog)

App Store ↗

陸上競技者向けの記録管理アプリ。自分がランナーとして「こういうアプリがほしい」と感じた課題を起点に開発し、 VDOT理論に基づく走力分析やペース計算、PB管理などを実装しました。累計約150ダウンロード、課金ユーザーも獲得。

Role: 企画 / 設計 / 実装 / UI・UX / 運用

  • VDOT理論に基づく走力評価エンジンの実装
  • 距離・時間・ペースの相互変換ロジック
  • 400mトラック / ロード対応のラップ自動生成
  • SwiftDataによるレース記録の永続化
  • StoreKit2を用いたサブスクリプション管理
Swift / SwiftUI / SwiftData / async-await / Combine / StoreKit2

Kashikau

App Store

日用品・食品の単価を記録し「今が買い時か」をリアルタイム判定するiOS買い物支援アプリ。 スーパーで価格を見て「これって安い?」という疑問を解決する。 App Storeリリース済み。累計約50ダウンロード

Role: 企画 / 設計 / 実装 / UI・UX / 運用

  • 価格・数量を入力するだけで単価を算出し、6段階評価(過去最安更新 / お得 / 相場通り / 割高など)を即時表示
  • 全期間最安・現在相場・前回価格・店舗別最安を複合比較する価格評価エンジンの実装
  • 購入履歴から平均購入間隔を統計的に算出し、補充時期をプッシュ通知するスマートリマインダー
  • 店舗別グループ化・予想合計金額表示・クイック追加機能を備えた買い物リスト
  • SwiftData のリレーション設計(削除ルール nullify / cascade で履歴を安全に保全)
  • StoreKit2 サブスクリプション + AdMob リワード広告の組み合わせ収益モデル
Swift / SwiftUI / SwiftData / StoreKit2 / AdMob / UserNotifications / Combine

九州工業大学陸上競技部 公式サイト

kyutech-tf.com ↗

陸上競技部の公式サイトを設計・開発し、本番運用中。約11,000行のTypeScriptで構成し、API Routes 13本・DBテーブル13本のフルスタック構成。

Role: 設計 / 実装 / 運用

  • CSV インポート時に PB / UB / SB を全履歴と自動比較してバッジ付与
  • 種目別歴代 Top10 をDB集計でリアルタイム表示
  • 部員個別ページの OGP 画像動的生成(opengraph-image.tsx)
  • JWT 認証 + セッション残り時間ヘッダー表示の管理画面
  • ギャラリーのドラッグ&ドロップ並び替え・無限スクロール・ライトボックス
Next.js App Router / TypeScript / Supabase / Vercel / ISR

Tascale

開発中

大学生向けのスケジュール管理アプリです。 時間割と課題管理を統合し、日本の大学生の生活に合わせたUIを設計しています。

Swift / SwiftUI / SwiftData
04

Research

卒業研究2025年度機械学会九州支部 発表

不整地環境における地形考慮型経路計画手法に関する研究

A Study on Terrain-Aware Path Planning Methods for Uneven Terrain Environments

農業や災害対応などで活用が期待される、不整地を走行する自律移動ロボットの経路計画に取り組みました。 従来のA*アルゴリズムは最短経路の探索には優れていますが、 傾斜・段差・表面粗さなどの地形特性は考慮していません。

本研究では、地形の複雑度(標高差・傾斜角・表面粗さ)を数値化する評価関数を設計し、 A*に統合した Terrain-Aware A*(TA*) を提案しました。 さらに実用化に向けて、この地形評価をField D*の補間技術と組み合わせた Field D* Hybrid を開発し、 96シナリオの統一ベンチマークで4手法を比較評価し、提案手法は成功率96.88%を達成しました。

PythonROS2UnityC++RTAB-MapA*Field D*3D点群処理
05

Experience

2026/4 – 現在アルバイト

株式会社OPTiM

組み込みエンジニア

  • Raspberry Piを用いた組み込みシステムの開発・実装
  • Pythonによるデバイス制御・データ処理
Python / Raspberry Pi / 組み込みシステム
2025/8 – 2026/4インターン

sci-bone株式会社

スポーツテクノロジー / データ分析

ランニングデータの解析に携わりました。 Garminデバイスから取得したトレーニングデータをもとに、 パフォーマンスの可視化やケガ予防に向けた分析を行いました。

  • Garminデータを活用したトレーニング負荷分析(HSS: Hybrid Stress Score)
  • ランニングシューズの特徴量に対する主成分分析(PCA)によるグルーピング
  • 分析結果に基づくパフォーマンス予測とケガ予防の提案
Python / Pandas / データ分析 / 主成分分析(PCA)
06

Contact

ご連絡はお気軽にどうぞ。