Unwritten Chapters
前回 Mnemecha をリリースしてから 10 日。 X が静かだった裏で、ブラウン管っぽい RETRO フィルタを 256 色まで詰めて、 Pitt さんの一言で読みやすさを一段戻して、 game-kit を分離して、 jgame という CLI まで生やしていました。睡眠時間を削った 10 日間、ぜんぶ書きます。
3 歳から 90 歳まで遊べるシンプルな記憶ゲーム Mnemecha を、 3D 空間に詰め込んでリリースしました。スマホでも滑らかに動くまで詰めた工夫と、そのあいだに育てていた『次のゲームを作るためのキット』の話を、ぜんぶ書きます。
kickoff で 10 本以上のタスクを一気に作って queue に積む。あとは 1〜2 時間ほったらかし。ランチも食べられるし、新しい企画も考えられる。 @joshuafolkken/kit に追加した queue コマンドが、開発リズムをがらっと変えた話。
毎回同じ設定をするのがめんどくさくて、 FAMILY BASIC から積み上げてきたこだわりを @joshuafolkken/kit に詰め込んだ。josh init 一発で全部終わる。AI にアプリを量産させるための土台ができた話。
Claude Code Max に課金して「AI に全部任せる」を試してみたら、開発は爆速になった。でもデグレは爆増した。10層のガードレールを張って、AI を子育てしている話。
ESLint の実行に 30秒 もかかって困っていた僕。ChatGPT にも Claude にも Gemini にも聞いても解決しなかった。最後に残った原因は projectService の設定でした。
パッケージマネージャーが3つも書いてある README を見て疑問に思った僕は、npm から pnpm への移行を決意しました。容量削減と動作の快適さを手に入れるまでの道のりを語ります。
Discord Nitro の案内ページで見たグラスモーフィズムの固定ヘッダーに「かっこいいな...」と思ってしまった。自分のサイトのスティッキーヘッダーも、同じようにかっこよくしてみました。
Web Speech API を使った音声認識が iOS Safari だけ不安定になる問題を、HTMLAudioElement から Web Audio API への変更で解決しました。iPhone 実機でのテストの大変さや、試行錯誤の過程も含めて紹介します。
Cursor の Gemini 3 Pro とカスタムプロンプトを使って、小さく小さくリファクタリングを繰り返している話。ESLint で厳格なルールを定義して、コード品質を保ちながら進めています。
シェアボタンを作ってみたら、ボタンが増えるたびに窮屈で閉所恐怖症が発動しそうになった。結局、X とリンクコピーだけにした。シンプルに保つことの大切さを学んだ。
AI にブログを書かせるのは簡単。でも、「自分らしい」記事を書かせるのは難しい。僕が実践している、Git の差分から「事実」を拾い、育てたプロンプトで「個性」を吹き込む。そんなブログ執筆の裏側を公開します。
重たい画像管理の手間とサヨナラ。画像をサーバーに置くだけで、アクセス時に勝手に WebP 化&リサイズしてくれる「自分専用 CDN」っぽいものを SvelteKit で作ってみました。
サイトを見回してたら、横線が目についてしまった。全部で 17箇所 から横線を削除。フォントサイズやスタイルも統一して、デザインの「引き算」でシンプルに。
プロフィールページの技術スタック一覧を大規模にアップデート。使用技術の追加、カテゴリ整理、スクロールアニメーション実装まで。データ駆動型にリファクタリングしてメンテナンス性も向上。
ブログ記事の下に、Note のような「チップで応援」ボタンを実装してみました。デザインのこだわりや SVG アイコンの作成秘話、そして「寄付」ではなく「応援」という言葉を選んだ理由について。
SQLの文法エラーに怯えるのはもう終わり。Drizzle ORM を導入して、TypeScript の恩恵(型チェック・補完)をフル活用した DB 操作へ移行します。
サーバー代はかけたくない、でも高速に動かしたい。そんなワガママを叶える「TURSO × SvelteKit」で、理想のいいね機能を実装しました。
コスパ、タイパ、大切ですよね。YouTube にも再生速度を変える機能があるじゃないですか。自分の快適だと思う速度で見てしまいますよね。
これからブログみたいなもんを始めていこうかと思います!WordPress のようなブログシステムみたいなものを使いたいわけではなく、かといって HTML, CSS を直接書いてページを作りたいわけでもなく。