アイディアもらって約1時間で形にした話

迷い家の白猫のシロです。

最近、東方のサブスクをランダム選曲できるWebアプリを作りました。 今日は、どういうキッカケでどう作ったのか紹介しようと思います。

キッカケ

キッカケは、フォロワーさんのつぶやきからでした。

そのつぶやきを見つけて、Apple Musicの東方楽曲を1万7000曲以上は調査済みだったので、 これならすぐできそうって思い作り始めました。

実装開始

はじめは、やること自体はシンプルだから、 未経験の Gatsby.js + Vercel で行こうと思いました。

30分くらい触って諦めました...

次は慣れてるRubyにしました。Sinatra + Heroku に切り替えました。 仮実装してみて、すぐに動作することが確認できました。

実装内容

  • app.rb
require 'sinatra'

SONGS = [
  {
    "title": "曲名",
    "collection_name": "アルバム名",
    "url": "Apple Musicの東方楽曲のトラックURL"
  }
].freeze

get '/' do
  song = SONGS.sample
  logger.info song
  redirect song[:url]
end
  • SONGSは、Apple Musicの東方楽曲の配列です。
  • song = SONGS.samplesampleは、配列の中から1つランダムで選ぶメソッドです。
  • logger.info songは、選んだ楽曲の確認用のログ出力です。実際必要なのは、urlだけだけど、確認のために曲名とアルバム名も配列に含めています。
  • redirect song[:url]が選んだ楽曲のApple MusicのURLにリダイレクトさせます。

RubySinatraを使えば、こんな簡単に作ることができます! あとは、1万7000曲以上の東方楽曲の配列を準備して、 ローカル環境で、動作確認してからGithubにpushして、Herokuにデプロイしました!

するとエラー...

  • Procfile
web: bundle exec ruby app.rb -p $PORT

HerokuでSinatraを動かす時の必要なファイルを忘れてました...追加してデプロイで完成しました!

完成!

アイディアを貰ってから1時間15分でできました。

はじめからSinatraで作ってれば、30分くらいで出来てたと思います。

その後に、独自ドメインを設定しました。 今年の元日にtouhou-search.comというドメインを買ったので、そのドメインを早速使ってrandom.touhou-search.comとしました。

YouTube Music対応

自分が作ったApple Musicのスプレッドシートをもとに、フォロワーさんがYouTube Musicの東方楽曲の配信リストを公開してくれました!

その情報を早速、使用させてもらいYouTube Music対応を行いました。

こんな時に使って欲しい!

  • 作業BGMが欲しい時!
  • なんでも良いから東方アレンジが聴きたくなった時!
  • 新しい東方アレンジに出会いたい時!

アクセスするだけで、ランダムで選曲してくれるので簡単に使えるようになっています。

身近に東方アレンジに触れれてもらえれば嬉しいです。

東方我楽多叢叢誌に掲載される!

ありがたいことに、東方我楽多叢叢誌のニュースとして取り上げていただけました🙏

東方アレンジ発掘に最適?サブスク配信曲をランダム選曲してくれるWebアプリ

touhougarakuta.com

ソースコード

こちらが今回実装した、サブスクの東方楽曲をランダムで選曲してくれるWebアプリのソースコードです。

github.com

おわりに

すごい良いアイディアですぐに形にできそうだったので、ほぼ勢いだけでWebアプリを作りましたw

楽しかったです😆

今回1時間くらいで出来たのも事前に1万7000曲以上の東方楽曲の情報を持っていたからできました。

東方編曲録東方カラオケ検索のWebアプリを作っていた経験も活きたと思います。

日々の積み重ねの経験で作れたのかなと思います。