Tutorial

How to use Wera without drifting back to a spreadsheet

Wera works best as a weekly operating loop: source leads, tailor documents, apply manually, follow up, and let the scoreboard tell you whether the week is moving.

External job boards

Add GitHub lists, Greenhouse boards, and Lever boards from Sources

Wera does not need a browser extension for these sources. It stores the connector config, runs the public endpoint, normalizes rows into the discovery inbox, and leaves failed rows visible in source health.

GitHub public lists

Source type: Public list

Fields

  • Source type: Public list
  • Display name: a name you will recognize in filters
  • Public list URL: a raw README, Markdown, HTML table, or listings.json URL

Examples

  • https://raw.githubusercontent.com/SimplifyJobs/Summer2026-Internships/dev/README.md
  • https://raw.githubusercontent.com/example/internships/main/.github/scripts/listings.json

Checks

  • Prefer raw.githubusercontent.com URLs over normal github.com/blob URLs.
  • Lists work best when rows include company, role title, location, and an apply link.
  • If a repository generates a JSON file, use that file because it is less likely to break than scraped README formatting.

Greenhouse boards

Source type: Greenhouse

Fields

  • Source type: Greenhouse
  • Greenhouse board token: the company token from boards.greenhouse.io/{token}
  • Lever fields can stay empty; company name is optional but improves labels

Examples

  • Company jobs page: https://boards.greenhouse.io/stripe
  • Board token to enter: stripe
  • API Wera checks: https://boards-api.greenhouse.io/v1/boards/stripe/jobs?content=true

Checks

  • Use the token after boards.greenhouse.io, not the full URL.
  • Some companies use a custom careers domain that still redirects to a Greenhouse board; follow the Apply or Open roles link to find the token.
  • A Greenhouse HTTP error means the token is wrong, private, or the company is not using the public board API.

Lever boards

Source type: Lever

Fields

  • Source type: Lever
  • Lever slug / company name: the slug from jobs.lever.co/{slug}
  • Company name: optional display label when the slug is abbreviated

Examples

  • Company jobs page: https://jobs.lever.co/datadog
  • Company slug to enter: datadog
  • API Wera checks: https://api.lever.co/v0/postings/datadog?mode=json

Checks

  • Use only the first path segment after jobs.lever.co.
  • If a specific job URL is jobs.lever.co/company/team/id, the source slug is still company.
  • A Lever HTTP error usually means the slug is wrong or the company does not expose public Lever postings.

LinkedIn and Indeed

Source type: LinkedIn/Indeed via Apify

Fields

  • Source type: LinkedIn via Apify or Indeed via Apify
  • Apify actor id: the selected actor, for example vendor/linkedin-jobs
  • Search query, location, freshness days, remote-only toggle, and max items

Examples

  • Query: software engineer intern
  • Location: United States
  • Max items: 25 for the first test run

Checks

  • Set APIFY_TOKEN in the environment; Wera never stores the token in source config.
  • Keep max items low until source health shows stable parsed counts and acceptable cost.
  • Treat these rows as leads only; open the source URL before saving because actor output can drift.

Instagram accounts

Source type: Instagram via Apify

Fields

  • Source type: Instagram via Apify
  • Instagram username: the public account that posts opportunities
  • Max posts per run; actor id is optional and defaults to apify/instagram-post-scraper

Examples

  • Username: zero2sudo
  • Max posts: 5 for the first test run
  • Cost estimate: roughly $0.003 per scraped post plus AI extraction

Checks

  • Captions are parsed with AI into one lead per role; posts without job content are skipped silently.
  • Yield varies by account since not every post is a job listing; judge the source by parsed counts over a week.
  • Open the Instagram post URL before saving a lead; captions can be stale by the time you apply.

After you run discovery

OKA healthy source has a recent run time and nonzero parsed count when the upstream board has open internships.
OKFetched can be higher than parsed because Wera quarantines rows that do not match the connector schema.
OKFailed rows are not hidden; inspect them before trusting a new source because they usually signal upstream format drift.
OKDisable stale sources instead of deleting your search context; disabled sources stay visible but stop running.
OKManual discovery is intentionally sampled for responsiveness, so use targeted sources rather than very broad lists when you need quick review.
Step 01

Start with existing data

  1. -Paste a posting URL or full job description into Manual job import.
  2. -Use CSV import when you already have a spreadsheet of applications.
  3. -Keep company and title clean; Wera uses them for dedupe and pipeline grouping.
Open
Step 02

Configure discovery

  1. -Open Sources and add one saved source per board or list you trust.
  2. -For public GitHub lists, paste the raw README, Markdown, HTML, or generated listings.json URL.
  3. -For Greenhouse, enter the board token from the company jobs URL; for Lever, enter the company slug.
  4. -For LinkedIn or Indeed, choose an Apify actor, enter a tight query, and cap max items before the first run.
  5. -Run discovery from Sources, then check fetched, parsed, and failed counts before saving leads.
Open
Step 03

Review fresh postings

  1. -Filter by source type when you are checking one connector family.
  2. -Open the apply link before saving so you know the posting is real.
  3. -Save promising postings into the pipeline; ignore weak leads early.
Open
Step 04

Work the pipeline

  1. -Use filters for ready, drafting, follow-up, interview, and branch states.
  2. -Open an application detail page when a row needs documents, contacts, or reminders.
  3. -Keep the top-level status broad; record OA, screen, ghosted, and waitlisted as branch states.
Open
Step 05

Generate and compile the resume

  1. -Open an application and use Resume Studio to generate tailored LaTeX.
  2. -Review every proposed bullet against its evidence before applying.
  3. -Wera starts PDF compilation automatically and records the R2 key or a typed compile failure.
Open
Step 06

Approve communication

  1. -Generate only the draft you need: cover letter, application email, or referral request.
  2. -Create an approval request and inspect the centered modal payload preview.
  3. -Approving marks the item ready for manual send; Wera does not send applications for you.
Open
Step 07

Protect deadlines

  1. -Set reminder preferences and lead time on the weekly plan page.
  2. -Use application-level reminders for custom follow-up or deadline nudges.
  3. -Production reminder delivery requires Resend env vars and the hourly Trigger task.
Open
Step 08

Close the week

  1. -Generate a weekly plan from open tasks and active applications.
  2. -Complete plan items as you send, tailor, ask for referrals, and follow up.
  3. -Use the scoreboard to decide whether Wera beat the spreadsheet this week.
Open

Production checklist

OKSet Clerk, database, Trigger, R2, OpenAI, and Resend environment variables.
OKDeploy Trigger so the Tectonic cache is warmed and verified in the image.
OKConfirm Resume Studio records a PDF key after tailoring.
OKConfirm reminder emails send from the configured Resend sender.