Chiinavi について

全国の自治体サイトと移住ポータルをクロールし、 AI+ルールベース抽出で「地域おこし協力隊」と移住関連求人を集約した検索プラットフォームです。

SvelteKit を Cloudflare Pages の Edge で動かし、データは Cloudflare D1 から配信しています。 個人開発・公開ポートフォリオとして運営しているプロジェクトです。

公開データの集計

掲載求人
556
PUBLIC フィルタ通過分
カバー自治体
383
アクティブな登録ソースを持つ自治体数
求人ありの自治体
198
公開求人を 1 件以上持つ自治体数
最終更新
2026/6/3
job_details.updated_at の最大値(UTC)

技術的見どころ

ハイブリッド抽出

AI による募集要項の構造化と、ルールベースの正規化を組み合わせて、PDF を含む自治体の 多様な掲載フォーマットから求人情報を抽出。lifecycle 判定(明示的終了 / 404 / 期限切れ)も自動化。

Cloudflare Edge 配信

SvelteKit + Cloudflare Pages Functions + D1 の構成。 Worker isolate のコールドスタートを考慮したキャッシュ設定で、地図ページの自治体ポップアップも 同オリジン API でレスポンスが軽い。

SEO(JSON-LD + OGP)

求人詳細ページで Schema.org JobPosting の JSON-LD を出力。 動的 OG 画像(satori + resvg-wasm)と sitemap.xml で SNS シェアと検索流入を後押し。

公開/非公開の境界

運用機能と AI の生入出力は配信物に載せない設計。配信向けの D1 は PUBLIC_JOB_DETAIL_FILTER を通過したレコードだけを返す。

a11y / Lighthouse CI

Playwright + axe-core でアクセシビリティ E2E を回し、Lighthouse CI で パフォーマンス・SEO の劣化を検知。色コントラストとフォーカス可視化を厳しめに維持。

求人 MAP(Leaflet)

自治体の代表点で公開求人を地図上に集約。数百自治体規模でも快適に描画できるよう Canvas レンダラを優先し、Leaflet 資産は self-host で CSP に整合。

データ運用の強み

  • lifecycle 管理: 明示的な終了文言・404・deadline 超過を検出して recruitment_status を更新。終了済み求人は自動で一覧から外れる。
  • 重複検出: URL 正規化と source_scope_key で同一求人を識別し、 外部ポータル経由の重複(auto_merged)と人手マージ(merged)を区別。 誤検出を防ぐため、人間レビュー前の候補は非表示にせず温存。
  • 都道府県・自治体カバー: 全国の自治体メタデータ(コード・座標)を保持し、 公開求人が紐づく自治体のみ集計対象とする。

安全な公開ポリシー

運用機能と内部データは認証で保護し、公開物には載せていません。 公開しない情報の一覧は 公開データ仕様の §5 を参照してください。

スクリーンショットや動画を共有する場合も、運用画面・連絡先・実在の担当者氏名はマスクします。

Chiinavi

地域おこし協力隊や移住関連の求人を集約した検索プラットフォーム。
あなたにぴったりの地域と仕事を見つけよう。

サービス

運営情報

    © 2026 Chiinavi. All rights reserved.