AWS
iOS
Swift
gcp
クソアプリ

今年こそクリぼっちを救えるのか!~今年はクリぼっちが少ないらしい その2~

クリぼっちとは:クリスマスを一人で過ごすことを意味する表現。ぼっち(ひとりぼっち)のクリスマス。(weblio辞書より)
christmas_hitori_bocchi.png

この記事でわかること

  • クリぼっちを救う方法がわかります
  • クリぼっち濃厚の方でもまだ間に合います
  • 一般的なサービスを出すのと、マッチングサービスを出す労力の違いについてわかります

はじめに

こんにちは!都内でフリーランスエンジニアをしております、おかむーといいます。
去年のアドベントカレンダーで 「今年はクリぼっちが少ないらしい」 という記事を書きましたが、
今年もその続編としてクリぼっち撲滅企画を企てました。

  • 去年のエントリーはこちら -> 今年はくりぼっちが少ないらしい
  • 要約すると、Twitter上でかまってちゃん同士を強制マッチングして、ぐるなびAPIでお店を自動レコメンドするというものでした

image.png

過去5年、恋心マッチングサービスに挑戦をし続けてきました

  •  また隣だね(2014) 裏で仕組める運命の席替えアプリ [1.3kDL]

  •  FeelingCall(2015) 合コンで気になる人とフィーリングコール [マッシュアップアワードKDDI賞]

  •  婚タクト(2016) 招待者のみで結婚式前から盛り上がれるクローズドなSNS [飯塚アプリコンテスト最優秀、他2賞]

  •  Glance(2017) カップルで使う夜の相性マッチアプリ

  •  kamatte(2018) かまってちゃん専用マッチングサービス [大八耐Rubyコンテンツ賞受賞]

とまあ、毎年やっております。

私はこれらのサービスで学んだことがあります

人が恋をするには

  • 「タイミング」
  • 「時間」
  • 「人の後押し」 この3つが重要ではないのかと

タイミング

・りんごを落としたときに拾おうとしてばったり隣の人と手が触れ合ってしまった
・あの子と同じ部活道に入った / 実はあの人と隣町に住んでいた
など**偶然タイミングが合う瞬間**のことです。

時間

恋をするにはゴールデンタイムが存在します。
・圧倒的に**19-24時は人はトキメキを覚えやすい**です

人やイベントの後押し

気になっていても勇気が出せず、何もできなかったことありませんか?
・おせっかいな友人が助けてくれたり / 卒業式のもう会えないかもしれないからやっちゃえ!
など、**人やイベントの後押しって大切**です

これら3つが揃うと人は恋ができドキドキするような体験を得られるのではないか

  • 私は今のマッチングサービスにこの要素を追加したら面白なるのではないと思い製作しました そうこの、恋愛3種の神器を取り入れたサービスが今回のクリぼっち企画です。 さて、長くなりましたが、

今年のクリぼっちを救うぞ企画は!!

cinderella-ogp.jpg

https://cinderella-castle.com/
というサービスを作り、本日(2018/12/04)より実際に公開しています。

このサービスの概要

ガチなマッチングサービスである(運営側として大変だった)

  • マッチングサービスとして公開するにはいくつかの試練があります
    • 必ず届け出の通りの手順を踏み年齢確認をしなければならない
    • インターネット異性紹介事業開始届けなど各種書類を警察署などへ提出しないといけない (数ヶ月)
    • 身分を明らかにしなければならない (過去の犯罪歴などすべて書類を揃える)
    • 代表の電話番号や住所を用意しなければならない(バーチャルオフィス不可)
    • などなど苦労は山ほどありました => 詳細は別記事にしようと思いますが盛りだくさん!!

シンデレラタイムという新感覚なマッチングである

  • 1日1回無料で強制マッチングします
  • 19時になると強制マッチングされるのですが、24時になると強制解散させられます
    • さらにはシンデレラタイムでは、お互いのプロフィールがぼやける魔法が掛かっており会話が弾みます (以下、シンデレラ系と定義します)

このシンデレラ系アプリが解決すること

