tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

2023振り返って

2022振り返って - tekitoumemo’s diary

 

会社員

育休を3ヶ月半取った。育休中もめっちゃ開発やってたので復帰するときに違和感はなかったのは良かった。復帰後にお世話になってた上司が辞めてしまったので残念だったが今んとこ前向きに進められている。淡々となにも求めずに仕事をやるスタンスでいきたい

 

副業
Playwright

個人事業主のPR用のSNS運用を請け負ってるのだが、Playwrightを用いて運用している。また、olcarのTwitterアカウントもChatGPTと合わせて運用しているのでほとんど手が掛からなくなった。e2eはこれ一択。今年1番感動した技術

 

PlanetScale

Cloud SQLが耐えられなくなったタイミングで移行した。どちらかと言うとコストの関係で移行したが開発体験が良すぎたので最初から使っていれば良かった。設計ミスで29ドルのプランで爆発してしまったがチューニングした結果改善した。クエリのコストが見やすいのでチューニング体験が良いのも⭕️

 

olcar

行政書士さんと組んで「お任せ代行サービス」をはじめた。一言で言うと個人売買で納車までの手続きをサポートするという内容。車屋で買うと料金に含まれるので普通の人は意識しないところだが、実際はマージンが取られているのでうちより割高になる。初心者には厳しいが個人売買という性質上、ある程度知識やある人向けのサービスとなる。課題は山積みだが、使ってくれたお客さんは喜んでくれたし売り手買い手どちらにも需要があるサービスであることがわかった。この手のサービスはいまいち伝わりづらいのでどうやってユーザーに繋がるのか課題がある。

 

 

みんなの洋楽ランキングを閉鎖した

5年運用したみんなの洋楽ランキングを閉鎖した。流入も2万PV程度だったので少しもったいない気もしたが今後のビジョンが見込めない点とolcarに注力すべく閉鎖した。勢いで3ヶ月ぐらいで作ったサービスだが、思った以上に長く続いた。

 

olcarの流入が減った

月3万PV、4000ユーザーと年始と比べ1/3程減ってしまった。要因としてはTwitter APIの有償化、アカウントのシャドウバンが影響してTwitterアカウントが3ヶ月機能しなかった。ただ、思いのほかSEOが機能して6割の流入になってきたのでユーザー層が変わったと言う点では良かったかもしれない。あとはスレッズ運用もはじめたので流入がどうなるか検証中。

 

Nuxt3に上げられなかった

今年のミッションとして掲げてたがTwitter APIの有償化に伴う対応、DBが耐えられなったのて移行したりなどやれる暇がなかった。来年こそは上げたいのでとりあえずはNuxtの知見をぶっこむことから始める。

 

マネタイズがうまくいかない

olcarで始めたアドセンス以外のマネタイズは平均して月2000円程度の収益しか上げられなかった。単純に需要がないことに対してマネタイズを行なっていることが原因な気がする。あとは数が少なかったので来年は思いつく限りマネタイズ化できるものは始めていく。olcarとは別で個人で受注しているが注力したくないため、依頼があったら対応するという形をとっていく。受託はそこそこの金額を受けないとやらない方が良いというのが今年の経験としてわかった。

 

総括

プライベートに関しては二人目も生まれたこともあり充実していた。副業面でいうと、DBの移行やチューニング、TwitterAPI廃止対応など対応せざる得ないものばかりだったため進展がなかった。ただ、DB周りやX等のSNS運用などコストが掛かっていた部分が解消されたため来年は改善に注力できそう。来年はマネタイズになることを注力していきたい。というか思いつくことを全部やっていかないと歳とってきたのでなにも残らなくなりそうという危機感が募った一年だった

 

FluentMigratorからgooseに移行した

olcarのマイグレーションをFluentMigratorからgooseに移行した。

 

経緯

 

Dapperを使っていることからEF Coreのマイグレーションだけを利用するということが嫌だったので.NET用のマイグレーションFluentMigratorを使っていた。クエリビルダーなどC#との親和性が高く使いやすかった。

 

問題

 

PlanetScaleに移行した際にFluentMigratorが動かなくなった。元々MySQL5までのサポートしかしてなかったのでかろうじて動いてたという感じだったがPlanetScaleのMySQLのバージョンに対応しなくなってしまった。開発も2年前で止まっているし、もう捨てても良いかなという判断にした。

 

