<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tokyo-livehouse-events/app/scrapers/club-quattro.ts, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/'/>
<entry>
<title>Fix multi-month scrape coverage and add duo MUSIC EXCHANGE</title>
<updated>2026-05-10T14:22:17+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T14:22:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=b56e79b5b288b7c9e2fef396b303afc32c9baf5d'/>
<id>b56e79b5b288b7c9e2fef396b303afc32c9baf5d</id>
<content type='text'>
- Extend 8 scrapers (liquid-room, shibuya-o, club-quattro, meets-otsuka,
  nishieifuku-jam, fever-shindaita, fad-yokohama, and new duo-music-exchange)
  to fetch 3 calendar months instead of 1-2, covering the full 65-day window
- Add duo MUSIC EXCHANGE scraper (渋谷, ~700 cap, /schedule/YYYY/index_YYYY-MM.html)
- Add npm test: Node.js built-in test runner verifies each scraper fetches
  all required month URLs via mocked fetch (10 tests, no extra deps)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Extend 8 scrapers (liquid-room, shibuya-o, club-quattro, meets-otsuka,
  nishieifuku-jam, fever-shindaita, fad-yokohama, and new duo-music-exchange)
  to fetch 3 calendar months instead of 1-2, covering the full 65-day window
- Add duo MUSIC EXCHANGE scraper (渋谷, ~700 cap, /schedule/YYYY/index_YYYY-MM.html)
- Add npm test: Node.js built-in test runner verifies each scraper fetches
  all required month URLs via mocked fetch (10 tests, no extra deps)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add capacity filter for live houses (~100 / 100~300 / 300~)</title>
<updated>2026-05-07T18:50:45+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-07T18:50:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=ae6f6f7f74fd4df7704f963d2f1fdd1f3100668f'/>
<id>ae6f6f7f74fd4df7704f963d2f1fdd1f3100668f</id>
<content type='text'>
- Add capacity field to VenueMeta and all 17 scrapers (researched values)
- Add capacity column to venues table with auto-migration for existing DBs
- Add capacity_range filter to queryEvents (small/medium/large)
- Add capacity selector to FilterBar UI

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add capacity field to VenueMeta and all 17 scrapers (researched values)
- Add capacity column to venues table with auto-migration for existing DBs
- Add capacity_range filter to queryEvents (small/medium/large)
- Add capacity selector to FilterBar UI

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix scrapers returning 0 events for 4 venues</title>
<updated>2026-05-07T13:06:24+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-07T13:06:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=b4823d4c124160dcba8e5fed1e424cf2cc12e72c'/>
<id>b4823d4c124160dcba8e5fed1e424cf2cc12e72c</id>
<content type='text'>
Rewrote selectors to match actual HTML structure after inspecting each site:
- LIQUID ROOM: article selector, date extracted from URL (_YYYYMMDD suffix)
- WWW/WWW X: article.column selector, month from li.month nav, day rollover detection
- 新宿 LOFT: section.block_schedule_list links, full date from time div.year/month/day
- CLUB QUATTRO: li[data-event-date] with ISO date attribute, jp-label time parsing

Result: 0件 → LIQUID ROOM 25件 / WWW 48件 / LOFT 13件 / QUATTRO 24件

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrote selectors to match actual HTML structure after inspecting each site:
- LIQUID ROOM: article selector, date extracted from URL (_YYYYMMDD suffix)
- WWW/WWW X: article.column selector, month from li.month nav, day rollover detection
- 新宿 LOFT: section.block_schedule_list links, full date from time div.year/month/day
- CLUB QUATTRO: li[data-event-date] with ISO date attribute, jp-label time parsing

Result: 0件 → LIQUID ROOM 25件 / WWW 48件 / LOFT 13件 / QUATTRO 24件

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Tokyo livehouse event aggregator service</title>
<updated>2026-05-06T13:07:53+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-06T13:07:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=be55729482296663da8c96723bfd22080e6762c1'/>
<id>be55729482296663da8c96723bfd22080e6762c1</id>
<content type='text'>
Full-stack React Router v7 app that scrapes event listings from major
Tokyo live venues (Liquid Room, WWW/WWW X, Shibuya O-EAST, Shinjuku LOFT,
Club Quattro) and stores them in SQLite for browsing and search.

- Modular scraper architecture: add a new venue by dropping a file in
  app/scrapers/ and registering it in index.ts
- Routes: /events (filter by keyword/venue/date), /events/:id, /venues,
  GET /api/scrape
- EventCard shows artist, date/time, venue, ticket URL, and fee
- Post-scrape per-venue Markdown files generated to events/ (dev reference)
- /add-livehouse Claude Code skill defined in .claude/commands/

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Full-stack React Router v7 app that scrapes event listings from major
Tokyo live venues (Liquid Room, WWW/WWW X, Shibuya O-EAST, Shinjuku LOFT,
Club Quattro) and stores them in SQLite for browsing and search.

- Modular scraper architecture: add a new venue by dropping a file in
  app/scrapers/ and registering it in index.ts
- Routes: /events (filter by keyword/venue/date), /events/:id, /venues,
  GET /api/scrape
- EventCard shows artist, date/time, venue, ticket URL, and fee
- Post-scrape per-venue Markdown files generated to events/ (dev reference)
- /add-livehouse Claude Code skill defined in .claude/commands/

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
