BETA

[個人開発]相手の素性がだんだん公開されていくチャットサービスを2日で開発してみた

投稿日:2020-04-21
最終更新:2020-04-21

前提

※この企画は、個人開発エンジニアNによる、30日チャレンジの2日目の記事です。
↓他の内容が気になる方はコチラ↓
【30日チャレンジ】新規サービスアイディアを毎日投稿します

また、Twitterは下記です。フォローお待ちしています。
Twitterアカウントはコチラ

サービスイメージ


最初は、相手の名前も何もわからない状態でチャットがスタートし、
メッセージ重ねる毎に、だんだんと相手の情報が公開されていく
シークレットランダムチャットサービス「キャラバレトーク」を開発してみました。

サービスをつくった経緯

サービス作りでの重視点

これまでにWeb、アプリなど何十個というサービスを作ってきましたが、
そんな僕がサービス作りにおいて重要視している点について、まずお話ししていきます。

運営にかかる工数

前提として僕は個人開発者です。
サービス作りに割ける工数限られています。
そんな中で、効率よくサービスデザインをしていく必要があります。

例えば、記事系のメディアを僕が作るとします。
ワードプレスでバックエンドを構築し、フロントのデザイン、コーディングを進めるとします。
投稿内容をカスタマイズするためにプラグイン等も自作するかもしれません。
開発を進め、メディアサービスとしての仕組みが出来たとします。
ここまでにせいぜいかかっても工数1~2週間です。

それでは運営をスタートしましょう。
次に必要なものは何か。
メディアですから「記事の作成」を毎日複数個あげていく必要があります。

個人開発者の僕にとって、まずこれがNGです。
僕は記事執筆が好きなわけでもありません。
僕の目的はサービス作りそのものであり、コンテンツ作りではありません。
となると、そのサービスの主要コンテンツを、
手動で毎日作成していかなければならないサービスは非常に効率悪くなります。
※決してライディング業務を貶しているわけではありません。僕自身の長所と短所の話です。

コンテンツの自動生成

ではどうしたらよいのか。それは単純で、
そのサービスの主要コンテンツ自動で生成されることが最もよいと思っています。

自動生成の方法はいくつかあります。
1、プログラムにやってもらう
2、ユーザーにやってもらう
3、ユーザー(もしくはユーザーの行動)自体がコンテンツになるもの

例えば項目1は、あんてなサイトなどでしょう。
自動で更新されるRSSからの取得ロジックを組んでしまえば、
あとは手動で管理する必要はありません

項目2の「ユーザーにやってもらう」とは、
イラスト投稿サイトなどがそれにあたります。
コンテンツを投稿閲覧するような環境はもちろん提供するものの、
主要コンテンツ自体はユーザーが投稿したものが、
それにあたるようなサービスです。

チャットサービス

そして今回、項目3に焦点を当ててみました。
ユーザーがいること自体がコンテンツになるもの。
チャットサービスやマッチングサービス等がそれにあたります。
そこでチャットサービスを作ってみよう、と考えました。
ただ、ありきたりなチャットサービスではつまらないので、
今までチャットサービスに触れてこなかった人たち面白半分でできるようなものにしたい。

そこで、本来素性がわかっているから相手の価値を判断し、
その人とチャットしたいという欲求が生まれる点を逆転の発想にし

初めは相手のことは何もわからないという状況から、
徐々にシステムで情報が開示されていくようなサービスを考案しました。

内面からその人を知っていき、段々とその人の外面が想像上で構築されていく。
この感覚はいまの現代で体感できるものではありません。
だからこそ面白いし、普段「人はやっぱり中身だよ」と言っている人たちは
果たして本当にそうなのかということをこのサービスを通して検証してほしい。

「男性なのか、女性なのか」「北海道なのか、沖縄なのか」「一体どんな顔をしているのか」

今まで話していた内容が、こういった情報を得ることで全く違う意味をなすかもしれませんよね。
それが人間同士のコミュニケーションの面白みとして成立するのか試してみたかったのです。

利用技術

