LUUPのWebフロントエンドって? (ビジネスドメイン編)
はじめに
こんにちは!LUUPでフロントエンドエンジニアをしている浅川です。
今年もLUUPの開発メンバーでAdvent Calendarをすることになりました!
1か月間、チームメンバーがLUUPのことを発信していくので、読んでみていただけると嬉しいです!
初日と2日目は、LUUPのWebフロントエンドチームが電動マイクロモビリティ事業のあらゆる側面(フィールドオペレーション、車両の管理や修理、マーケティング、営業など)に深く関わっていることを紹介します。この記事を通じて、当社のフロントエンドエンジニアが向き合うビジネスドメインの広さと、その面白さや難しさをお伝えできたらいいなと思っています。
LUUPの事業を「加速させる」WEBフロントエンド
LUUPの事業は、お客様が直接触れるアプリの裏側で、非常に多様なオペレーションによって支えられています。
ポート(電動キックボードや電動アシスト自転車の駐車場)の営業・管理、4万台以上にのぼる車両のメンテナンス・バッテリー交換・最適な場所への再配置、そしてお客様やポートオーナー様からのお問い合わせ対応など、多岐にわたる専門チームがLUUPの成長を牽引しています。

カジュアル面談スライドより
これら多種多様なオペレーションを、なぜ市販のソフトウェアではなく、自社開発のWebアプリケーションで支えているのでしょうか?
それは、電動マイクロモビリティという新しい事業領域では、市販のプロダクトではカバーしきれない様々な課題が日々発生するからです。
物理的なモノ(車両やバッテリー)とリアルタイム位置情報などが密接に絡み合うLUUPのオペレーションは前例のないことばかりです。それらに迅速かつ柔軟に対応するため、私たちWebフロントエンドチームは、管理アプリや現場向けのWebアプリなど、社内のほぼ全ての人が利用する複数のWebアプリケーションを開発・提供しています。
私たちの役割は、単に業務を「支える」だけではありません。フロントエンド技術を駆使して、オペレーションそのものを「進化」させ、事業の成長を「加速」させることです。
LUUPのWEBフロントエンド開発領域
私たちのプロダクトは社内のあらゆる領域に関わるので、開発スタイルにも特徴があります。
ユーザーは隣の席にいる - 高速フィードバックループ
私たちのアプリケーションの主なユーザーは、Luupの社員です。文字通り、開発者の隣の席にユーザーがいます。
「このボタン、もっと大きい方が現場で操作しやすい」「データがこう表示されると、次のアクションが取りやすい」といった生のフィードバックが、Slackや日々の会話を通じてダイレクトに、そして毎日届きます。この**「圧倒的なユーザーとの近さ」**こそが、私たちの開発の最大の面白さです。
一般的なソフトウェア開発のように、カスタマーサポートを経由したフィードバックのような時間はかかりません。課題を発見したそのスプリントに改善案を実装し、リリースの当日にはユーザーに試してもらう、といった超高速なイテレーションを回せるのが、LUUPのフロントエンド開発の醍醐味です。
コードは「現場」で磨かれる - 物理ドメインへの深い理解
LUUPの事業は、デジタル空間だけで完結しません。私たちは、PCの前でコードを書くだけでなく、実際に倉庫やフィールド(街中)へ足を運びます。
例えば、
「屋外の太陽光の下で、スマートフォンの画面はどのように見えるか?」
「バッテリー交換の担当者は、両手が塞がっている状況で、どうアプリを操作するのか?」
「このAPIレスポンスの遅延は、現場のオペレーションにどれほどの影響を与えるのか?」
といった問いの答えは、現場にしかありません。PdMと一緒に開発者が自らオペレーションを体験し、物理的な制約や環境を肌で感じることで、本当に価値のある機能は何か、実装の優先順位は何かを判断しています。

「オペレーション」こそが会社の資産である
電動マイクロモビリティ事業において、市販のプロダクトでは再現できない複雑なオペレーション業務そのものがサービスを提供するための大事な資産となります。私たちの携わるアプリケーションは、単なる「業務効率化ツール」ではなく、LUUPが蓄積してきた事業のノウハウをソフトウェアとして形にしてきた「会社の資産」なのです。
フロントエンドエンジニアは、まさにその最前線で、ビジネスの根幹をコードに落とし込む役割を担っています。
予告
次回は実際の組織図や技術にスポットを当てて紹介します!
公開された2日目の記事はこちら
Webフロントエンジニア採用中!
Luup ではWebフロントエンジニアを募集しています!!
CTOや各開発チームのリーダーとのカジュアル面談も実施していますので、ぜひ採用情報もご参照ください!
Discussion