Qiitaでバズった10日間で無名エンジニアが体験した10の変化と裏話

この記事執筆のちょうど10日前、10月9日に自作のフレームワーク解説記事を投稿したところ、翌日の昼くらいから凄まじい勢いでシェアされました
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">TypeScript製として世界最速を実現したフルスタックフレームワーク「frourio」をQiitaで紹介しました<br>1日ちょっとで6,000View、130LGTMを獲得し、GitHubスターは30以上も増加🎉🎉🎉<br>ありがとうございます！<a href="https://t.co/LMXUCZhmmn">https://t.co/LMXUCZhmmn</a></p>&mdash; Solufa (@m_mitsuhide) <a href="https://twitter.com/m_mitsuhide/status/1314902706901774336?ref_src=twsrc%5Etfw">October 10, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

バズるためにやったことはほとんどなくて、普段誰も反応しないTwitterに1回投稿しておいただけでした
金曜の夕方くらいに投稿してやはり反応がなかったので今回も空振りか～と思っていたら土曜の昼から急にLGTMがたくさんついてTwitterでもシェアされるようになったのです

この記事では、どうやったらバズるかについては言及しません
再現性がなく今でも理由が不明なのです

この日本のどこかにいる、誰にも知られていないけどたった一人で世界を変えようとコードを書き続けている狂人へのエールとして書きました
有名企業のエンジニアや若い女性エンジニアのツイートは大したことない内容でも拡散されるのに、俺のOSSリリース情報には誰も見向きもしない！とか呪詛を吐きたくなる気持ちと向き合いつつもその努力が実を結ぶ日まで狂気を忘れないように・・・

10日という数字に合わせたくて少し無理した項目もありますが、記事1本でざっとこれくらいの変化がありました

1. 4日目で2万PVを突破
1. GitHubスターが196個アップ
1. 依存ライブラリのGitHubスターも18個アップ
1. 3日目にGitHubトレンド入り
1. Qiitaデイリートレンド1位、週間ユーザーランキング3位
1. Twitterフォロワーが純増50人
1. はてぶで400以上のユーザーがブックマーク
1. npmの週間DL数が400突破
1. 依存ライブラリの週間DL数が1,500突破
1. フレームワークのベンチマークがNode.js全体で世界最速を達成
1. 裏話：ここまで来るのに何年オープンソースを書き続けたのか

簡単に一つずつ解説していきます

## 4日目で2万PVを突破

9日金曜日に投稿して、13日火曜日の朝には2万PVを突破していました
10日経った今はこんな感じです
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/d3d6f1e2-3679-0716-d68d-063d251ac1ab.png)
過去の自分の記事のデータと見比べてもだいたいPV数の2%程度のLGTMが付くようです
ストックもたくさん通知が来ていたんですが、数字が表示されないので詳細不明・・・

## GitHubスターが196個アップ

投稿前は39個でした
これは6月にオンライン登壇したTypeScript Meetupの参加者が押してくれたのがほとんどです

