Pool Members · Job Pool Ecosystem

Pool members — products in the Job Pool ecosystem.

Per JPE-RFC-0002, the Job Pool ecosystem is split across cooperating domains — consumer products, the transparency layer, canonical data infrastructure, and ingestion operations. Each member runs its own surface and ships a usage dashboard. Daily request and unique-IP counts below are pulled live from /v1/launch-metrics; only coarse aggregates ship publicly.

Current Members · RFC-0002 Domain Inventory

Pool members shipping today

Loading the latest rollup…

Consumer · Job seekers

mewannajob.com

Total
--
Daily avg
--
Peak day
--
Tracked
--
Status
--
Open site

The consumer destination for job seekers in the pool: ChatGPT apply plans, mobile quick search, desktop dashboards, outcome-first browsing. The largest single source of traffic in the rollup.

Consumer · Job seekers

thehiringcafe.com

Total
--
Daily avg
--
Peak day
--
Tracked
--
Status
--
Open site

A second consumer surface in the ecosystem, freshly added to the rollup. Same usage-dashboard wiring as the rest of the pool, growing its own audience and SEO posture.

Transparency · Power users

jobpool.live

Total
--
Daily avg
--
Peak day
--
Tracked
--
Status
--
Open site

The transparency and power-user layer: reviewed downloads, scraper docs, staged submissions, leaderboards, and the home of JobPoolBot. Where contributors and curious developers congregate.

Infrastructure · Developers

jobdatapool.com

Total
--
Daily avg
--
Peak day
--
Tracked
--
Status
--
Docs & RFCs

The canonical infrastructure surface: REST API, OpenAPI, JSON schemas, architecture RFCs, dataset pointers, and the launch-metrics rollup that feeds this very page. Both a member of the pool and the aggregator.

Data Source Agent

JobPoolBot — the reference example of submitting data via jobpool.live

Pool members above are consumer surfaces, the transparency layer, and the API. JobPoolBot is the canonical ingestion agent: the bot that pulls listings from participating sources, normalizes them into the pool schema, and pushes them into the reviewed dataset.

Crawler · Reference agent

JobPoolBot/1.0

UA token
JobPoolBot
Operator
jobpool.live
Source catalog
/v1/sources
Schema
job-listing.schema.json
Status
Live

JobPoolBot identifies as JobPoolBot/1.0 (+https://jobpool.live/jobpoolbot), honors robots.txt with Crawl-delay, prefers structured feeds over HTML scraping, and routes ingested rows back through the staged review queue at jobpool.live/docs/submissions before they land in /v1/jobs. It is the reference implementation for what an automated data source looks like in this ecosystem — whether you operate one yourself or want to be crawled by one.

How to integrate alongside JobPoolBot

  1. Pick an integration path on /docs/data-sources/: feed crawl, reviewed scraper, or dataset upload.
  2. Allow the JobPoolBot robots product token and reference your preferred feed in a comment or HTTP Link header.
  3. Open a submission on jobpool.live/docs/submissions with feed URL, scraper, or CSV cadence.
  4. Review and staging happen on jobpool.live; promoted sources show up in /v1/sources.

Robots example for a participating origin

# /robots.txt
User-agent: JobPoolBot
Allow: /jobs
Allow: /careers
Crawl-delay: 5

# Preferred structured feed:
# https://example.com/jobs.json
Sitemap: https://example.com/sitemap.xml

Same pattern as /rfc/#publishers. Data-source integration is publisher integration with a follow-on submission step.

For Builders

Add your product to the pool

If you run a job-search-adjacent product and want your traffic counted in the public rollup, the integration is intentionally small. You stay the owner of the underlying data — only daily aggregates flow upstream.

Integration checklist

  1. Deploy a usage dashboard on your site that tracks requests via a Netlify Edge Function (or equivalent) and stores daily buckets keyed by ingestion_date with cardinality-only IP maps.
  2. Expose /.netlify/functions/usage-dashboard-auth for PIN-cookie auth and /.netlify/functions/get-crawler-usage for authenticated metric reads.
  3. Make sure the get-crawler-usage response includes a by_date array with ingestion_date, global_count, and an ip_addresses map (only the cardinality is read; the keys are never published).
  4. Set a shared USAGE_DASHBOARD_PIN environment variable on your site and provide that same PIN to JobDataPool so the rollup can read your aggregates hourly.
  5. Open a request to be added to the rollup. Once you're in DEFAULT_SITES, the next hourly tick of refresh-launch-metrics picks you up automatically.

What ships publicly

For each member, per day, per /v1/launch-metrics:

{
  "site_key": "yourproduct",
  "site_url": "https://yourproduct.com",
  "request_count": 12345,
  "status": "ok",
  "updated_at": "2026-05-09T22:00:00Z",
  "daily": [
    { "date": "2026-05-09", "requests": 1234, "unique_ips": 412 }
  ]
}

No raw IPs, no user agents, no paths. Just date, request count, and the cardinality of distinct IPs that day.

Privacy & trust posture

  • No raw identifiers leave your site. The rollup reads Object.keys(ip_addresses).length, never the keys themselves.
  • You stay in control. The PIN is yours. Rotate it any time and update the matching env var on jobdatapool.com.
  • Cooperative, non-exclusive. Joining the pool does not grant JobDataPool any exclusive rights to your data, your audience, or your crawler traffic.
  • Standards-aligned. The same posture applies to publisher integration via robots.txt, Link headers, and HTML metadata documented in /rfc/#publishers.

Aggregate Rollup

See the pool on the homepage

The public “Who uses the JobDataPool” panel on the homepage stacks all four sites into one view, side by side.