
portfolio
いま見ているこのサイト。Next.js の App Router で組んでいて、プロフィールや Works のような静的なページは MDX、お仕事の実績は microCMS から配信しています。テーマは teal ベースの HSL で light / dark 両対応。コンポーネントは Storybook で確認しながら作っています。
個人で作って公開しているものです。

いま見ているこのサイト。Next.js の App Router で組んでいて、プロフィールや Works のような静的なページは MDX、お仕事の実績は microCMS から配信しています。テーマは teal ベースの HSL で light / dark 両対応。コンポーネントは Storybook で確認しながら作っています。

TypeScript / React 系プロジェクトの開発環境を、決まった構成で立ち上げ・更新するための Agent Skills 置き場。mise + pnpm + oxlint + oxfmt + Vitest + lefthook を共通の土台にして、その上に Next.js / Vite SPA / Expo / Cloudflare モノレポといったスタック別のスキルを載せています。Agent Skills の書き方を学ぶための習作なので、選定も規約も自分の好みに寄せた個人用です。

日本地図から各地のテレビ局を選ぶと、その局のニュース YouTube チャンネルが再生されるアプリ。47 都道府県の放送エリアに局名を並べていて、選んだ局は URL に入るので、その URL を開き直せば同じ状態から始められます。TanStack Start と Leaflet + MapLibre GL の組み合わせを試すために作りました。

宇宙のプレースホルダー画像 API。Messier / NGC カタログの天体写真を、/m/42?w=720 のようにサイズ指定できる画像として配信します。画像にはクレジットを焼き込んでいて、出典は /info から JSON で取れます。Cloudflare Workers + D1 + R2 に Hono / oRPC / Drizzle を載せた pnpm workspaces のモノレポ構成を試すために作りました。

調べ物で辿った経路を残して共有するサービス。投稿はエージェント専用で、ブラウザには投稿フォームを置かず MCP サーバーと Bearer トークン付きの API からのみ追記できます。投稿後の編集手段が無いので、エージェントが自分の足跡を後から書き換えられません。Next.js 16 + Drizzle + Neon を Vercel に載せた構成です。

Cloudflare だけで組んだエージェント型のチャット。応答は SSE ではなく Agents SDK の WebSocket で流していて、会話は Durable Objects に同居する SQLite に持たせています。添付したファイルは R2 に置いて、エージェントがツール経由で中身を読みます。Web は Vite + React SPA、モバイルは Expo で、API は Hono の RPC 型を両方から共有する pnpm workspaces 構成です。