daybreak

Wake up to jobs worth applying to.

A small helper that lives on your computer. It searches job boards and your favorite companies every night, and puts a scored report in your inbox every morning. Free, private, no code knowledge needed.

🌙
OVERNIGHT

It searches — Indeed, LinkedIn, and your dream companies' own pages.

🌅
7:00 AM

Report lands — every job scored, best first, junk gone.

OVER COFFEE

You apply — intro messages written, tracker fills itself.

10 minutes, once. No terminal, no typing, no cost.
🌅

A morning report

One page, best matches first. No more cycling through five job sites.

Dream company alerts

The day they post a matching role, you get an email.

💬

Messages, pre-written

Short intros for people at each company. Copy, paste, send.

📋

A self-filling tracker

One click logs any job to your Google Sheet.

Tell it what you're looking for

Answer the questions; your helper writes itself on the right. No need to read it — it's just nice to see.

1The job you want

Picking one fills in sensible filters below. Adjust anything after.

2Good jobs vs. bad jobs

Every job gets a score out of 100 from these words. High scores rise; low scores are hidden.

HOW A JOB GETS SCORED
Product Designer Remote · Acme Co — "…great for early career designers, unpaid trial project…"
starts at 50 remote +8 early career +8 unpaid −20 = 46
Your cutoff is 30, so this one makes the report. Vague one-liner postings also lose 10 automatically.

30 is a good start. Drowning in results? Raise it to 45. Keep in mind dream-company jobs still have to clear this bar to reach your report — so don't set it too high.

3Your dream companies

Their own careers pages get checked directly each morning — you hear about roles the day they're posted, not whenever a job board catches up.

Paste the address of any page that lists their openings.

4Your intro messages

Each job comes with short LinkedIn messages, ready to send. This line goes in the middle of each.

Short and factual. "I'm a…" works well.

5Where mornings go

A separate 16-character password Google makes just for this — 2-minute guide.

Keep your downloaded folder to yourself. This password goes inside it. Don't share it or post it online.
6Your self-filling tracker

Everyone's favorite part. Click Mark as Applying on any job in your report and it appears as a row in your Google Sheet — date, company, role, link. Your whole search, recorded without typing.

3-minute guide. Or skip it and add it later.

7Your computer & wake-up time

Pick a time you're usually awake — your computer has to be on for it to run.

Your helper, written live. Yours to keep — never something you have to read.

  
    7 files, double-click and go

    Getting it running

    Two double-clicks, total. If you can install an app, you can do this.

    🚀

    First run

    2 minutes, once · no typing

    Your download includes a launcher — double-click it and everything else happens on its own: installing what it needs, searching, opening your report.

    1. Open the job_pipeline folder you downloaded and double-click Start Daybreak.command.
    2. Open the job_pipeline folder you downloaded and double-click Start Daybreak.bat.
    3. First time only, macOS will likely block it — it wasn't downloaded from the App Store, so macOS wants your say-so. Click Done on the warning (not "Move to Trash"), then go to System Settings → Privacy & Security, scroll to the bottom, and click Open Anyway next to the Daybreak file. Enter your password, confirm, then double-click the launcher again. You only do this once per file.
    4. Don't see an "Open Anyway" button? It only shows for about an hour after a blocked attempt. Double-click the launcher once more, then head straight back to that settings page.
    5. First time only, Windows may show "Windows protected your PC." If so, click More infoRun anyway. You won't see this warning again after that.
    6. A small black window opens and narrates what it's doing — installing a few things, then searching Indeed and LinkedIn. First run takes about a minute; after that it's seconds.
    7. When it's done, your report opens on its own. That's it — no typing at any point. 🎉
    8. No Python on your computer yet? The launcher will say so and point you to python.org — install it once (tick "Add Python to PATH" during setup), then double-click the launcher again.

    Mornings on autopilot

    10 seconds · no typing

    Also in your folder: a second launcher that sets up the 7:00am schedule for you.

    1. Double-click Turn on autopilot.command. If macOS blocks it, approve it the same way as the first launcher — System Settings → Privacy & Security → Open Anyway.
    2. Double-click Turn on autopilot.bat (same "Run anyway" click the first time, if needed).
    3. A confirmation pops up once it's set — no need to check or verify anything.
    4. One honest note: your computer must be awake at 7:00am for it to run. If it slept in, just double-click Start Daybreak whenever you're up.
    5. Changed your mind? Run it again — a second click removes the schedule instead of adding a duplicate.
    🔑

    The special email password

    2 minutes

    Instead of your real password, Google makes a separate 16-character one that can only send mail — cancelable anytime.

    1. Open myaccount.google.com/apppasswords and sign in.
    2. Asked to turn on 2-Step Verification first? Follow the prompts, then return to that link.
    3. Name it daybreak, click Create.
    4. Copy the 16 characters into question 5 above. You'll never need them again.
    📋

    The self-filling tracker

    3 minutes, optional

    You'll give a Google Sheet a tiny "mailbox" address. Clicking Mark as Applying in your report delivers the job straight into it.

    1. Make the sheet. Go to sheets.new and type across row 1: Date Company Role Status Link
    2. Open its letterbox. Menu: Extensions → Apps Script. Delete what's there, paste this:
      function doPost(e) { var job = JSON.parse(e.postData.contents); SpreadsheetApp.getActiveSpreadsheet() .getActiveSheet() .appendRow([job.date, job.company, job.title, job.status, job.url]); return ContentService.createTextOutput("ok"); }
    3. Switch it on. Deploy → New deployment → gear → Web app. Execute as: Me. Access: Anyone. Deploy, and approve — you're giving your own sheet permission to receive rows.
    4. Grab the address (ends in /exec) and paste it into question 6 above.
    🛟

    If something looks wrong

    1. Empty report — job sites sometimes cold-shoulder automated visitors for a few hours. Try after lunch, or lower your cutoff.
    2. No email — nine times out of ten it's the password. Use the 16-character one, not your everyday one.
    3. Too many results — raise your cutoff to 45 or add deal-breakers.
    4. "Cannot be verified" / won't open on Mac — click Done, then System Settings → Privacy & Security, scroll down, Open Anyway. Approve each launcher once.
    5. Launcher opens in a text editor instead of running — it lost permission to run during unzipping. Unzip again by double-clicking the original .zip in Finder rather than using another unzip tool.
    6. Changing answers later — open either file with any text editor; your answers sit at the top in plain text. Change, save, done.