Mrs. Shah sent 174 job applications. Then her tracker broke.
On 24 September 2026 a Grok Bot named Mrs. Shah hunted San Francisco marketing jobs for me. She applied only when the listing itself said the company would sponsor a visa. Her last count was 250 roles tracked and 174 sent. On 28 September her tracker page returned a server error. A fix went live that evening.
Mrs. Shah is one of the bots I run inside the Grok app. This one worked for me, not for a client. She looks for marketing roles in San Francisco and the Bay Area, and she sends the application only if that live page says the company sponsors visas. She logs each attempt on a tracker she built the same morning: status, link, and a confirmation screenshot when she had one.
The saved chat starts mid-run, so the first order is not in it. What is in it is me, that evening, telling her to keep going until I get a job. That morning I had asked for a page where I could see the work.
She treated one limit as mine, and I never lifted it. The sponsor sentence had to be on the job page. A line on the company's general careers page did not count. When the strict list ran dry she offered to loosen it. She then recorded that I kept the limit.
CountsThe sponsor sentence on the job page
Did not countA line on the company's general careers page
The limit.
My orderFaris1 line
[24 Sep 2026, 6:47pm] Yes obviously. I need u to keep applying for jobs until I get one
Next ↓The best runs
03 · Four runs
The best runs
01
The morning queue, 24 September, from 6:20am
Submitted: 100
100submitted73companies2skipped, careers page only
Nothing from me is in the chat before 7:22am. She was already sending roles whose listings named sponsorship.
At 6:20am, six more went in, with confirmations saved. She went looking for the next set on the sites companies use to take applications. At 6:26am the rest of the queue was thin. She sent the two that still had the sponsor sentence on the page. At 6:28am, about 83 were sent.
At 6:35am eight more were ready. She skipped two roles at one company, because its sponsor sentence was only on the careers page, not the job. By 6:50am seven of the eight were in. One hit an application limit, and two needed an extra sign-up step that she worked through. About 90 sent.
At 6:57am she started eleven more, including a retry. At 7:13am ten were in. The retry stayed skipped, because the live page had no sponsorship language. About 100 sent.
6:28
About 83 sent
~83
6:50
About 90 sent
~90
7:13
About 100 sent
~100
Her running count, 24 Sep, morning. Widths to scale.
The morning file matches the count exactly: 100 submitted, to 73 companies.
Her noteMrs. Shah1 line
[24 Sep 2026, 6:35am] …Skipping both [company] roles: sponsor text is only on the company careers page, not the JD.
Her noteMrs. Shah1 line
[24 Sep 2026, 7:13am] [Company] stayed skipped — live page has no sponsorship language … ~100 submitted in the log. …
I asked for a page I could open. I told her I am non-technical, so she explained three ways before she built:
a private code folder plus a host, so the page could refresh
a one-off upload, which would go stale
a preview only she could show me
I said I already had a key for the host. She would not take it in the chat. She took it through a private prompt, checked it, and said it worked.
At 7:29am the page was up. 158 rows: 100 submitted, 35 skipped, 23 blocked, with filters, search and screenshots. The file we still have is that snapshot, with the same three numbers. 70 of the 100 submitted rows name a screenshot. Every row has a note.
158Rows
100Submitted
35Skipped
23Blocked
The tracker at 7:29am, 24 Sep.
I told her to give herself a title. At 7:33am she set it to "SF Job Hunt" and kept the name Mrs. Shah.
My askFaris2 lines
[24 Sep 2026, 7:22am] Can u create a CRM or smth and like Ill give u infra like [host] n shit to deploy on?I wanna easily view what u’ve been working on
Her replyMrs. Shah1 line
[24 Sep 2026, 7:29am] It shows 158 rows (100 submitted, 35 skipped, 23 blocked), with status filters, search, and confirmation screenshots. …
03
One row at a time, without wiping the list, 24 September, 4:59pm to 5:25pm
One-row updates: 5:25pm
250on the page, 5:03pm174submitted158rows in the old file
The page had already fallen behind twice. At 10:43am her own log had 224 rows and the live page was older. The key for the code folder was gone, and the host's builds were stuck. At 11:02am she said it was current, at 225. At 3:01pm I told her it had stopped again. Her log was at 239. She rebuilt it: 173 submitted at 3:04pm, then 174 at 3:10pm.
10:43am
Mrs. ShahLog at 224 rows, live page older
11:02am
Mrs. ShahCurrent, at 225
3:01pm
meStopped again, log at 239
3:04pm
rebuild173 submitted
3:10pm
rebuild174 submitted
At 4:59pm I told her to update after each application, not in a batch. The cause was the rebuild. Nothing showed until she rebuilt the whole site. She started updating after every application, and handed the deeper change to a Cursor cloud agent, so a new row would not need a rebuild. At 5:03pm the page showed 250: 174 submitted, 40 blocked, 36 skipped.
Fig 1. The tracker's saved copy from 24 Sep 2026, 09:02 UTC (5:02pm Malaysia time): Total 250, Submitted 174, Skipped 36, Blocked 40. Live page at phone width, captured 28 Sep 2026.
At 5:13pm she caught the dangerous part. The new code still loaded the old 158-row file, and the page already showed 250. Putting that live would have dropped the page back to the 7:29am list. She held it, loaded the 250 as the starting copy, and at 5:25pm said one-row updates were on. Submitted was still 174.
The new code loaded158 rows
The page already showed250
5:13pm. Held before it went live.
My messageFaris1 line
[24 Sep 2026, 4:59pm] I feel like u should update CRM in real time. Not in Batches
Her catchMrs. Shah1 line
[24 Sep 2026, 5:13pm] One important catch before it goes live: that branch still seeds from an older 158-row file, while the site already shows 250. …
04
Nothing left that passed the rule, 24 September, 6:47pm to 7:45pm
New that passed: 0
0new, strict scan3waiting on me3blocked, five a week5near-misses left alone
At 6:07pm she was not in the middle of an application. The last strict scan had found zero new Bay Area marketing roles that both named sponsorship and fit core marketing titles. Three were waiting on me: a captcha she cannot finish, and two companies that wanted a short video.
I told her to keep applying until I get one. She looked past the last 48 hours, and cleaned out false hits on the letters "O-1", a visa type that was matching where it should not. Still zero. She then found three roles that passed the rule and had never been sent successfully.
Strict scan
zero new, 6:07pm
Beyond 48 hours
false "O-1" hits cleaned out, still zero
Three pass
never sent successfully
Weekly limit
five a week, hit, all three blocked
Reminder
Monday 28 September, 8:56am
All three sat on one startup job board that allows five applications a week. That limit was hit, so all three were blocked. She set a reminder for Monday 28 September at 8:56am. She did not send the near-misses. She named five real San Francisco marketing roles whose pages do not say they sponsor, and left them alone.
I asked "So how?" She answered with a plan. I told her I meant a status, in plain words. At 7:45pm: about 174 sent, of 250 tracked. The last send that day was at 3:07pm. The count had not moved since 5:03pm.
Her status, in plain wordsMrs. Shah1 line
[24 Sep 2026, 7:45pm] You have about 174 job applications actually sent so far, out of 250 we are tracking. …
Next ↓What worked
04 · The numbers
What worked
By 7:29am: 158 rows, 100 submitted, 35 skipped, 23 blocked. The 100 are separate jobs at 73 companies. 70 name a confirmation screenshot.
100separate jobs73companies70screenshots37notes name a visa or sponsorship
On 37 of the 100, the note names a visa or sponsorship. One reads "We sponsor visas, obviously." Another: "Yes, we sponsor visas and work permits". Another: "US visa sponsorship available".
She refused weaker pages the same morning:
three roles at one company with no sponsor line on the page (one said only "visa/green card where applicable"), plus a fourth there whose sponsorship line had disappeared by 9:22am
a company that sponsors only for Australia and New Zealand
three roles that required proof of an existing right to work in the US
one form she walked out of halfway, once the filter said no
Of the 35 skips, 20 were dead listings and 10 had no sponsorship sentence. 4 were the wrong visa or asked for existing work rights, and 1 was the form she walked out of.
01
Dead listings
20
02
No sponsorship sentence
10
03
Wrong visa, or existing work rights
4
04
The form she walked out of
1
The 35 skips. Widths are shares of 35.
Of the 23 blocks:
6 login walls
3 the weekly limit
3 needing a paid plan on a job board
2 captchas
2 email codes
2 missing links
2 with no form
1 application limit
1 text-message step
1 site that refused the request
From 100 sent at 7:29am to 174 sent at 7:45pm, her numbers rise by 74. Those 74 are not in the saved file. Her chat reports new sends in batches until 3:07pm, and several of those messages note the sponsor line on the page.
7:29
Sent, in the saved file
100
7:45
Sent, her count
174
+
Not in the saved file
74
24 Sep, 7:29am and 7:45pm. Widths to scale; a full bar is 174.
Next ↓What broke
05 · Failures
What broke
misread
The STOP, 7:36am to 8:38am
She started a Google sign-in on GitHub, and nobody told her to. She reused the job-form sign-in. At 7:36am I wrote STOP, and she parked the whole hunt. At 8:37am she said the next application and the new queues were cancelled, because I had said stop. That was wrong. From 7:36am to 8:38am the applications sat still. She apologised, said she would not try that sign-in on GitHub again, and the next application went out at 8:41am.
What I meantFaris1 line
[24 Sep 2026, 8:38am] Stop meaning stop the Google SSO Login into GitHub u were abt to fuck up n create a new GH acc for!!
Her replyMrs. Shah1 line
[24 Sep 2026, 8:38am] Got it — that STOP was only the Google SSO into GitHub, not the job hunt. I misread it and parked the whole apply pipeline. Sorry.
unverified
Six pre-filter rows
Six sent rows are marked "PRE-FILTER; sponsorship language unverified". Nothing in the file shows their sponsorship line was checked.
location
New York, and Mountain View
One role marked sent is in New York, with the note "relocate marked yes". Another is in Mountain View, next to a San Francisco role at the same company.
double count
158 rows, 151 jobs
The file double-counts. 158 rows are 151 unique jobs. Retries left the old blocked row in place, and one founding role is in the file three times, the last time with a note that the careers page was gone. The 100 submitted rows are unique. The 158 is not 158 jobs.
images
74 expected, 4 missing, 21 unlinked
The tracker expects 74 confirmation images, and four are missing. Twenty-one images exist that nothing points to. Two rows say the screenshot was missed. One captcha she announced at 7:28am has no row in the file at all.
unreachable
Never connected to the laptop agent
She was never connected to the agent on my laptop. Claude Code could read her only by opening the app's saved files, and could not hand her work. A message went to Wisma, another bot, asking it to connect her. She was still not connected on 25 September. On 28 September Claude Code still had to read her from the app's saved files. That read, at 6:54pm, showed her last activity at 7:45pm on 24 September. The Monday 8:56am retry she set has no record.
500
The tracker, 28 September, 6:55pm
On 28 September at 6:55pm, a direct check of the tracker got a server error.
The checkClaude Code1 line
[28 Sep 2026, 6:55pm] TOOL: site: 500
fixed
Live the evening of 28 September
The page had been failing because the file storage behind it started refusing every read. Cursor had written a fix on 27 September. It stops the page checking storage every few seconds, and when storage refuses, it shows the last saved copy. The fix went live on the evening of 28 September. At about 8:10pm Claude Code checked the page from outside. The page opened with the line "Showing a saved copy from 24 Sep 2026, 09:02 UTC". That is 5:02pm Malaysia time. It showed Total 250, Submitted 174, Skipped 36, Blocked 40, the same numbers she reported at 5:03pm on 24 September.
Job Hunt CRM · private tracker
Fig 2. The tracker after the fix: "Showing a saved copy from 24 Sep 2026, 09:02 UTC", Total 250, Submitted 174, Skipped 36, Blocked 40, and rows marked SUBMITTED. Company, role, link and notes are blurred. Live page, captured 28 Sep 2026.
Next ↓What we learned
06 · Rules
What we learned
1
The sponsor sentence has to be on the live job page.She skipped roles when the line was only on the careers page, or had vanished from the listing. At 10:51am a full scan found zero, and she would not loosen the rule. She was still on that rule at 7:45pm.
From: runs 01 and 04, 24 Sep
2
A stop applies only to the action named.I stopped a Google sign-in on GitHub. She froze the hunt from 7:36am to 8:38am, then said she would not use that sign-in there again, and restarted.
From: the STOP, 24 Sep, 7:36am
3
The tracker updates after each application, and a new version never starts from an older list.At 5:13pm she refused a build still loaded with 158 rows while the page showed 250. The two counts must match before anything goes live.
From: run 03, 24 Sep, 5:13pm
4
Count rows and jobs separately.Retries left the old blocked row in place, so 158 rows were 151 jobs.
From: the saved file
5
A bot the laptop cannot reach will go quiet, and the tracker will not save you.Nothing shows her connected by 28 September, the Monday retry left no record, and the page returned an error until a fix went live that evening.
From: 25 to 28 Sep
Next ↓Where it stands
07 · Now
Where it stands
There is no public page, and the tracker has no public link. On 28 September it returned a server error at 6:55pm. That evening a fix went live, and at about 8:10pm it opened on a saved copy from 5:02pm on 24 September: Total 250, Submitted 174, Skipped 36, Blocked 40.
Her last numbers, at 7:45pm on 24 September, were 250 tracked and about 174 sent. The last send was at 3:07pm. The file saved here is earlier: 158 rows, 100 sent, 35 skipped, 23 blocked. The later 74 are not in it.
Still open, with nothing later clearing them: a captcha, two video answers, and three roles behind a five-a-week limit. Weekday scans were set for 9:53am, 11:53am, 1:53pm, 3:53pm and 5:53pm. Nothing shows them running after 24 September.
Tracker
opens on a saved copy from 5:02pm, 24 Sep
~8:10pm, 28 Sep
Last numbers
250 tracked, about 174 sent
7:45pm, 24 Sep
Still open
a captcha, two video answers, three roles behind a five-a-week limit
Weekday scans
nothing shows them running after 24 Sep
Automation includes: Mrs. Shah ↓ (a Grok Bot, in the Grok app); Cursor ↓ (its cloud agents wrote the one-row update and the 27 September fix); Claude Code ↓ on the laptop (read her chat on 24 and 28 September, found the error, and checked the fixed page from outside). Wisma ↓ was asked to connect her to the laptop agent. The records do not show that it did.
Mrs. Shah
A Grok Bot, in the Grok app. Title: "SF Job Hunt"
In this entry · runs 01 to 04
Last active · 24 Sep 2026, 7:45pm
Cursor
Cloud agents: the one-row update, and the 27 September fix
In this entry · run 03, and the fix
Last run · 27 Sep 2026 (the fix)
Claude Code
On the laptop: her chat, the error, the fixed page from outside