それが今や235個！
![無題1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/a5f61ff3-d637-b9aa-d357-81c901f48847.png)
[frourio - Stargazers](https://github.com/frouriojs/frourio/stargazers)

快くスターを押してくれたみなさんありがとうございます！
他人のオープンソースでスターが200そこそこだと「これ使って大丈夫かな・・・？」と思ってしまうのが正直なところですが、自分事だとこれは人生の転換点なのでとてもワクワクしています

## 依存ライブラリのGitHubスターも18個アップ

frourioはサーバーフレームワークなんですが、フロント側で静的にHTTPリクエストを行うライブラリとしてaspidaを採用しています
![無題3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/9a91eaf8-4736-2717-7def-d90b46da204a.png)
[GitHub - aspida](https://github.com/aspida/aspida)

これは私がちょうど1年前に公開したオープンソースでfrourioはaspidaのアイディアをベースに作ったものなのです
aspidaこそがこのフレームワークの要だと気づいたエンジニア達のおかげで元々309だったのが327までスターが増えました
![無題4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/8df723e5-82f6-0b9a-f0f8-fc6ce469ed23.png)

元々300個も集められたのはウェブ系のイベントに登壇して宣伝したおかげだったのでコロナ以降は話題に上がることも少なく、1個も押されない日々が続いていたのです
そんなaspidaがいきなり18個も増えたのにはただただ驚きました

## 3日目にGitHubトレンド入り

Qiitaを読んでいるのは当然ほぼ日本人だけなんですが、3日目にロシア・中国・ヨーロッパあたりのエンジニアがスターを押してくれるようになりました
海外でピックアップされたのかと思ったけど全く検索に引っかからず

さらに2日後くらいに、GitHubトレンドに掲載されていたことが理由だったと知りました
![無題5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/47402cdb-5169-61ab-ddbd-f61a4fc88521.png)
[GitHub Trending Archive](https://github.motakasoft.com/trending/?d=2020-10-13&l=typescript)

## Qiitaデイリートレンド1位、週間ユーザーランキング3位

これは特に解説することもなく、見たままです
週間ユーザーランキングのスクショは撮り忘れました
![qiita1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/c825464b-7baf-1156-58fd-e91bd7030a0c.png)

## Twitterフォロワーが純増50人

ピッタリ500人だったのが、550人に増えました
相互フォローとかはしてないので純増50人です
たった50と思うかもしれませんが、私にとっては10%増は大事件なんです・・・！
![無題6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/2da32efe-d75a-dab0-a479-083301e80a64.png)

良かったらフォローしてやってください
[Twitter - Solufa](https://twitter.com/m_mitsuhide)

## はてぶで400以上のユーザーがブックマーク

このスクショは5日目くらいに撮影したものです
Qiita記事だけでなくGitHubリポジトリの方もブックマークされてました
![hatena.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/41d8475c-b549-c9c7-bae7-143ffb9ca04e.png)

## npmの週間DL数が400突破

公開直後にちょっと伸びて以降はずっと低調だったけど明らかにグラフが上向きになりました
今週ちょっと減ってますが波があるのは当然なので今後に期待です
![無題8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/304b2a3a-47a1-5498-8d10-a1939d29ba9b.png)

## 依存ライブラリの週間DL数が1,500突破

先月のシルバーウィークあたりでaspidaのDL数がガクッと半分くらいまで落ちていました
frourioのDL増加のおかげで依存ライブラリであるaspidaも順調に数字を伸ばしています
![無題9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/cae8acb6-8e00-4f52-c987-6c69d4114a41.png)

## フレームワークのベンチマークがNode.js全体で世界最速を達成

記事がバズったことと関係ないように見えるかもしれませんが、これがなければ達成はまだ先だったでしょう
現時点でこんなにニーズがあることに驚き、とにかくNode.jsフレームワークで2位という中途半端なポジションから脱却しようと最適化を始めたのです

関数の呼び出しタイミングを変えたり、無意味に生成していたオブジェクトを消したりして見事Node.js最速のベンチマークを達成

| Framework           | Version          | Requests/sec  | Latency   |
| :------------------ | :--------------- | ------------: | --------: |
| **frourio**         | **0.17.2**       | **58,654**    | **1.62**  |
| fastify             | 3.6.0	           | 57,867	       | 1.64      |
| nest-fastify        | 7.4.4            | 51,190        | 1.87      |
| express             | 4.17.1	         | 10,899        | 9.04      |
| nest                | 7.4.4            | 9,587         | 10.31     |

出典：https://github.com/frouriojs/benchmarks

リンク先を見るとpolkadotというのがトップなんですが、フレームワークと呼ぶには機能が少なすぎるのでノーカウントにしています
それでもCIを回していると4回に1回くらいはfrourioがpolkadot以上のスコアを叩き出しています

とはいえベンチマークで良い結果を出すためだけの最適化をしたわけではなく大規模サービスでもオーバーヘッドが少なくなるように設計しています
人が書く以上は避けるのが難しいルーティングの無駄を、frourioは型情報を使ってコンパイル時点で最適化するのでドキュメント通りに使ってくれれば常に高速です

## 裏話：ここまで来るのに何年オープンソースを書き続けたのか

私の場合は8年近くかかってます
最近よく聞く「未経験から3か月で即戦力！」みたいな話とは全く縁のない人生でした

最初に作ったオープンソースはjQuery+Three.jsなラッパーライブラリの「jThree」です
Gigazineに掲載されたので当時触ってくれていた人もいるかもしれません
![jthree_gigazine.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/5388f7e6-4733-06b1-63f1-c981b143680c.jpeg)
[MMDモデルを3DCGでウェブ上に公開し閲覧者がアングルを動かしまくれるJavaScriptライブラリ「jThree」](https://gigazine.net/news/20140318-jthree/)

この時点でプログラミング歴1年半くらいでした
話題にはなったんですが、GitHubなんて知らずレンタルサーバーにZIPをアップロードして配布していたのです
![s01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/57825cd5-f3c8-818d-5fa6-eb34c41d3acc.png)
（オレンジのボタンでソースコードとサンプル一式DL出来たけど、今はサイト自体無い）

ドキュメントは無いけどjQueryベースなんだからコードを見れば伝わるだろう！というストロングスタイルです
当然ながら私以外にjThreeを使うエンジニアはほとんど現れませんでした

しかし、当時東京理科大でプログラミングをしていた学生達がプロジェクトを引き継いでくれました
IPAの未踏プロジェクトに応募したタイミングで名前が変わり、Grimoire.jsとしてサイトも生きています
（私はこの時点ですでにjThreeのコードを書いていなかったうえに、年齢制限で未踏には不参加）
![無題2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/c7f1a397-b83d-9cfe-6781-49175837208d.png)
http://grimoire.gl/

これも結局3年前から更新が止まっているのですが、学生メンバーはみなガチの超一流IT企業に新卒入社しており私だけが結果を出せずに終わりました
（起業していたものの、売り上げはなかったので実質無職・・・）

東京オリンピックの初期のロゴが盗作疑惑で燃えていたころ、「英数字全てのパターンがある」という報道を見てひらめきました
![olympic-sano03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/0e6078a5-087e-ff7d-8f38-267ce9337fb6.jpeg)

好きな英文をCamvas上でこのロゴに変換してPNG画像としてDL出来るジェネレーターを報道から24時間以内に公開したのです
![001_m.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/7842ef82-4db6-8612-c2b6-4538b188c9bb.png)
[2020年東京五輪の公式ロゴっぽいフォントでロゴ画像を作れる「TOKYO2020 Generator」](https://gigazine.net/news/20150807-tokyo2020-generator/)

このサイトももうないのですが、大勢の方が画像を生成して遊んでくれました
ただ、画像の右側にVR特有の樽型があることからわかるようにホントはWebVRコンテンツプラットフォームだったのです
HTML5アプリならなんでも投稿できるのでジェネレーターを公開したわけですが狙いのVR投稿は伸びず借金を増やす一方でした

段ボール製のスマホVRが流行っていた時期だったのでちまちまとWebVRコンテンツ制作を受託していたところ、今度はたまたま芸能事務所で聞いた話から視点を変えてもアーティストにフォーカスし続ける自由視点映像のアイディアがひらめきました
受託を止めて新たに借金を増やし、たった一人で1年半の研究開発を経てカメラ100台分以上の映像をVue.js製のプレーヤーとスマホの4G回線で視聴できる方法を発明
この時点で私個人の借金額は4桁万円を軽く超えていたので毎日綱渡りのような生活でした

知り合った経営者にCEOになってもらい、私はCTOとして新たに自由視点映像のベンチャーを立ち上げたのですが変わっていく社内文化についていけず退職しました
その時に残してきた技術は国際特許となり、サッカーの長友選手などの出資を集めるまでに成長しています
![Capture-1-640x441.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/147a61c9-4660-4e16-e1ec-eb95f632fb0f.jpeg)
[映像視点の民主化を目指す「SwipeVideo」、長友佑都氏らが支援](https://thebridge.jp/2020/07/swipevideo-pre-series-a)

現在はこれまでの労力に見合う水準の恵まれた日々を過ごせていますが、詳細はいずれ別の媒体で記事になると思うのでその時にまた読んでください

あなたにコードで世界を変える力があると信じ続けてくれるのは自分だけです
どうか腐らず、静かに狂い続けて今まで見向きもしなかった連中にアッと言わせるその日までコードを書き続けてください

この記事に少しでも共感できる部分があったら、スターを押していってくれると嬉しいです

![無題7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63528/971ba440-d41a-2203-5426-2a49f656544c.png)
[GitHub - frourio](https://github.com/frouriojs/frourio)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">TypeScript製として世界最速を実現したフルスタックフレームワーク「frourio」をQiitaで紹介しました<br>1日ちょっとで6,000View、130LGTMを獲得し、GitHubスターは30以上も増加🎉🎉🎉<br>ありがとうございます！<a href="https://t.co/LMXUCZhmmn">https://t.co/LMXUCZhmmn</a></p>&mdash; Solufa (@m_mitsuhide) <a href="https://twitter.com/m_mitsuhide/status/1314902706901774336?ref_src=twsrc%5Etfw">October 10, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>