The tutoring job board, screened and applied to while you get on with your day.

A Windows app that reads the Wyzant job board, decides which postings are worth answering, prices each one, writes the application and submits it. It runs unattended on a timer. The model can run entirely on your own PC — free, private, no key — or on your own API key.

Runs on your own GPU No account, no subscription to us Starts in dry run Windows + Chrome

Read this before anything else

Automating job applications is very likely against Wyzant’s Terms of Service, and accounts that do it can be suspended. That is a decision for whoever runs it, and the consequences land on their account — not ours. This is stated here for the same reason it is the first thing in the manual: you should be able to decide against it before you install anything.

How it works

Three pieces, all of them on your machine.

There is no cloud service in the middle. The only thing that leaves your PC is the job application itself, and that goes to Wyzant from inside the Chrome you are already signed into.

  Wyzant Local.cmd            the app window
        |
        v
  Node server (127.0.0.1:7788)  <--->  a model
        |                                Ollama on this PC    (free, no key)
        |                                Claude               (your API key)
        |                                any OpenAI-style API  (your API key)
        v
  Chrome extension "Wyzant Local Bridge"
        |
        v
  wyzant.com, using the session you are already signed into
The design decision that matters

The model is not trusted with anything that has to be right every time.

Screening, skipping and pricing are lists and arithmetic, so they are code. A list cannot hallucinate. The model is asked for the two things that genuinely need judgement, and both are checked afterwards.

DecisionDecided by
Is the subject one you actually takecode
Is it a skip — wrong level, agency posting, a subject you are not cleared forcode
Is it a partial-subject fit, where the whole posting should be skippedcode
Have we already applied to this jobcode
Which rate band the posting falls incode
The exact rate inside that bandmodel, then clamped
The message textmodel, then validated
Length, plain ASCII, no money talk, no credential boasting, the days and hours you allow, no invented subject, correct grammarcode
Fetch the posting, build the form, submitcode

A message that breaks a rule is handed back to the model with the exact complaint and rewritten, up to a configured number of attempts. After that the posting is skipped. A skipped posting costs nothing; a bad application goes to a real person.

Guards

Every one of these exists because something went wrong once.

Priced off the posting, never the form

The application form carries a suggested rate that simply mirrors your profile. It has read the same number against four different postings. The bid comes from the posting’s own recommendation instead.

Fetch and submit are one call

Splitting them lost a real application once — the form token dies in the gap. They stay fused.

The job id must match

If the form that comes back is not for the posting we meant to answer, it aborts rather than submitting to the wrong one.

The duplicate guard is the job id

Not a running count. Two runs can overlap, so a count that moved may have been moved by something else.

Subject drift is rejected

The model once answered a general chemistry posting with “organic chemistry mechanisms.” A course it names must appear in the posting.

A bad setting reports itself

A rate band outside the hard floor or ceiling is flagged when you save it, because the hard limits win and the edit would otherwise look accepted and do nothing.

Scope

What it does not do.

It reads the board and applies. That is the whole job.

You need Windows, Chrome, and either Ollama with a model pulled locally, or an API key you already pay for. There is a self-test you can run that checks the whole chain and touches nothing on wyzant.com.

Price

$149, paid once.

Not a subscription. You own the copy you buy, and it keeps working whether or not I do anything else with it. There is nothing to cancel and no account on my side.

What you pay for

The app, the Chrome bridge, and the manual. Every setting described on this page is yours to change — subjects, skips, rate bands, message rules, timing.

What you also pay for, separately

Nothing, if you run the model on your own PC. If you would rather use Claude or an OpenAI-compatible endpoint, that is your own API key and your own bill — it never touches mine.

What I am not going to claim: that it will get you students. I built it for my own tutoring account and I can tell you what it does mechanically — it reads the board and applies, quickly, all day, without you. Whether an application turns into a booking depends on your profile, your rates and your subjects, and I am not going to pretend otherwise on a sales page.

Interested?

Tell me which subjects you are cleared for and roughly how you tutor, and I will tell you whether it is a fit before you pay anything.

Or email michael@mlsscribe.com directly.