ホスティングはAWS
Linux(Amazon Linux)
Apache
PHP7.3
firebase(firestore)
CloudFunctions(node.js)
Html(css/js)

僕はリアルタイム系のサービスの時はfirebase一択ですね。
phpでfirestoreを初めて使いましたが、やはり簡単...。
サンプルもかなり揃ってますし、料金高いこと以外はとても効率的です。

制作スケジュール

工程 工数
企画構想 1時間
ワイヤー作成 30分
デザイン 3時間
コーディング 5時間
インフラ&バックエンド 1日

ワイヤー


本当にラフな内容で済ませます。色とかもつけなくていいくらいです。
ここは、出来る限り最小の工数でやります。

デザイン


僕はデザイナーではないので、デザインはおしゃれなデザインを徹底的にインスパイアします。
もちろんそのままコピーしてくることはないし、複数の参考デザインを見ながら組み合わせていきます。
※最後にあげているGithubにデザインとワイヤーのXDも含めています

開発してみて...

実はこのサービス、リリースしていません。
理由は、下記2点です。

・最適な集客方法が思いつかなかった

ユーザー自体が主要コンテンツになるとかいっておきながら、
このサービスの骨子からするとすでに需要を感じているユーザーというのは非常に少ないです。
※例えば出会い目的のユーザーを集めるだけならハッシュタグで宣伝するだけで十分に集められる
プレスリリースなどを打つなら別ですが、そこまでして...という感じだったので
他の集客方法を検討しましたが、効率的な告知方法継続利用促進の方法を見出すことができませんでした。

・収益性が合わない

・ほとんど自動マッチング画面orトーク画面に滞在する
・トーク中は、トークに夢中になる
・トーク開始時より後半の方が面白くなっていく

上記の性質から、広告を掲載した際の試算値が非常に低くなってしまいました。
また、掲載広告のターゲティングも曖昧になってしまうことや、
firebaseの金額感などを総合的に判断すると収益性が低く、リリースするに至りませんでした。

ソースコード

https://github.com/nsk-dev-public/charabare
全て公開しています。
ロジックもどこまでか途中だったかとは思うので、
もしご利用される場合には面倒ですが読み解いていただいて改築してお使いください。
また、Adobe XDで作成したワイヤーフレームデザインも上記に含めています。

まとめ

今回この記事で伝えたかったこととしては、下記点です。

・主要コンテンツをどのように自動で生成する仕組みを作るか

僕がエンジニア一年目のときに先輩に言われた言葉があります。
「エンジニアなら、二度同じ作業をしたら自動化できないか考えろ」
めちゃくちゃ印象に残っていて、今でも心に留めている言葉です。

個人じゃなくても同じですが、工数限られた中で開発している以上は、
いかに類似的な工数を割くためのシステムを作れるかが肝になってきます。
どこに時間がかかりそうか、どこが自動化して効率化できそうか、
考えるところからサービス設計は始まります。

・実際に作ってみないとわからないことも多々ある(だからこそスピード重視で作り上げる)

今回でいうと、終盤になって初めて「サービスと広告マネタイズの相性」
「ターゲットとマーケティング方法」マッチしないと気づきました。
これは、初めから要件がガチガチに固まっているわけではなく、
サービスを作っていくうえで改善を重ねていったことで発生した問題でした。

ただし、サービスをよくしようと考える以上は、そういったことは発生しうるものです。
だからこそ、いかにサービスの形を素早く作り上げ
ユーザーが実際に触れたときのイメージ体感できるかが
サービス作りにおいては重要分岐ポイントとなる気がしています。

これを経験として、また新たなサービス作りに励みたいと思います。

最後に

長々とした内容をここまでご拝読いただき、ありがとうございました!

他にもアイディアやサービス作りを頻繁に発信していく予定ですので
改めてになりますが、よろしければTwitterフォローの方もよろしくお願いします。

Twitterアカウントはコチラ

↓その他の30日チャレンジ記事についてはコチラから↓
【30日チャレンジ】新規サービスアイディアを毎日投稿します

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@xQ4iugR59eblQWxAの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう