newmo技術ブログ

技術で地域をカラフルに

【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜 を開催します!

こんにちは、newmo 株式会社に所属しているアーキテクトの伊藤です。

newmo は 2024 年 1 月に創業したばかりであるため、ゼロからどのようなアーキテクチャにするかを議論しながら開発を進めています。 これについては、次の記事でも話しているので、興味があればぜひご覧ください!

このように議論しながら、newmo では Go 言語と GraphQL を採用することに決めました。

GraphQL と一言にいっても、GraphQL API を扱う戦略はさまざまな方法があります。 たとえば、Netflix では Redefining API Strategy: Why Netflix Platform Engineering Chose Federated GraphQL | Apollo GraphQL Blog で話されているように、GraphQL APIの扱い方も状況によって変遷していくことが話されています。

5/22 に開催される【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜 では、なぜ newmo で GraphQL と Go を選択したのか、その理由や現在考えているアーキテクチャについてお話します!

【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜

オンラインでの開催になるので、是非お気軽にご参加いただければと思います。 ご参加いただける方は、イベントページからオンラインで申し込みいただければと思います〜

今後、当ブログで Go 言語や GraphQL についても書いていく予定なので、是非読者登録やX(Twitter)/RSSでフォローしていただけると嬉しいです!

それでは、5/22 にお会いできることを楽しみにしています!


newmo ではエンジニアを積極的に採用中です!

興味があれば DM やカジュアル面談でもお気軽に連絡ください〜

🚗 newmo の技術ブログをはじめます 🚕

newmoのCTOのsowawaです。はじめまして〜🚕 🚗

まず、最初にnewmoについて話したいと思います。

newmoはタクシーとライドシェアの会社として2024年に設立されました。 「newmo」は新しいモビリティの会社という意味で、new mobilityからnewmoと名づけました。

newmoでは、移動の問題を解決してみんなが自由に移動できる社会を作りたいと思っています。特に地域社会は移動に課題を抱えるところも多くなってきていて、好きなときに好きなところに行くことが難しいということも少なくありません。newmoではそういった課題を解決して、できるだけ多くの人が好きなときに好きなところに行けるようにできるといいなと思っています。同時に、地域で暮らす人たちが地域の交通の担い手として地域社会に貢献できるようにしたいと思っています。

そんな想いを込めてnewmoのミッションは

移動で地域を

とすることに決めました。

newmoでこれから取り組むこと

newmoは、C2CだけでなくB2CやB2Bにも取り組むことになります。newmoでは地域交通の責任を担うために、タクシーの事業にも同時に取り組んでいくので、ライドシェアだけでなくタクシー会社向けにB2Bのサービスを提供したり、タクシー事業としてB2Cのサービスも提供したりすることになります。そういう意味では交通に関わる様々なステークホルダーと一緒に多面的なプロダクトを作ることになると思っています。

技術的にも様々なテーマを扱うことになるでしょう。タクシーやライドシェアを配車していくためには、経路問題を解く必要があることはご想像の通りです。経路問題自体は、アルゴリズムとしてはすでに解法の示されている問題ではありますが、道路状況やお客様とドライバーの位置関係などの動的に変わるパラメータの中でどの車を誰に配車すれば良いのかというのはそれなりに難しい問題になると想像しています。多対多のマッチングを刻々と短い持ち時間で処理し続けるためにはリアルタイムのデータ処理と並列処理の組み合わせによって実現することになるでしょう。また将来的に需給の状況によって価格の変動を動的におこなうことが認められれば、需給と価格のパラメータをさらに追加してマッチングを行う必要も出てくるだろうと考えています。

それ以外にも地図データをどう作っていくのか、地点に関する情報の検索や実車データとの連携など技術的な面白さにあふれたテーマがいくつもあります。徐々にデータを集めることができればデータの利活用に生成AIを使うアイデアも試してみたいと思っています。

安心安全のための取り組みも忘れてはいけません。ライドシェアに対する漠然とした不安を仕組みとテクノロジーで乗り越えさせたいです。ライドシェアで当てはまることはタクシーにも当てはまることが多いはずなので、作った仕組みやテクノロジーを既存のタクシーにも良い意味で還元できると良いと思っています。。

アーキテクチャ

将来的にはマイクロサービス化することも念頭に置きつつ、まずはモジュラーモノリスでサービス開発を始めようと思っています。クライアントやサーバ間の通信には、GraphQLとgRPCなどデータ型を持つスキーマを用いて、静的型付け言語とスキーマベースによるコードの自動生成を積極的に用いたいと考えています。また開発における生成AIによる生産性向上にも取り組みたいと思っています。そのためには仕様やドキュメントを整備することもとても重要になると思います。

今後の展望

まだ何もないスタートアップなのでまずはクラウドを使ってサービスを立ち上げたいと思っています。SaaSのサービスやパートナーにも依存してスピードを重視して立ち上げる一方で、中長期では配車の際にETA(Estimated Time of Arrival)をすべて計算せずにモデル化することで計算コストを劇的に低下しつつも最適なマッチングができるようにしたいと考えています。またアルゴリズムを検証するためのシミュレータの開発などにも取り組みたいと思っています。

途中でも生成AIの話に触れましたが、このままAIの進化が進むと仮定すると汎用AIによる汎用ロボットの制御が見えてくる可能性もあると思っています。それは、おそらく汎用AIで車の運転すらできる未来が訪れることを意味するのだと思います。まだ先の話に聞こえるかもしれませんが、「移動」の会社として、様々なAIによってもたらされる自動運転とは無関係ではいられないのでしょう。

最近のnewmoの様子

手始めにみんなで運行管理者講習を受けに行ったり、京都にオフィスを作ったり、開発以外にもにぎやかな日々を送っています。

それでは

まだ記事では出せないような内容や固まっていることはBeer Bashでお話しています。 note.com

一緒に働いてくれる方も募集しています。一緒に hrmos.co