cinderella_store_2208x1242_3.jpg

運命のシンデレラタイムで大幅なマッチング率を向上

  • 毎日1回19時〜24時の間だけ、無料でチャットルームがオープンします => 「時間」「タイミング」
  • その時間で会話したことは24時を過ぎると消えてなくなってしまいます => 「後押し」
  • シンデレラタイム中のみお互いのプロフィール画像は恋をするようにぼやけます

シンデレラタイム以外でも内面重視

cinderella_store_2208x1242_2.jpg

タイムラインでは顔写真は表示していません
  • このアプリではタイムラインでは顔写真を表示していません、そのかわりインスタ風の加工できる写真が上がるようにしています
    • 顔写真よりもその人の趣味嗜好やアップできる写真がどんなものかで、その人がわかるという狙いがあります
マッチングするとなぜかドキドキします
  • インストールするとドキドキが伝わる人には伝わります(伝わらなかったらごめんなさい)

そうこのアプリには、人が恋ができるための仕掛けがたくさんあります

  • もっと純粋に、中高生のころのドキドキするような恋をもう一度してみたいと思いませんか?? kokuhaku_schoolboy.png

大切にしたいこと

  • ユーザーと共に作れる新たなマッチングサービスとして運営できたらいいなと思ってます
  • 公式Twitterでは素早いレスポンスをしようと思っております https://twitter.com/CndrllApp
  • 出会い系とか今さら〜みたいな意見も来ると思うのですが、反発せず真摯に受け止めます

技術的な話

  • Qiitaなので技術的な話もしておきます

全体的な開発の進め方

  • 基本的には休日もくもく + 週4フリーランスなので週1でcommit
  • サーバーやアプリの一部は、機能実装をお願いしつつ未経験の人にはコードレビューしながら実装してもらうことで win winな関係に
  • 上級者の方にはこの技術一緒に使ってみようぜ的な感じで協力してもらう
  • デザインまわりでは小さなパーツをいろいろな人にお願いして作ってもらい集結させた感じになります

●サーバー側

- GCP
    - GKE/CloudSQL/Ingress
- AWS
    - S3/RDS/ElastickBeanstals/Lambda/ELB/Cloudfront/Route53

開発中の構成

  • 基本的にはk8s環境で開発していました
  • k8s - ingress - cloudSQLの構成で開発を進める
    • クラスタyml
  • CircleCIからデプロイ
    • .circle/config.ymlからdeployする
    • ついでに、migrationなども回す $ kubectl apply hogehoge.yml
  • migrationは、jobで回していました

本番構成

  • デプロイメントやRailsのマイグレーション、スケーリング、スパム対策、キャッシュなどの環境の構築のしやすさなど総合的な判断から、最終的にはAWSのElasticBeanstalkにしました(前職で経験してたので)
    • ebにしたのでは、少しおきにいってしまった感があるのですが、開発中はk8sを使ったことにより良い勉強になりました

サーバーの苦悩

  • 実装量が多い!
  • 資金決済法を勉強せねばならなかった
    • ポイントは内部では有償/無償とわけないと会計上不利になる
    • 有償が1000千万を超えるときには、サービスを止めるときは返金対応をしなくてはいけない
    • 常にレシートの記録などを残して置かなければならない
    • などなど

●アプリ側

- iOSネイティブで書いてます
- MVVM/Firebase/Realm/Lottie/RxSwift

