Blog
Unwritten Chapters
Blog

ESLint で厳格なルールを定義して、AI と一緒にプロジェクト全体のリファクタリングを進める話
Cursor の Gemini 3 Pro とカスタムプロンプトを使って、小さく小さくリファクタリングを繰り返している話。ESLint で厳格なルールを定義して、コード品質を保ちながら進めています。

「あーー!これじゃダメだ!」シェアボタンで学んだシンプルの価値
シェアボタンを作ってみたら、ボタンが増えるたびに窮屈で閉所恐怖症が発動しそうになった。結局、X とリンクコピーだけにした。シンプルに保つことの大切さを学んだ。

AI は「指示」するより「指導」する方が面白い。ブログ執筆が 9割 自動化できた話
AI にブログを書かせるのは簡単。でも、「自分らしい」記事を書かせるのは難しい。僕が実践している、Git の差分から「事実」を拾い、育てたプロンプトで「個性」を吹き込む。そんなブログ執筆の裏側を公開します。

ファイルサイズを 98% 削減!Sharp と SvelteKit で実装した「オンデマンド WebP 変換 API」
重たい画像管理の手間とサヨナラ。画像をサーバーに置くだけで、アクセス時に勝手に WebP 化&リサイズしてくれる「自分専用 CDN」っぽいものを SvelteKit で作ってみました。

「これ、なんかダサくない?」デザインの「引き算」で、サイトをシンプルにした話
サイトを見回してたら、横線が目についてしまった。全部で 17箇所 から横線を削除。フォントサイズやスタイルも統一して、デザインの「引き算」でシンプルに。

TechStack を大幅リニューアル!技術追加・カテゴリ整理・アニメーション実装まで
プロフィールページの技術スタック一覧を大規模にアップデート。使用技術の追加、カテゴリ整理、スクロールアニメーション実装まで。データ駆動型にリファクタリングしてメンテナンス性も向上。

「寄付」より「応援」を。Note ライクなボタンをブログに実装した理由
ブログ記事の下に、Note のような「チップで応援」ボタンを実装してみました。デザインのこだわりや SVG アイコンの作成秘話、そして「寄付」ではなく「応援」という言葉を選んだ理由について。

型安全って最高。TypeScript ユーザーなら今すぐ Drizzle ORM を使うべき理由
SQLの文法エラーに怯えるのはもう終わり。Drizzle ORM を導入して、TypeScript の恩恵(型チェック・補完)をフル活用した DB 操作へ移行します。

サーバー代 0円 で「いいね機能」を実現する。TURSO × SvelteKit 最強説
サーバー代はかけたくない、でも高速に動かしたい。そんなワガママを叶える「TURSO × SvelteKit」で、理想のいいね機能を実装しました。

単純作業アレルギーの僕らが、プログラミングにハマる必然的な理由
コスパ、タイパ、大切ですよね。YouTube にも再生速度を変える機能があるじゃないですか。自分の快適だと思う速度で見てしまいますよね。

SvelteKit × mdsvex × Tailwind。モダンな技術でブログをフルスクラッチした
これからブログみたいなもんを始めていこうかと思います!WordPress のようなブログシステムみたいなものを使いたいわけではなく、かといって HTML, CSS を直接書いてページを作りたいわけでもなく。