Diniiとは
76億円の資金調達をした飲食店のモバイルオーダーのサービスをやっている企業です。
この企業の技術選定から学べることが多いので、それを踏まえて動画のレビューをしていきます。
レビュー対象の動画
Diniiの記事
なぜこの記事を書いたのか
エンジニアとしてやるべきことは企業への価値提供です。
ただコードを書いたり、好きだからプログラミングするのは趣味でやればいいですし、
自分で勝手に会社でも作ればいいと思います。
そしてエンジニアのミッションは
1.技術を使って課題解決
2.事業を伸ばすために動くこと
だと思います。プログラミングをすればOKではないです。
上の2つを実現するために何かヒントが得られるのではと思い、この記事を書きました。
ビジネス視点のエンジニアを目指すべき(技術力だけは良くない)
プログラミング技術を上げたとこで、余程の技術力がない限り、生成AIには勝てません。
技術がそんなに好きならスタンフォード大学なり本場のアメリカで学べばいいと思います。
技術者として一人前になったからといって一流のエンジニアではないと思います。
価値提供をできるようにするために動くべきです。
自分もまだまだできていないので、どうすればいいのか一緒に考えていきましょう‼︎
この企業が成長できた理由
動画の通りになってしまいますが以下の2点です。
ユーザーファーストの技術選定
開発効率を徹底的に上げたこと
です。よくダメな企業やエンジニアであるのが、「この技術が好きだから」とかです。
あとは「エンジニアが集まらないからGoなどの最新技術を導入しよう」などです。
これだとユーザーファーストでもないし、いいプロダクトはできませんし、事業も伸ばせません。
モバイルオーダーサービスの課題
モバイルオーダーサービスといえばこんな感じです。
- スマホアプリをダウンロードさせる
- Webサービスにアクセスして注文
UberEatsを思い浮かべてみればわかりますね。
アプリをダウンロードして 、そこから注文するような感じです。
しかし、このようなサービスではこんな問題があります。
具体的には以下の3点です。
1.ダウンロードいちいちめんどくさい
ダウンロードは正直自分もめんどくさいですね💦
そんで通知がうっとうしかったりします。だから通知OFFにするので、お店からキャンペーンなどを伝えることができなかったりします。
2.お客さん情報が得られない
連絡手段もないですし、どういうお客さんが来てくれたのか、どこの誰がお店に来てくれるのか、リピーターにするための施策をお店が打てないという問題があります。
Diniiの解決策
1.LINEでQRコードを読んだらすぐ注文できる
LINEのミニアプリを実装したみたいです。これは凄いと思いました。
LINEってSNSでユーザーが1番多いです。確か8000万人とかいたはずです。
生活の一部になっていますよね。使っていない人の方が珍しいですし、1番見られているツールです。
LINEビジネスも盛り上がっていますよね。(Lステップ、LMessageなど)
公式Lineに登録してもらえれば嫌でもユーザーの視界に入ったりします。
お店もキャンペーンなどを認知してもらいやすくなります。
2.ユーザーを管理して、個別でファン化させることができる
インフルエンサーとかでも公式LINEとかに登録させて自分の商品売ったりしている人いますよね。これをお店でもできます。そして1人1人のお客さんから何を注文したかでこのお客さんは何が好きなのかを把握した上でキャンペーンなどを出したりできるので、お客さんは自分の好きな物の特典が受け取れて、お店もリピーターに繋がって
WinWinになります。
3.店員さんにタブレッドアプリを提供
店員さん向けに提供してくれたら、店員さんも仕事しやすくなります。
PCより圧倒的に情報共有が簡単です。
Diniiのサービスはどう広がっている?
口コミで広がっています。サービスを導入するお店もけっこう増えてきているみたいです。
口コミで広がるって本当に使ってみて良くないと広がっていかないです。
本当においしいお店や面白い映画なら誰か友人に話したくなりますよね?それと同じです。
これがユーザーファーストの技術選定
です。Goが好きとか、エンジニアが喜ぶからモダンな技術を使うとこではないです。これができるから資金調達が70億もできるんだと思います。
Diniiの開発効率の最大化について
モダンな構成SPAの現場をやったことある目線で
よくSPAでバックをRailsとかGoにして、フロントをNext.jsにして、たまにPythonが一部入っていてみたいな技術はよく使われていますが、これかなり効率悪いです。
だって、SPA使える人探さないといけないし、バックとフロントのエンジニアをそれぞれ採用したり、バックとフロントで連携が取れなかったりで、SPAの開発って意外と効率の悪さも感じました。それどころか資金調達をうまくできなかった企業がエンジニアを集めるために「モダンな技術で開発できます」アピールをして使っているケースもあります。(それじゃ資金調達なんかできないと思います)
TypeScriptだけで開発をすることで最大化させる
DiniiはなんとTypeScriptだけで開発しています。これはかなり採用コストを下げられます。
システムはざっくりと言うと
- お客さんが注文するアプリ(React、Next.jsで可能)
- 現場の店員さんが注文管理するアプリ(ReactNativeはReact使えたら対応可能)
- お客さんの情報を分析するアプリ(フロントはWeb)
みたいです。これフロントエンド使える人いたら完結する構成です。
バックエンドはNest.jsを使っているのでこれもTypeScriptで開発ができます。
Node.jsのExpressの進化版みたいなイメージです。
懸念点
TypeScriptのライブラリが頻繁に変更などがあります。
これがかなり開発を難しくしています。そんで売上は1円にもならないです。
懸念点の対処法
リスクを避けた技術選定をやっています。
バックエンドをTypeScriptで開発しない工夫です。
データ取得をHasura
と言うサービスを使っているみたいです。
データ更新のみ実装だそうです。つまりデータ取得の実装はしなくていいと言うことです。
Hasura
PostgreSQLサーバーからGraphQL APIを自動生成するプラットフォームです。
以下はチュートリアルです。
Diniiから学ぶこと
一流の技術選定は以下の2点です。
1.ユーザーファーストの技術選定
2.開発スピードを上げる工夫
外貨を取るのがDiniiの目標
外食産業で海外展開して外貨を取っていくのが目標見たいです。
外貨取れたのはメルカリくらい見たいです。(実際に英語の求人票やテックブログなどあって海外基準です。)
Diniiのテックブログ
よかったら読んでみてください。