Notion 同期の設計を応用して、札幌のフェス「NoMaps 2026」の下見ページを作った話 — 「Notion を挟まない」判断をした理由
前回、Notion を編集 UI にして Next.js サイトへ同期する設計を書きました。今回はその応用編です。ただし結論から言うと、このページでは Notion を挟みませんでした。前回の記事の「いつ使い、いつ使わないか」の表で、使わない側に落ちたからです。
作ったもの:https://taichiendoh.com/lab/hokkaido/nomaps
NoMaps は、札幌の中心部を丸ごと会場にする複合フェスです。2026年は 9月23日〜27日の5日間、86会場、234プログラム。1日に数十本が同時に動くので、「どこで何が見られるか」を手元で絞れるページが欲しくて作りました。公式サイトの非公式な下見ページ、という位置づけです。
結論(3つだけ)
- 元データが構造化されて公開されているなら、Notion も LLM も挟まない。機械的にパースして全件持つ。
- 「何件取れたか」を必ず数えて表示する。 取りこぼしは、数えないと気づけない。
- 自分で確かめられないものは出さない。 住所が確認できない会場にはピンを打たない。
前回の判断表に当てはめる
前回の記事で、コンテンツの置き場所をこう分けました。
| コンテンツの性質 | 置き場所 |
|---|---|
| 頻繁に更新・非エンジニアが編集・レビューしながら育てる | Notion → 同期 |
| 公式が出している確定データ・変更が稀・出典が固定 | ソースを直接パースして持つ |
| 秘密情報・個人に紐づくもの | 外部 CMS に置かない |
NoMaps のタイムテーブルは、まさに2行目です。
- 出典が1つに固定されている(公式サイトのタイムスケジュール)
- 構造が取れる(時刻・タイトル・会場・分野・詳細ページ URL)
- 僕が編集するものではない。公式の表記をそのまま持つのが正しい
だから Notion は挟みませんでした。Notion に入れた瞬間、「誰かが直せる」状態になります。公式データを「誰かが直せる」状態にするのは、便利ではなく事故の入口です。
いちばん大事だった判断:LLM の要約も挟まない
前回の記事で「補足」として書いたことが、今回は本題になりました。
構造化された元データに LLM の要約を挟むと、こぼれた分が出力から分からなくなります。 「主なプログラムをまとめて」と頼めば、それらしい一覧は返ってきます。でも 234本のうち何本拾えたかは、返ってきた文章からは分かりません。
だから今回は、
- 公式ページを機械的にパースして全件を持つ
- ページの冒頭に「全 289 件(234 プログラム)」と件数を出す
- 日付タブにも「9/26土 97本」のように日ごとの本数を出す
としました。289 と 234 が違うのは、複数日にまたがるプログラムが日ごとに1件として数えられるからです。この差も、数えていなければ気づかない種類のものです。
🔰 たとえ話: 病院で薬を数えるとき、「だいたい揃ってます」は通用しません。「30錠中30錠」と数えます。データも同じで、数えた瞬間に、こぼれが見えるようになります。
画面の設計:「絞る」を最優先に
1日に数十本が同時に動くフェスなので、一覧を上から読む前提では使えません。曜日・分野・会場の3軸で絞れるようにしました。
- 日付タブ:5日分。各タブに本数を表示
- 分野フィルタ:行政・社会/福祉・健康/教育・こども・学生/交流・連携事業 など
- 会場リスト:その日の会場ごとに本数を表示。住所が分かる会場は地図リンク、分からない会場は Google マップ検索リンク
- 終日・別の日から続くもの:時刻で並べると埋もれるので、別枠に分けた
- 各プログラムのタイトルは公式の詳細ページへのリンク。申込方法・最新の時間は必ず公式で確認、とページ内に明記
「ホールに集めず街に散らす」というこのフェスの性格が、そのまま画面の要件になりました。
地図:確かめられないものは出さない
会場をピンで見せたかったのですが、公式に載っているのは住所であって座標ではありません。
- 住所から街区レベルの目安として座標を出す
- ピンの数字はその日のプログラム数
- 住所を確認できない会場はピンを出さない(「会場は公式ページで確認」「札幌市内・複数箇所」など)
- ページ内に「座標は街区レベルの目安」と明記
「それっぽく全部にピンを打つ」方が見栄えはします。でも、確かめられないピンを1本でも打つと、他のピンの信頼まで下がります。医療機器の点検記録で「たぶん OK」を書かないのと同じ考え方です。
Notion を使う場所は、別にある
このページで Notion を使わなかったのは「タイムテーブル」の部分です。一方で、次のようなものは前回の設計どおり Notion に置いて同期する側です。
- ページ冒頭の説明文(「NoMaps のすごいところ」のような、僕が書く紹介文)
- 注意書き・免責の文言
- 参考リンクの一覧
つまり同じページの中でも、公式データはパース、僕の文章は Notion、と置き場所が分かれます。前回の判断表は「サイト単位」ではなく「コンテンツの塊ごと」に当てるものだ、というのが今回の学びでした。
前回の「3つの罠」は今回どうだったか
- 画像 URL の期限切れ:今回は公式の画像を持ってこなかったので回避。持ってくるなら自前ストレージに保存する
- DB 接続の枯渇:一覧は同期済みデータから描画するので、公式サイトへの負荷はゼロ。表示のたびに公式を叩かない
- レート制限と部分失敗:取り込みは会期前に1回+更新確認。取り込み日時(2026-09-21 時点)をページに表示し、「いつのデータか」を隠さない
まとめ — 設計の価値は「使わない判断」に出る
前回の設計を応用して作りましたが、応用の中身は「Notion を使わないと決めたこと」でした。
- 公式の確定データは、Notion も LLM も挟まず、機械的にパースして全件持つ
- 件数を数えて表示する。こぼれは数えないと見えない
- 確かめられないものは出さない
- 自分が書く文章だけを Notion に置く
派手な技術ではありません。でも、「フェスの5日間、手元で絞って回れる」という目的には、これで足りました。
⚠️ このページは非公式の下見用です。プログラムは会期直前まで追加・変更されるので、参加前に必ず公式サイトで最新の時間・会場・申込方法を確認してください。
参考リンク
- 作ったページ:https://taichiendoh.com/lab/hokkaido/nomaps
- NoMaps2026 公式サイト:https://no-maps.jp/2026/
- NoMaps2026 タイムスケジュール(最新はこちら):https://no-maps.jp/2026/timeschedule/
- NoMaps実行委員会 プレスリリース(86会場・延べ6万人):https://prtimes.jp/main/html/rd/p/000000014.000160259.html
- 前回の記事:Notion を「コンテンツの源」にして Next.js サイトへ同期する設計
https://note.com/taichi_endoh/n/n7d816d7337d1
著者プロフィール
臨床工学技士 × AIエンジニア / 11年間、病院の医療機器の現場に立ち続けてきました。
いまは AI エンジニアとしても活動しながら、酪農学園大学の研究生として論文博士の取得を目指しています。
研究テーマの主軸は遺伝子医療の未来。そのうえで、医療現場と地続きにある病院の IT・サイバーセキュリティ・医療 AI 導入についても、現場で起きている課題と一次情報を突き合わせながら調べ続けています。臨床工学技士の教育関係の仕事にも携わっています。
質問・誤りの指摘・「うちではこうしている」という事例の共有、いつでも歓迎します。
- Qiita:@TaichiEndoh
- note:@taichi_endoh