匿名応援サービス「ClapBox」をリリースしました

個人でWebサービス開発をしていますHid3(ひで)です。
今回10個目くらいとなる個人サービス、「ClapBox」をリリースしました。

概要

1.ツイッターアカウントで登録・ログイン

2.あなたのページURLをツイッターなどにシェアします。

3.誰かがあなたのページに訪れてClapボタンをタップしてくれる

4.Clap数をグラフで確認できる!嬉しい!がんばれる!

技術

(図なし)
・Route53
・CloudFront
・APIGateway
・S3
・Lambda
・DynamoDB
・Nuxt.js
・Flask

フロントはNuxt(universalモード)をLambdaに乗っけてサーバーサイドレンダリングをしています。
バックはFlaskをLambdaに乗っけています。
APIGatewayを2つ作成し、それぞれのLambdaにつなげています。

CloudFrontでパスの振り分けを行っています。
画像パスはS3へ
APIパスはFlaskのLambdaのAPIGatewayへ
それ以外はNuxtのLambdaのAPIGatewayへ

開発期間

だいたい145時間。
3ヶ月くらいでした。

つらかった点

・新しい技術に出を出しすぎた。
今まで開発はDjangoで行っていました。
今回手を出したものはすべてやったことのないもの。
Vue(Nuxt), Flask, DynamoDBなどなど。
触ったことのない技術に手を出すと、開発スピードが落ちます。
開発スピードが落ちると、モチベーションも下がってきて大変でした。
新しくさわる技術はなるべく少なく。1個とか。にしたほうがいいと思いました。

・モチベーション維持
上にも書きましたが、とにかく個人開発はいかに短期間でリリースするかが重要で、日々下がっていくモチベとの戦いな気がします。
日々の開発の進むスピードが遅く、自分は何もできていない、何も生産できていない…と思って大変でした。
そこで、開発記録をTwitterやブログに書くことにしました。
そうすることでなにかしらの進捗を生めている、生産できていると思えて少し楽になりました。
(けど、終盤は開発記録のブログを書くのすら億劫になってあんまり更新していません………。)

良かった点

・機能を最低限にしてリリースすることができた
これも巷ではよく聞きますが、リリース時点で実装しようとしている機能すべてを完了している必要はない。
そのサービスを成り立たせる上で必要最低限の機能がそろっていればいい。
ClapBoxでいうと必要最低限の機能は
1.Twitterアカウントでの登録・ログイン機能
2.ClapボタンをタップしてClapを送ることができる
3.もらったClapの数を確認できる
の3つだと思いました。

プロフィール画像登録しようとすると、S3へ画像アップだったり工数がかかりそうな気がしたので保留。
メッセージ機能も返信時にOGP画像を生成したり、受け取るメッセージのフィルタリングとかつけようとすると工数かかるので保留。

また当初はClap数だけでなく訪れたユーザー数も記録してグラフで表示しようとしていました。
それも作っている上で、絶対に必要とは言い切れなかったので途中で実装を保留にしました。

そんな感じで必要最低限だけでリリースできたのが良かったです。

しばらくは実装・改善を行っていくのでよかったら使ってみてください。
ClapBox

Web開発
スポンサーリンク
hid3をフォローする
踊りながらWebサービスを個人開発している人のブログ
タイトルとURLをコピーしました