🔁vercel.json の redirects で別ドメインへ全パスを 308 転送するときの詰まりどころ
Next.js (output: 'export') を Vercel から GitHub Pages にデプロイ先を移し、Vercel 側は vercel.json の redirects で全 URL を新ドメインに 308 転送して SEO 集約を狙った際、framework 自動検出と trailing slash 周りで複数回ハマった経緯と、最終的に動作した設定をまとめます
Next.js (output: 'export') を Vercel から GitHub Pages にデプロイ先を移し、Vercel 側は vercel.json の redirects で全 URL を新ドメインに 308 転送して SEO 集約を狙った際、framework 自動検出と trailing slash 周りで複数回ハマった経緯と、最終的に動作した設定をまとめます
Next.js 16 + next-intl 構成の Web アプリで、本番ビルドのみ useRouter().push() が無音で no-op になり、検索ページの対話操作が一通り機能しなくなる事象を観測した記録。history.pushState + popstate による回避策と切り分けの過程をまとめます
くずし字・古文書の文字検出(YOLOv11)と NDL古典籍OCR-Lite(RTMDet+PARSeq)を Python なしで JS/Next.js(onnxruntime-node)に移植した記録。ONNX 変換、SAHI、行検出、int8 量子化の精度比較、Vercel で動かない理由、コアのライブラリ化までをまとめます。
TEI/XML 形式の古典文書コーパスを対象としたベクター検索 RAG に、LLM が問いを見て道具を自動で選ぶ Router Agent を導入した記録。8 ツール構成の設計、構造化データとベクター検索の相補性、そして実装で踏んだ 5 つの罠 (Cloudflare Workers 3 MiB 上限・Azure OpenAI URL pattern・JSON_CONTAINS の盲点・reasoning モデルの multi-turn 問題・TPM ボトルネック) を記録します。

Hugo から Next.js (Cloudflare Workers + OpenNext) へ移行した個人技術ブログに、Stripe ベースのメンバーシップ機能を載せた際の構成・実装手順・ハマりどころを記録します。Workers Free plan の CPU 制限との戦い、Stripe SDK の Workers 対応、SSG と動的ゲーティングの両立、本番化フォームの日本固有項目など、公式ドキュメントには断片的にしか書かれていない部分を中心に整理しました。

IIIFの古地図をWMTSで配信する(Allmapsを土台に、Next.jsポートフォリオに統合)
複数のWebサイトに対する複数のオペレーション(デプロイ・再インデックス・バックアップ等)を、YAML 1ファイルで定義し、非エンジニアの作業者がブラウザから実行できる管理コンソールの設計を整理しました。
複数のデータベースサイトを運用する組織で、非エンジニアの作業者がデプロイ・データ更新を自分でトリガーできる管理コンソールを構築した記録です。GitHub App認証とCloudflare Access (Zero Trust) を組み合わせ、PATやOAuth Appとは何が違うのかを整理しました。
未公開 / 限定公開の歴史写真を、IIIF 規格に準拠した形でアクセス制御付きで配信するアーカイブシステムの構築記録。Cantaloupe(IIIF サーバ)+ S3 互換ストレージ + Elasticsearch(検索)+ Next.js(UI)+ Cloudflare Tunnel + Access という構成で、一般公開できない画像であっても IIIF の利点(規格準拠の高解像度ビューア / manifest 配信)を許可されたメンバー範囲内で享受できる仕組みを設計しました。外部システムからの相互運用には IIIF Auth API 2.0 への拡張が必要となる点も整理しています。
Nuxt 2 + @nuxtjs/pwa で運用していた SPA を別フレームワークへ移行した直後に、返ってくる HTML が古いまま固まる事象に遭遇しました。原因は旧 Service Worker の cache-first 戦略で、kill-switch SW を同じ URL に上書き配信して退役させた手順をまとめます。
Vercel Proプランで運用していた組織向けNext.jsアプリをCloudflare Pagesに移行し、Vercelを無料のHobbyプランにダウングレードした記録です。
Next.js製のAPIサーバーをAWS Amplify(+WAF)からCloudflare Pagesに移行し、月額約$23のコストを$0にした手順を記録します。
Next.js + React Three Fiber の 3D ビューアを @react-three/xr v6 で Meta Quest 対応にした記録。CameraRig が XR カメラを横取りする問題、useXRControllerLocomotion の callback vs ref 形式の落とし穴、Quest 実機デバッグの工夫など、ハマりポイントと解決策をまとめました。
ExcelJSのデータバリデーション機能を使い、別シートのデータをドロップダウンの選択肢として参照できるExcelテンプレートをNext.js APIルートで動的生成する方法を紹介します。

