I moved my AI jobs off a US$99-a-month service. Each run now costs cents.
I was paying US$99 a month for a remote agent service to run five recurring jobs. I rebuilt them as scheduled jobs in one afternoon. The first test runs cost $0.16, $0.30 and $0.36 in data. Here is what it took, and what broke.

I had five jobs I wanted to run on a schedule: two that look for leads every day, two weekly research jobs, and one that checks my messages every two hours. They ran on a remote agent service that cost US$99 a month, and I never found it easy to see what it was doing.
So I spent an afternoon rebuilding them as plain scheduled jobs. This is the setup, the first real costs, and the five things that broke on the way.
Decide where each job can run
The first question wasn't about AI. It was: what does this job need to touch?
Four jobs only needed online services, so they could run on someone else's computer with my laptop closed. The fifth reads my chat apps through a program that only exists on my Mac. That one had to stay local. It runs every two hours while the laptop is awake, and each run covers everything since the last successful one, so a missed run just means a longer report.
Splitting jobs this way saved me from the mistake I nearly made, which was renting a server to keep one desktop app alive.
What the first runs cost
Each cloud job starts on a fresh machine, does its work and disappears. The schedule itself is included in the AI subscription I already pay for. What each run buys is data, and I capped that per job.
| Job | How often | Cap per run | First test run | Result |
|---|---|---|---|---|
| Weekly market research | Weekly | $0.50 | $0.30 | 5 new leads |
| Review-gap lead finder | Daily | $0.50 | $0.36 | 1 weak lead from 80 firms |
| LinkedIn engagement lead finder | Daily | $0.75 | $0.16 | 0 leads |
The fourth cloud job, a weekly content-research run capped at $1.20, was still running when I wrote this, so it isn't in the table.
If every job hit its cap on every run, the data would cost about $45 a month. The first runs came in at roughly half their caps.
Those are single runs, not a track record. One job found nothing at all: it read 1,304 posts, judged 4 to be the right audience, and then dropped all 4 because the authors weren't in Singapore. I'd still count that as the system working. A job that reports "nothing worth your time today" is more useful than one that fills a list to look busy.
Five things that broke
None of these were about the AI being wrong. They were ordinary plumbing.
- The wrong software version. A tool I depend on needed a newer version of Python than the cloud machine had. The install failed until I pinned the version.
- A locked-down network. The cloud machine could only reach a fixed list of websites. Every call to my data provider came back blocked until I added the sites by name.
- Secrets in the wrong place. The jobs read their keys from a file on my laptop. In the cloud they had to come from the environment's settings instead.
- No memory between runs. A fresh machine forgets what it found yesterday. Without a fix, a daily lead finder would find the same leads daily and pay for them again.
- Files my notes app couldn't see. The first reports were saved without a file ending, so they didn't show up in my notes.
The memory problem was the interesting one. My fix was a dated ledger file per job, kept in the same folder as my notes. Each run reads the newest ledger, skips anything already in it, and writes a new one. Each job also checks my customer list before adding anyone, so a firm can't be added twice.
What I checked before trusting it
I ran every job once by hand and read the full log before switching on its schedule. I also read back the ledger the first run wrote, to confirm the next run could actually use it. That check found the missing file endings.
Every job has a hard spending cap, and none of them can send anything. They find, grade and file. I decide who to contact.
Was it worth it?
I can't claim savings yet. I've had one clean run of each job, and I haven't cancelled the old service yet.
What I have today is visibility. Every run has a log I can read, a cost I can see, and a report in my own notes. That's what I was missing at US$99 a month, and it's why I'd make the same move again even if the bill came out level.