【S2お茶会】キャッシュレスお小遣いアプリをつくった話(6/18)

s2お茶会
最近腰が痛くて仕方ありません。おまけに肩甲骨に痺れを感じます。症状をネットで検索すると頸椎症性神経根症というのがヒットしたのですが、そうなんでしょうか。どうすれば治るんですか…。

今回は弊社のある社員が「キャッシュレスお小遣いアプリをつくった話」をしました。

キャッシュレスお小遣いアプリをつくった話


子供がお手伝いをした時に、これまではシールやスタンプを与えるようにしていたのですが、それではさすがに釣れなくなってきました。
そろそろお金のことを勉強し始めた方がいいのかもしれないなーと思うところもあったので、現金を与えることにしたのですが、どうやって支給しようか色々考えました。今回はその話をしようと思います。

お小遣いの導入


お小遣いというと、月々いくらとか固定の金額(固定給)を与えることもあると思うのですが、何もやっていないのにお金がもらえるなんて虫が良すぎると思ったため我が家では歩合で与えることにしました。

お小遣いを得る手段としては、

  • 手伝い
    • 家事
    • 親の背中を踏む
  • テストの結果
    • 基本は満点のみ
  • 苦手なことを強いられたとき
    • 買い物に付き合う
    • 留守番

などなど。
うちの子は買い物に付き合うのも留守番するのも苦手なため、買い物に行くとなったら必然的にお小遣いが発生してしまうのが微妙なところではありますが、大体こんな感じです。良い行動をすればお小遣いがもらえるように設定しています。

親としては良い行動をたくさんとっていっぱい稼いでもらっていいのですが、そうすると小銭を常にストックしておかなければいけません。しかし今はもう圧倒的にキャッシュレスの時代です。

私の家でも夫婦ともにおサイフケータイやQRコード決済、それらが使えなければクレジットカードを使うといった感じでほぼ現金を使うことがありません。故に小銭が発生しない。そんなわけでお小遣いもキャッシュレスで与えることにしました。

キャッシュレスお小遣いアプリ


どういう方法かというと、ポイントカードを想像してもらえばいいと思います。ポイントカードを用意して、お手伝いするごとにそこにポイントを足していくイメージです。
追加要素として、独自のレートを親が決めておいて、それに則って引き出せるようにしています。「最近頑張ってお小遣い稼いでるな」となるとレート上げてみたり。多く発行されるものは価値が下がっていく。というのをリアルに体感できるようになっています。なので 1 ポイントが 1 円になるわけではありません。

スタンプ帳や通帳などで管理するのが一般的かなーとも考えたのですが、どちらもちょっとめんどくさそうに思えたのでアプリを作ることにしました。


要件
  • QR の読み取りによって入金・出金ができる
    • 親のQR決済を見ていたのでやってみたくなるかも
  • ローカルで完結
    • バックエンドを作るのさすがに面倒
  • iOS(iPod Touch 7th)


要件は以上です。
時間をかけずにサクッと作ってしまいたいということで、実装は Flutter で。
親は子供と同じアプリを自分のスマホで起動し、アプリ上で隠しコマンドを入力。するとポイント入力・送信のページに進むことができます。そこで金額とテキストを入力し、 ${amount}:${text} というフォーマットのQRコードを発行。子供が QR コードをスマホで読み取ると、それを記録しつつ残高を増減させる機能を作りました。
こうしてQR決済ごっこアプリが完成

こちらがデモです。





もらうのところを長押しすると、ポイント入力・送信画面が出てきます。OKするとQRコードが作成され、それを読み込むとポイントが追加されるという仕組みです。

問題点と解決方法


一年間これで運用してみたのですが、

  • スマホを常用していない子供にとってお小遣いをもらうためにスマホを準備するのが面倒
  • 親もQRを発行して子供に読み込ませる必要があるのでタイミングを合わせないといけない
  • お小遣いを使う機会が少なくて「お小遣いを貯めること」が手伝いをするモチベーションにつながらない

などの問題点が浮き彫りに。
これらを踏まえてVersion2を制作することにしました。

元々、子供にとって面白いかなと思ってQRコードを読み取るプロセスを挟んでいたのですが、問題点に挙げたようにこれが双方結構手間だったので親が操作するだけでポイントを付与できるよう変更。
さらに、お手伝いをしてお小遣いが発生することで、お金だけじゃなく別のモチベーションも追加することにしました。

Version2 実装


お金はかけたくなかったので、バックエンドはFirebase、データベースには Cloud Firestoreを、親の UI は Web で JS から Firestore に書き込むようにして、ホスティングも Firebase のホスティング無料枠を使うことにしました。これで全て無料で賄えます。

モチベーションについては、お手伝いする度にポイントと一緒に子供の好きなキャラクターをランダムでゲットしてコレクションできる仕組みを作ってみました。つまり、ポイントと同時にアプリ内でガチャが回せるような仕組みで射幸心を煽るわけです。

ポイント入力画面から詳細を入力して送信しておけば、子供がアプリを開いた時にキャラクター獲得の簡単なアニメーションが入り、ポイントがチャージされるようになっています。




コレクションしたキャラクターは一覧で見れるようにしてあって、それぞれタップすると、いつ何をやった時のポイントでゲットしたとかの詳細が確認できます。ちなみにですが、子供が好きなキャラクターはレア度を高めに設定してあるのでなかなかゲットできません。




実装するのにかかったのは6時間ぐらい。
キャラクターをゲットするのがうまくモチベーションになってくれたみたいで、単価の低い作業も頻繁にやるようになりました。というわけで次のバージョンを考えています。

Version2.1 へ


次回のアップデートではこの辺りに対応する予定です。

  • キャラの重複防止
  • 図鑑機能
  • PUSH通知
  • デザイン

1000種類ぐらいのキャラクターデータがあるのでまあかぶらないだろうと思って何もしていなかったのですが、これからのことを考えたら対処が必要だなあと思っています。また、コレクションも現在は獲得順に表示しているだけなのですが、キャラクターに番号をつけたり説明を入れてもっと図鑑っぽくしたり、また、ゲットしたものはハイライトで表示させたりしようかなと。
これができれば素敵なアプリに仕上がるんじゃないでしょうか。もう少し先の話になるかもしれませんが、後々はポイントを現金に変えられるような仕組みも入れられればと考え中です。


ということで、


[PR]あなたのご家庭専用に本システムをセットアップいたします

情報と画像をご用意いただければ色々とカスタマイズが可能です。
費用については予算に合わせてのご提案も可能ですので、気軽にご相談ください!