DTS Viewer で複数 Citation Tree の tree パラメータ対応、ナビゲーション結果の階層テーブル表示、mediaType パラメータによる XML ブラウザ表示を実装。

歴史資料をAIで検索できるRAGアプリを作った技術スタック

Annotoriousの描画モードがproduction buildでだけ壊れる

Next.js 15 で発生する `localStorage.getItem is not a function` エラーの原因と対処法

JavaScriptの演算子優先順位の罠 - Vercelビルドエラーの原因を探る

Sketchfab APIでGLBファイルをダウンロード・表示するWebアプリを作る

Next Auth (Auth.js v5) の本番環境で AUTH_URL が必須な理由

@elastic/react-search-ui を React 19 + Next.js 15.5 で使う方法

Next.js + next-auth で GakuNin RDM と OAuth2 連携する

Next.js + next-intl での言語切り替え実装ガイド

NDL古典籍OCR-lite Next.js版の開発

画像コレクション管理ツール 技術アーキテクチャ解説

IIIF 3D Viewerを試作しました。

Next.js 15対応 多言語・ダークモード対応SSGテンプレート

Next.js 15 で output: 'export' 使用時の sitemap.ts 実装方法

Next.js × Search UI × Fuse.js 検索アプリケーション

IIIF認証API 2.0の動作確認

「れきちず x Next.js」にルートの登録機能を追加しました。

ブロックチェーンとPinata IPFSを使用したデジタル文化財管理システムの試作

その2:NDL古典籍OCR-Liteを用いたアノテーション付きIIIFマニフェストファイルとTEI/XMLファイルの作成

DTS Viewerの更新:ページネーションへの対応

IIIFマニフェストファイルから画像URLの一覧を含むCSVファイルを作成する

TEI/XMLファイルをS3互換のオブジェクトストレージでホストする

Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリの試作

「れきちず x Next.js」サイトにルートの登録機能を追加しました。

れきちずをNext.jsで使用する

IIIF画像に対して、多角形のアノテーションを付与するツールを作成しました。

Next.js 15 App Router で Tailwind CSS V4 を使用してダークモードを追加する方法

Error: Do not use <img>. Use Image from 'next/image' instead.への対応

CETEIceanとXPathを使って特定の要素にスクロールする

Next.jsでUniversal Viewerのnpmパッケージを使用する

GakuNin RDMのAPIを用いて、連携したストレージのファイルを検索する

LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作

Next.js + CETEIcean + React TEI Routerを使ったビューア開発

Next.js for Drupal の BASE_PATH 問題と修正方法(patch-package活用)

Next.jsで多言語対応の静的サイトを構築する

clover-iiifをNext.jsで使用する

Next 15(React 19 を使用)で、@react-three/fiberとdreiを使う

NextAuth.jsを使ってDrupalのOAuthを利用する

Azure OpenAI Assistants APIを用いたアプリをGradioとNext.jsで作成する

openai-assistants-quickstartの微修正

GakuNin RDMをNext.jsから使用する

NextAuth.jsを使って、ORCID・The Open Science Framework・ GakuNin RDMの認証を行う

Knight LabのTimelineJSやStoryMapJSをNext.jsから利用する

ZoteroのAPIをNext.jsから使う

LEAF WriterをNext.jsから使用する

Next.jsでアンダースコアから始まるURLセグメントを利用する

Next.jsを用いたTEI/XMLファイルの簡易ビューアを作成しました

Next.jsでジャパンサーチのウェブパーツを使う