Figmaプラグインが探しにくいのでランキングサイトを作りました
成果物?はこちら(https://pexr.net)です。(2021/12/29にgithubpageからちゃんとドメインを取って変更しました。)
きっかけ
前回の記事でPluginを作ったというのを記載しました。
その時、エンジニアらしく車輪の再発明は嫌なので「同じようなPluginがあるのか?を探そう!」と思ったのですが…その際「検索が超絶にやりにくいなぁ」と思ってました。
見てもらえば分かると思うのですが、このページでLast updatedかInstallsでソートできるんですけど
Install順だとどこかのサイトに書いてあるような定番ばかりが並ぶ
Last updatedも定番のPluginが更新されるとそれが上がってくる
アプデされるとFigmaのクライアントではauto updateになってるので結局Install順の上位に来る
Install順のソートを逆にすると1-2Installのを大量に見ないといけない
完全新規作成のリストを見ることができない
ヒントになりそうなタグの情報が詳細に行かないと見れない
こんな感じで自分の検索語彙力以外のプラグインに巡り合う機会損失が半端ないなぁと。
というかUI/UXを作るツールなのに、そこのUI/UXがダメってどういうことよ?ってツッコミが…
で、いつもの通り「文句グチグチ言う前になければ作ればいい」って話なので作りましたっていう感じです。
まぁ、実はもう1個プラグインを5分ぐらいで作ったら、publishできないAPI使ってしまいお蔵入りになりムシャクシャしたのもあります。
ランキングの仕組み
まぁ、「っぽい」言葉を使うのであれば「アルゴリズム」って言うんでしょうけど。
まず、どこかのサイトや記事に載っていそうな定番Pluginを除外すること(フィルタリング)から始めます。
とりあえず、こんな感じにしました。
めんどうだったこと
「タグ情報が大元のランキングjsonデータから取れなかったこと」
これにつきます。
まぁ、ドメインとったりサーバー構築するのが面倒でgithubpagesの静的ページにするのも面倒っちゃー面倒でしたけども…(ある意味なんちゃってJAMStack的)
この記事もそうだけど一応質問ページとかも用意したり、favicon用意したり、もっと言えばhtml書くのも面倒だったり…
思い始めたのが12月3日で面談weekと重なったり、色々アレな時期だったんですけど、そういう時こそ休み時間を使って何かを作ろうっていう感じで矛盾した気持ちがあるのは昔からです。
あ、sqliteの仕様が自分がやってた時と変わっていてRANK関数が搭載されたの知らずにサブクエリ でやってしまったとか、細かいこと言い出したらキリがないんですけどね。
自分用に裏でやったこと
毎週、完全新作のPlugin情報をSlackに通知するbot
前週よりかなりランキングアップしたPluginを通知するbot
タグ情報の解析
Jetsonにアイコンの画像データ食わせて色々統計見たり…
まぁ、この辺はトレンドを効率的に追うとかIT業界にいるものがR&Dとして行う上で、最低限必要なものなので誰でも思いつくっちゃー思いつくんで特筆すべきものじゃないんで「だよな」って感じだと思います。
やらなかったこと
RSS
アプリの説明文をDeepL通して翻訳する
API化
スマホ対応(2021/12/29暫定対応)
ドメイン取ってちゃんとサーバー運用する(2021/12/29対応)
レジェンドランキング(2021/12/29対応)
この辺もスピード優先したので会社の休み時間にでもちょいちょいやればいいかなと。
まぁ、やろうと思ったら毎週プラグインランキングをNoteに自動で投稿とかできるんですけど、個人的にそういうの好きじゃないのでやりません。
まとめ
作業時間にするとトータル12時間かかってない感じなんですけど、こういうのはホイホイって作らないとお蔵入りになっちゃう飽き性なので、いつもの通り思いついてドンって感じで作りました。
UIとか色々至らない点が多々ありますけども、こういうベタベタのサービスを作ることでscssとかsqliteとか基礎を教えるばかりで実務的なことを長いこと触ってなかったリハビリとしてもよい機会になりました。(これが実務的か?と言われると怪しいですけども…)
尚、会社の納会のクイズ大会で臨時収入をいただくことになったのでドメインとってちゃんとやろうかなぁと思ってます。2021/12/24にドメイン取って29日に移行しました。
サポートしていただいたら娘・息子に何かプレゼントしようと思います! 多分、ミルクorトミカになると思います。 面倒な方は、LINEスタンプを購入していただいても大丈夫です。 https://store.line.me/stickershop/author/261022/ja