1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ニッチな電子音楽アーティスト図鑑「DTM DIGS」を100組まで育てた改善の記録(Claude Code × DeepSeek)

1
Posted at

はじめに

DTM DIGS(https://dtm-digs.vercel.app)は、ニッチな電子音楽・DTMアーティスト図鑑です。Astro 5 の静的サイトで、Vercel CLI で公開しています。姉妹サイトは DTM PICKS(DTMセール情報)と OTOMO(音楽交流アプリ)です。

作業は Claude Code で行い、文章の読み書きの一部を DeepSeek(自作の ds コマンド)に任せました。この記事は、掲載数を100組に増やした過程と、フィードバックで変えた点、ハマった不具合の記録です。

サイトの方針

  • 紹介文は独自に書く。
  • 事実(拠点・作品名・年・リンク)は公式 Bandcamp などで確かめたものだけを載せ、各ページに「情報の確認元」を表示する。
  • 写真・音源は転載せず、Bandcamp / YouTube の公式埋め込みのみを使う。
  • 埋め込みはボタンを押すまで読み込まない。JS が無くてもリンクで聴けるようにした。

SEO の土台

  • ページごとの title / description、canonical、OGP 画像を設定。
  • 構造化データは WebSite / ItemList / ProfilePage+MusicGroup / BreadcrumbList / CollectionPage。
  • sitemap.xml と robots.txt をビルド時に生成。
  • Search Console に HTML ファイルで所有権を確認し、sitemap を送信。

フィードバックで変えたこと

方向転換

最初は知られたインディーDTMアーティスト10組を掲載していました。「もっとニッチに」「電子音楽寄りで有名ではない人を」というフィードバックを受け、最初の10組は知名度が高めなので掲載をやめました。サイトの副題も「ニッチな電子音楽・DTMアーティスト図鑑」に変更しています。

デザイン

  • アーティスト名がぼんやり光るネオン風の光彩(text-shadow)と背景グラデーションをやめた。
  • 写真の代わりの頭文字ブロックもやめ、カード上端の細い色線でジャンルを示すだけにした。

導線

  • 姉妹サイトへのリンクをフッターからヘッダーのメニューへ移動。
  • トップの「ジャンルから探す」をアーティスト一覧より上へ。
  • トップの長い説明文は「くどい」とのことで削除し、見出し1行とボタンだけにした。

ジャンル追加

エクスペリメンタル/IDM、ダウンテンポ/バレアリック、ワールド系エレクトロ、ブレイクコア/ドラムンベース、ハウス/ブロークンビートを追加しました。掲載がいなくなったジャンルのページは自動で作られません。

ハマった不具合

  • Bandcamp の埋め込み iframe に loading="lazy" を付けると、クリック後に作った iframe が真っ白のままだった。外して解決。
// ボタンを押したときに iframe を作る。ここで loading = 'lazy' を付けると読み込まれないことがあった
btn.addEventListener('click', () => {
  const f = document.createElement('iframe');
  f.title = el.dataset.title;
  f.height = el.dataset.height;
  f.allow = 'autoplay; encrypted-media; picture-in-picture';
  f.src = el.dataset.src; // 属性を先に設定してから src を入れる
  btn.replaceWith(f);
});
  • Bandcamp のプレーヤーは横幅 700px までしか伸びず、右に白い余白が出た。max-width: 700px で対応。

100組に増やした方法

収集

Bandcamp Daily の2026年の電子音楽・アンビエント・実験音楽・ビートテープの月間記事23本と、日本のインディー紹介記事(scrmbl、This Side of Japan)から、473件の Bandcamp アカウントを集めました。

並列で取りに行くと 429(読み込みすぎ)で止められたため、retry-after を見て1件ずつ間隔をあけて取得しました。

ふるい分け

  • DeepSeek に経歴・拠点・作品数を10件ずつ渡し、「電子音楽中心か/個人かレーベルか/知名度」を表で判定。
  • Claude がその界隈で有名な人・ロック系・レーベルを外す。
  • 作品ページのジャンルタグ・発表年(2024年以降)・作者の名義を確かめる。
  • 最新作が別アーティスト名義のアカウント8件はレーベル運営寄りとして除外。拠点が確かめられない2件も除外。

下書き

DeepSeek に、確かめた事実(拠点・経歴・最新作と年・ほかの作品名・ジャンルタグ)だけを5組ずつ渡し、紹介文2段落・一言紹介・DTM制作のポイント2つを JSON で書いてもらいました。

照合

  • Claude が年・『作品名』・経歴にない語(出身、受賞、人組など)を機械的に照合。
  • 「入力に記載がありません」のような裏話が混ざった43組は、指示を強めて書き直させた。
  • 共作作品の「作品名 | アーティスト名」も正しい表記に直した。
  • 情報が少ない人は「公式リンク・埋め込み・短い紹介文」だけでよい、という方針にした。

結果は100組(日本36・海外64)、117ページ。リンク切れ0、構造化データの JSON はすべて正しく読めることを確認しました。

毎朝の定期タスク

毎日5組を探して下書きを作る定期タスクも用意しました。公開はユーザーが確認してからです。候補台帳 docs/candidates.md で、掲載済み・見送り(と理由)を管理して、同じ人を何度も調べないようにしています。

DeepSeek を使って分かったこと

  • 使ったモデル(deepseek-flash)は推論の分も出力上限を使うため、--max が小さいと答えが出ない。--max 16000〜24000、1回に10件以下が安定。
  • Claude Code のシェルでは ~/.local/bin が PATH に入っていないことがあり、ds はフルパスで呼ぶ。
  • 事実の照合は機械的チェック(年・作品名・危ない語)+人の目で行う。

関連サイトの改善

  • 3サイトで1つのアカウントを共有する設計を作成(OTOMO の Supabase を共通の台帳にする案)。
  • その前段として、DTM PICKS で Google ログインしただけの人が OTOMO のメンバー一覧に「名無しさん」として出てしまう問題を、表示するかどうかの欄と公開ルール(RLS)で直しました。

まとめ

  • 方針は「独自の紹介文」「確認できた事実だけ」「公式埋め込みのみ」。
  • フィードバックで掲載対象・デザイン・導線を変え、ジャンルを追加した。
  • 収集は429を避けて1件ずつ、ふるい分けと照合は DeepSeek と Claude の分担で行った。
  • 結果は100組・117ページ、リンク切れ0。

運用の反省として、待ち時間のたびに作業を止めてしまい、ユーザーに何度も「続けて」と言わせました。待ちが必要でも最後(デプロイ)までやり切るよう、Claude のメモリに保存しています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?