選定

 

選定基準としてC#と親和性のあるものを探していた。

 

- EF Core

MS謹製のORマッパー。全部入り。機能モリモリ。

 

- DbUp

.NETでは人気っぽい。今も開発はされており、MySQLもサポートしてる。SQLビルダーはなさそう?ドキュメントが読みづらいし使いづらそう

 

という感じで自分の求める条件に一致するのがEF Coreのみ。大人数で開発するのであればEF Coreという選択肢もありだが、マイグレーションだけ使うのも微妙だし、そもそも使いづらそう。ということでC#のライブラリは選定対象から外した。

 

結論

GO製のマイグレーション、gooseにした。選定理由はめちゃくちゃシンプル、人気だから。Go製のマイグレーションは使いやすいものが多い印象。GoもORマッパーが微妙らしいのでこのようなライブラリが多いのかもしれないけど。

 

 

おわりに

 

.NETのORマッパー周りはかなり酷いと思う。.NETの後方互換性は最強クラスだけど他が弱すぎるから勧められない言語の一つ

育休中にやったこと(技術)

第二子が生まれ、出産から3ヶ月育休を取った。

3ヶ月のうち1.5ヶ月はある程度余裕もできたのでやった技術的なことを書く

サイクル

1日交代で日勤、夜勤みたいな感じで子守をした。日勤の場合は娘を保育園に送ったあとの8時〜12時、夜勤は22〜2時に赤ちゃんの子守をするサイクルが出来たのでその間にいろいろやった

Playwright

playwright.dev

これがまっっっっっっっっっっじで神がかってた。TwitterAPIが死んで途方に暮れてたところにこいつで有料で使えなくなったAPIの代わりができた(本来と違う使い方)。当初はCypressで検証したのだが以下の点においてはるかにCypressよりよかった