アプリの苦悩

  • 実装量がさらに多い!
  • 年齢確認を必ずしないといけない
  • ユーザーによってステート管理が多い
    • 出会い系サービスの勉強会(#Matching_dev)では、FluxやReduxを使う例が多いようでした

●デザイン

- 私はデザインができないのでたくさんの人に協力してもらっています10人ぐらい
- 細かいアイコンの修正やトリミング、動画編集はできるようになりました!!アザス
- Illustrator/Photoshop/After Effects/Lottie

デザインの苦悩

  • 無理っ!
  • 頼む人によってデザインに個性があるので細かく指示を出すのが難しい
  • 自分で1から画面も作ってみたけど、やっぱりわからない

協力してくださった方々

  • 今回のこのプロジェクトは個人で回すにはあまりにも負担が大きく、とっても疲れました
    • デザイン/サーバー/インフラ/アプリ/テスト/アニメーター/法務

などたくさんの職種の人に相談させてもらい、乗り越えてきました。

特にサーバーサイドに関しては、
AWSの方から連絡をいただきまして、
個別相談という形で脆弱性対策や負荷分散、構成などアドバイスを頂けました。
すごいありがたかったです!!!!
フォームからも申し込めるみたいなので、サービス作っている方はぜひ
https://pages.awscloud.com/sales-consulting-seminar-jp

<追記: 2018/12/6>
無償導入支援
個別相談会と違いはあまりありませんが、こちらは私の担当してもらている
先進的かつ比較的中小規模の事業者様向けに特にフォーカスしたチームへ直接連絡がいくチャネルもあるそうです!ぜひ!

今後の展開について

  • 今年のクリぼっちはぜひ救って見せたいと思っております
  • 最初は単純に出会い系サービスを運用してみたいという気持ちから始まったので、1年間は運用をしてみたいと思います
  • DDoSとか本当にしないでくださいませ(攻撃してくるぐらいなら無料枠とかあげるのでメールください)
  • バグとか問題報告、アドバイスなどもありましたら、無料枠と交換するのでメールいただければ幸いでございます。
  • どうか、ぬるくでもあたたかくでもみまもっていただけるとうれしいです

まとめ

一般的なサービスを出すのと、マッチングサービスを出す労力の違いについて

  • 過去、普通のサービスを出している私にとっては3.6倍ほどきつかった印象です
  • ただ同時に、役所周りなど楽しかった部分もあるので終わってみればやってよかったなーと
    • 他人におすすめできるかという点では、89.7%やらないほうがいいと思います!!

どこからどこまでがマッチングサービスなのか

これ結構知らないと思いますが、出会い系マスターの私であれば答えられます
この4つの条件をすべて満たしてしまうと、出会い系サービスとして警察署に届け出をしないといけないです

マッチングサービスとしての条件

1. 面識のない異性との交際を希望する者(異性交際希望者)の求めに応じて、その者の異性交際に関する情報をインターネット上の電子掲示板に掲載するサービスを提供していること
2. 異性交際希望者の異性交際に関する情報を公衆が閲覧できるサービスであること
3. インターネット上の電子掲示板に掲載された情報を閲覧した異性交際希望者が、その情報を掲載した異性交際希望者と電子メール等を利用して相互に連絡することができるようにするサービスであること
4. 有償、無償を問わず、これらのサービスを反復継続して提供していること

もう少しわかりやすく言うと

1. 交際目的の人々が
2. お互いのプロフィールが閲覧可能で 
3. DM機能のある
4. 継続したサービス(無料でも)

をすべて満たしていれば出会い系サービスとして、警察署に届け出をださないと罰金です

結局今年はクリぼっちが救えるのか

image.png

参考文献

次回予定

  • 「無限に浮気できる動画配信アプリ」を作る

最後に

rectangle_large_type_2_16f3c7118afccf85c7baac3bcebfb64b.pngrectangle_large_type_2_1d8e5847e845492d608aee545f735bda.png

などを書いています。
Twitterはこちら
https://twitter.com/okamu_ro

  • 私はこれらのサービスで学んだことがあります
  • これら3つが揃うと人は恋ができドキドキするような体験を得られるのではないか
  • 今年のクリぼっちを救うぞ企画は!!
  • このサービスの概要
  • このシンデレラ系アプリが解決すること
  • そうこのアプリには、人が恋ができるための仕掛けがたくさんあります
  • 大切にしたいこと
  • 技術的な話
  • 協力してくださった方々
  • 今後の展開について
  • まとめ
  • 一般的なサービスを出すのと、マッチングサービスを出す労力の違いについて
  • 結局今年はクリぼっちが救えるのか
  • 参考文献
  • 次回予定
  • 最後に