【プロジェクト概要】
・政府機関から依頼された様々な機能を備えたタクシー配⾞アプリの管理システム、モバイルアプリの開発にフルスタックエンジニアとして参加しました。
・会員登録機能、GPS を通じたリアルタイム位置情報提供/マッチング機能、⽬的地及び料⾦計算機能、ナビゲーション機能、様々な決済機能(Google pay, paypal, Stripe)、リアルタイム通知機能、評価及びレビュー機能、多⾔語対応、クーポン機能、プッシュ機能など、膨⼤な機能を備えたマルチプラットフォームサービス開発プロジェクトでした。
【プロジェクト規模】
要員 25 名
【担当】
要件定義、基本設計、詳細設計、コーディング
【業務内容】
・ WEB アーキテクチャの設計および構築。
・ AWS のサーバーレスサービスを利⽤したマルチクロスプラットフォーム開発。
・ユーザーと運転者の間のマッチングのためのマッチングモデル構築
・ナビゲーションデバイスで使⽤するモバイルアプリ⽤通信モジュール SDK/API 開発。
・常時発⽣する⾛⾏情報(ストリームデータ)の処理および蓄積。
【実績・取り組み等】
・主にウェブ管理システム開発に参加し、AWS クラウド構築、システム設計及びアーキテクチャ構築、モバイルアプリの開発及びテスト、性能改善にも貢献しました。
・マッチング機能が⾮常に重要でしたが、pytorch, tensorflowerなどの機械学習の経験が不⾜している状況で、ユーザーとドライバーの各属性を学習⽤データとして選定し、深層学習を進⾏して最適なマッチングモデルを開発する段階までハンズオンなどを⾏い、任されたティゲットを完了しました。
⼀番難しかったのは、ユーザーの位置とドライバーの位置情報をリアルタイムで取得し、最短距離を計算してマッチングさせる部分で、主任エンジニアと⼀緒に配⾞依頼を WebSocket 経由で送信し、近いドライバーに配⾞依頼を⾏うように実装しました。
マッチング時には、属性の重要度をモデルから推定し、ユーザーとドライバーの組み合わせを算出し、検索結果として最適なドライバーを上位にランキング表⽰するようにしました。