・コード生成(codegen
・マルチオリジン
・認証状態を保持する(Preserve authenticated state)
GitHub Actionsのテンプレ

コード生成、マルチオリジンに関してはCypressじゃ厳しいし、認証状態を保持するのはマジで神。これをGitHub Actionsで気軽に実施出来ちゃうからやりたいことがyarn create playwrightに全て詰まってて最高だった。codegenはそのまま使えるわけじゃないけど、dom見て解析するのは地味に辛く、簡単にサポートしてくれるだけでもめちゃ助かる。

PlanetScale

PlanetScale: The world’s most advanced database platform — PlanetScale

MySQLのサーバーレスプラットフォーム。Cloud SQLが高すぎてアイオワ州の共有コアを使ってたがレコードが100万近くなり頻繁に爆発するようになった。改善するにしても東京リージョンの専用コアで一番安いやつが65ドルぐらいするしGCPがCloud SQLを見捨ててる感もあり何も変わらなそうな感じだった。それに比べてPlanetScaleダウンタイムのなしのスキーママイグレーションgithubっぽいブランチ機能が備えているので本番DBへの直接スキーマ変更はDeploy Requestで実施するし差分がわかりやすい。しかも無料枠がかなり多いので駆け出しでサービス作るにはかなり使える。olcarは1日で1億回readが走るので無料枠では使えなかったが29ドルと比較的リーズナブルで助かっている(無制限にしても39ドルから始められる)。ちなみにPlanetScaleが指す1read,writeはレコード数ではないので単純に見積もるのはむずかしそう。ちなみにちなみにマイグレーションで使うテーブル(railsだとschema_migrations)はブランチ切ってもデータを残すことが可能なので今まで通り使える。RDBは太古の技術みたいな扱われ方してるのでCCP、AWS、Azureの3大クラウドでもろくなもんがないがRDBにおける死ぬほど辛い課題が解決されてて個人的には革新的だった。まじでMySQL採用してよかったわ、当時はpostgreと迷ってた

ChatGPT API

あのChatGPTがそのままAPIになっただけ。1000トークンあたり0.002ドルとよくわかんない金額設定だが、日本語だと100〜300文字程度な気がする。1日30回程度使ってるが0.02ドルぐらいでほぼタダみたいなもん。質問が長いと一気に跳ね上がるが、そこまで怯えなくてもよさそう。あと制限掛けられるので超えたらAPIが使えなくなるだけになる。最大120ドルまでの制限もかけられてるからわりかし安心。

sitemapindex

別に新しい技術じゃないけど、サイトマップって5万までだったんだね...知らなかったよ...。@nuxtjs/sitemapちゃんと対応しててえらい

もともと自分は技術が大好き!というわけじゃないので別に新しい技術じゃなくても良いんだが、楽なやり方を追求すると新しい技術が答えを出してくれる感じがテクノロジーの進化を感じられてエモい

こうやってみると育児休暇といいつつかなり充実しているように思えるが、出産後1ヶ月は全くコミット履歴がなく1ミリもPC触れる余裕がなかった(というか睡眠不足すぎて死にそう)なので育児休暇を取る人は1ヶ月だと体ぶっ壊すから最低2ヶ月は取った方が良いよと偉そうに助言したい

みんなの洋楽ランキングを閉鎖した

突然だがみんなの洋楽ランキングを閉鎖した。つい最近まで継続する方向で考えていたが、惰性で続けていくことに疑問を感じ、SSL証明書の期限と同時に閉鎖した。

 

 

閉鎖する理由

•収益率が下がってきた

アクセス数減によって月500円〜1000円の出費が嵩むようになった。月3万PVぐらいないとトントンにならないのだが、最近は割ってきたので赤字を掘っている状態↓。ちゃんと記事を書けば直帰率も下がるのでPVも増えていくが、運用していくモチベーションがない。惰性+赤字は地味にメンタル的に悪く、常に気にしていくことにストレスがあった

f:id:tekitoumemo:20230525103027j:image

 

•洋楽のwebサイトは伸びない

2018年当初は「洋楽ランキング」でSEO1位になると50万近いPVを見込めたのだが今や1万程度になった。要因としてランキングを楽しむコンテンツはspotifytiktokyoutubeにシフトしたことが大きい。同時にビルボードの軸となる売上、ラジオ再生回数の割合がストリーミング等のよって減ってきたため、無名なアーティストがビルボードに浮上するようになりビルボードの権威が落ちてきた※1。さらに政治的な操作※2があったりと信用が薄れ、それだったらSpotifyとかのランキングの方が良いよねという傾向になっている。つまりwebやテレビで洋楽情報を入れる時代ではなくなってきている。

 

※1 BTSが飛躍したことやDrakeのTOP10独占するなどランキングが操作可能になったことで信用が薄れてきた

 

※2 黒人をカントリーチャートに入れないことや問題のあるアーティストを一位にさせないなど数字とは関係ないところで操作していることが問題となっている

 

最後に

つい1ヶ月前まで継続しようかと思ってたが、アクセス数を確認して伸びが見込めないと思ったので急遽閉鎖を決めた。今後、WEBで音楽を楽しむことは少ないだろうし、やれることがなくなってきた。私生活も忙しくなり、フォローできなくなりつつあることタイミングでの閉鎖でよかったと思う。当初は自分のポートフォリオとしてアピールできるものになれば良いやという感じで作ったが5年も継続し、微々たるものだが黒字化出来てよかった。

 

とはいえ、月1万MAUは大きい数なのでmeta refreshを使って最後の最後まで搾り取っていく(笑)👇

 

 

 

olcar作って一年経った

 

実績

PV/MAU 50000〜80000/10000

Twitterフォロワー 1590

tiktokフォロワー 1590

youtube登録者 410

売上(月) 2000〜4000

維持費(月) 1500〜5000

 

総評

フォロワーは購入してないので純粋な増加。それなりの知名度があるサイトより多いので良い増加傾向

 

PV/MAUに関しては主な流入Twitterなので安定はしつつも伸びが少ない。総数は一年前と変わらないがMAUの3割がDirectになってきたのでブックマークをしたユーザーが増え、SNS経由のユーザーが減った想定。おそらくこれからは緩やかに増減していくはず

 

直近3ヶ月ぐらいは維持費が安くなった(GCP全て2000〜3000円ぐらい)アクセス数が変わらないのに維持費安くなった要因としてはcloud runのcpu待機時間が少なくなり一定の時間を集中してアクセスされているからと想定。逆に参加の流入は減った

 

マーケティング戦略

SNSに注力した。モラル的には良くないことをやっているのでここには書かないが、企業が真似できないことに加えてユーザー側のメリットも多いので意外に炎上しない。tiktokに関しては炎上商法で荒れた動画は100万近い再生回数になった。

 

マネタイズ

アドセンスは月3000円程度入るがほぼGCPに消える。去年末ごろから掲載費が掛かるようにした。結果としては半年で1万程度しか稼げず、思ったより少なかった。ヒアリングをしたところ、想定と違ったことが多いので基本無料で掲載できるようにした(ただし審査を入れる)マネタイズは広告モデルしか見込めないのが辛いところ。仲介料を頂くかたちで収益を見込めないか考えてる。もしこの記事を見て個人売の車を仲介してくれる業者さんがいたら連絡欲しいです!(カババさんやガリバーフリマさんとか!)

 

 

失敗

マネタイズを考えると最小限のリリースは向いていない

最小限の機能でリリースし、サービスを成長させていく方向だと最初にリリースしたもののみ、よく使われる傾向にある。つまり、ブラッシュアップされた機能はユーザーの目に届きにくく使われにくい。集客後にアクションを起こさせることは非常に難しいので最初の段階で認知させることが重要だと思った。

 

数字を追わなかった

こだわりを犠牲にして数値を求めることをしなかったが、数値に伴わないのであれば無駄なこだわりとなることが多いので数値を正義とした。長くなるので割愛するがオルカーでは精度を下げてサービスの軸を特定のジャンルに括ることをやめ、数値が上がるように注力した。

 

自動化しなかった

この一年間、モチベーションを維持することが難しく半年ぐらい何も開発してなかった時期がある。他の副業が入ったとかいろんな理由はあるが、そもそもとして運用に使う時間が多かった。掲載する車を追加する作業が半自動化みたいな感じだったので手動で一日数十分ぐらい使うことがあり地味にめんどくさかった。自動化した結果、精度は落ちたがChatGPTを利用することで逆に精度が上がる可能性が出てきた。今は研究中だが近いうちに導入する予定(頭が良い大学生に手伝ってもらうみたいな感覚に近いかもと思った)

 

まとめ

そこそこ良いスタートを切ったけどマネタイズはうまくいっていない。年齢も30半ばに差し掛かるので趣味ではなく事業として成り立たせたい

個人サービス公開して五年経ったので振り返る

去年はこちら

tekitoumemo.hatenablog.com

放置....

以上!

という感じなんだが、書き足すとするとGA4対応、submodules切り離しぐらい
売りたかったので販売サイトに出してみたが、交渉は進まず...
譲渡するための準備は行い、Azureの整理やsubmodulesの切り離し、ドメインアカウントの切り離しなど行った
今のところ1万MAUがあり、収益もトントンなので維持し続けるがSEOの情勢を見る限り、尻すぼみとなっていくだろうと考えられる(以前より順位は上がっているがアクセス数は激減している)

熱も完全に冷めてしまい、モチベーションも0なのであとは売れるか模索していく感じになると思う

怒りを感じることについて

自己満日記

 

そろそろ就職して2年経つのでそれなりに感情が揺れるようになった。ときには怒りを感じ、ときには落ち込んだりと。一つは会社に対して愛着が湧いたことで貢献したいという気持ち。もう一つは自分の大切にしてる時間が取れないこと。この二つは両立出来ない。ただ、冷静に考えてみれば後者は家族の時間を取ったり、副業や個人開発で稼ぎたいという明確な目標があるのでそっちを優先するべきだが今年に入ってうまく切り替えられなかった。なんでかなーと考えたら結局は小さいプライドが邪魔して仕事に熱中せざるを得なかった。結局イライラするぐらいだったら出来ないと弱音を吐いたほうが周りも助けてくれるし、ある程度自分のキャパを超えないように立ち回らないといけないなと感じた。給与は今のところ不満はない(副業を合わせての話だが)ので会社では上昇志向を持たずにゆったりとやっていこうと思った最近でした。ということで先週から個人開発で目標ができたのでモチベーション高い。今年はマジで金稼ぎたい、いや絶対稼ぐ