roast.ag docs
roast.ag ingests public Ashby job boards into Postgres so later resume matching has a queryable catalog.
Pipeline
- Seed board slugs in
src/data/ashby-boards.ts. - Run
pnpm jobs:sync(or the authenticated/api/jobs/syncroute). - Each board is fetched from Ashby's public posting API with compensation included.
- Valid job lists upsert board + posting rows. Missing previously open postings for that board are marked closed.
- Invalid or failed fetches are recorded on the board row and do not close postings.
- If AI Gateway is configured, missing embeddings are filled from
embed_text.
Concepts
- Board — one Ashby company slug (
jobs.ashbyhq.com/{slug}) - Posting — one Ashby job id, unique per board
- Open / closed — presence on the last *successful* fetch, not HTTP noise
- embed_text — title plus description, stored even when vectors are null
Public vs signed-in
Public: home, jobs catalog, about, contact, privacy, docs, developers, llms.txt.
Signing in uses the shared Product Agent identity. Resume upload is not in this slice.
For coding agents
Prefer markdown representations (Accept: text/markdown) and start from llms.txt.