ほぼノンプログラミング&完全無料でWebサービスを作ってみた


この記事は個人開発者 Advent Calendar 2016の6日目の記事です。
趣味で作った(ほぼ)ノンプログラミングWebサービス「ブンゴウメール」を紹介します。

ブンゴウメールとは?

ブンゴウメールは、青空文庫の5~10分くらいで読める短編作品をだいたい毎朝メールで送ってくれる、忙しい人にぴったりの読書サービスです。

ユーザー的にはメアド登録すると毎日メールが届くっていうだけなので、ただのメルマガと言ってしまえばただのメルマガ。

  • しかしメルマガの手動運用は続かなくなることが目に見えていたので、裏側の仕組みを極力自動化したい
  • あと作ったサービスのメンテナンスもたぶんできない(飽きっぽい)ので、極力コードやサーバーのメンテをせずにすむようにしたい
  • さらにいうと、趣味サービスなのでもちろん完全無料で運用したい

ということを考えた結果、ピタゴラスイッチみたいなサービス構成になった事例です。

構成

処理の流れ

  • Admin(わたしです)が青空文庫のサイトを訪問し、いい感じの短編があったらそのページでChrome拡張の「Evernote WebClipper」をポチる
  • ポチったページの内容はEvernoteで専用ノートに保存される
  • Evernoteで専用ノートにメモが追加されると、Zapierのタスクが起動して内容をスプレッドシートに転記する
  • スプレッドシートに行が追加されると、GoogleAppScriptが起動してその内容をMailChimpBeamerの専用アドレスにメールする
  • MailChimpBeamerがメールを受信すると、メルマガを下書きの状態で作成して、管理者のアドレスに確認メールを投げる
  • 確認メールが届くとZapierのタスクが起動し、自動で「send!」と返信する
  • 「send!」メールを受け取ると、Mailchimpが配信リストに登録されている人たちにメールを配信する

GoogleAppScript使ってる時点でノンプログラミングじゃねーだろという。。
言い訳すると、ここもZapierでできなくはないけど、無料枠を超えないように自粛しているのです(小声)。

お世話になったサービス

Zapier

Webサービス同士を連携させるサービス。
この分野だとIFTTTが有名ですが、Zapierのほうが細かくタスクを設定できて、痒いところに手が届きます。

MailChimp

いけてるメール配信サービス。
今回特にお世話になったのは、「埋め込みフォーム」と「Mailchimp Beamer」の機能。

「埋め込みフォーム」は、静的なHTMLにコードをコピペするだけでメアド登録フォームができちゃうので、本体のサイトはペライチで作ってGithubPageに置くだけでOK。

「Mailchimp Beamer」は、発行される専用のメールアドレスにメールを送ると、その内容でメール配信を下書き状態で準備してくれるという便利なやつ。
さらに準備ができると確認メールが届き、そのメールに「send」って返信すると配信までやってくれるのが超便利。

こだわりポイント

  • メールの送信者名に作家の名前をセットしてるので、受信箱に文豪の名前が並んでたのしい感じになる
  • 作品の文字数からざっくり計算した読了時間をメールの最初に表示してくれる

もうひとがんばりなところ

  • 最初のトリガーとして、自分で青空文庫を巡回してクリップしないといけないので、結局ここがボトルネックになって弾切れしがち。やはりクローラーで短編ストックしておくしかないかも。
  • 「send」って自動返信するためだけにzapier使ってるのがもったいない。Gmailの機能でうまいことやりたかったけど、「フィルタ+返信定型文」がなぜか発火せず。FromとReplyToが別だとだめなのか。。

まとめ

というわけで実際に毎日短編を読んでみると、10分くらいの分量でもメールでは相当な長文に見えて、けっこう読む気が失せることがわかりました。むずかしい。