An agent-maintained record
You already said it. Stop typing it in again.
The work happens. Then somebody is supposed to write down that it happened, and nobody does. StratOps removes that second step: you tell Claude what you did, in the conversation you were already having, and the record updates itself.
It is deployed — check that before reading another word
$ curl https://stratops.stratops.workers.dev/health
{"ok":true,"environment":"production","foreign_keys":"enforced"}
One sentence. One approval. Four records.
Not a mockup. Each row below is a real tool call writing a real row, the last time this exact exchange happened.
You say
“Just got off a call with Sarah at Acme. They want the pilot, and I owe her a proposal by Friday.”
Claude asks once, for one tool. You approve once.
- MeetingAcme pilot call — dated when it happened, never invented. If you didn't say when, you get asked.
- ContactSarah, Acme — matched to the Sarah you already have, or created if she's new.
- DealAcme pilot moved to its new stage, not duplicated. The move is written to a trail, so "how long has this sat in proposal" stays answerable.
- TaskSend Sarah the proposal, due Friday in your timezone, attributed to the call.
If "Sarah" could be two people you know, it names both rather than picking one. A duplicate contact splits her deals in two, and there is no undoing that.
You say, a minute later
“We're going with the cheaper vendor — the migration cost is the real risk. Look at it again in November.”
- DecisionThe context, the option taken, and why — in your words, not a summary of them.
- Review dateNovember, so it resurfaces instead of being forgotten alongside the vendor.
- OutcomeBlank on purpose. You write how it went when November comes, not before.
The work happened. The record of it didn't.
Here is a Tuesday you have probably had.
9:40 — You tell Claude about the call with Sarah. They want the pilot. You owe her a proposal by Friday. They pushed back on migration cost, not price.
11:15 — Three hours on the onboarding flow. It ships. You mention it in passing.
2:00 — You rule out the pricier vendor, and say exactly why, better than you will ever explain it again.
By Friday the proposal is late, because nothing was tracking it. Sarah is in no CRM, because adding her meant retyping a name you had already said out loud. In November someone asks why you picked the cheaper vendor, and you remember there being a good reason.
That is not a discipline problem. You did the work and described it precisely, the first time. Every system you own asks for a second pass, and the second pass never happens. Scrollback is not a system of record — no schema, no sortable dates, no answer to what moved this week, and it disappears.
StratOps is not another place to type. It removes the second typing.
Three steps, then you stop thinking about it.
- Connect it onceIn Claude: Settings → Connectors → Add custom connector. A URL ending in
/mcp, then sign in with Google. One deployment, in the account of the person who built it — there is no self-serve way to stand up your own. - Talk about work that already happenedPast tense, your own words, in the conversation you were already having. Each write tool is named for the verb in your sentence, so one sentence costs one approval instead of several. Reads never prompt: asking is free, writing is visible.
- Ask it backSame conversation, whenever you want. There is no dashboard to keep current, because nothing is stored that could go stale. Health and momentum get worked out when you ask — nothing runs on a schedule, and nothing arrives unprompted.
Numbers you can re-run, not logos you have to trust.
No logos, no rating, no testimonial — there are no customers. What exists instead is a set of things that produce a number.
8,724
rows migrated
36
tables
44
tools
546
automated checks
0
runtime dependencies
0
log statements
8,724 rows is one operator's real record, about six months of it, migrated 2026-08-17. Not one log statement means no token has ever reached a log line, because there isn't one to reach.
A tenancy probe, run against real account data
55 cross-account attempts, across 27 tables
47 refused by the database itself
8 guarded in code, where SQLite cannot express the key
The probe builds two accounts and writes one account's row into the other's data, across every table. Most of that isolation is structural — the database itself refuses the write. The rest is checked in code, and named as the smaller, weaker category rather than folded into the bigger number.
The dashboard prints not measured rather than 0%. Calibration — whether your decisions turned out the way you thought — refuses to score below five closed decisions. With 112 decisions logged and 0 outcomes recorded so far, it currently reports nothing. That refusal is the argument: a number it can't stand behind doesn't get shown, not even a hopeful zero.
Who this is for, and who should stop reading.
One seat, no signup. Better to lose the wrong reader early.
This is for you if
- You already work through Claude, and that is where the thinking happens.
- You are one person carrying the whole picture — deals, delivery, decisions.
- You have abandoned two trackers, and know which step killed them.
- You would rather hear a number can't be computed than see a fake one.
This isn't for you if
- You need a shared team record. One person per account, and a second cannot sign up today.
- You need to buy it. No price, no plan, no trial, no way to pay.
- Procurement wants a certification. There is none, and none is in progress.
- You want a screen. There is no dashboard, and no fake one standing in for it.
Where it stops.
These are the facts that decide it. Every line describes today, not a roadmap.
- One person per accountNo user, session, member or role table exists. Today a second person cannot get a credential except by an operator editing the database by hand.
- There is no dashboardTalking is the whole surface. Uploading a file, connecting a mailbox or a bank, and issuing a credential cannot be done by talking — the page they belong on does not exist.
- Nothing runs on a scheduleAn alert is stored faithfully, but no checker exists, so it can never fire on its own. Nothing arrives while you are asleep.
- Documents are filenamesA document can be recorded and linked. Its contents are not stored and not searched, and there is no upload path.
- The undo reaches one step backRetracting a capture undoes the most recent one — not any past write, and not a contact. An ambiguous name is refused for exactly this reason.
- No export button, and no lock-in eitherThere is no export tool — a real gap, not a boast. What exists instead is the shape of the storage: plain SQL, queryable by whoever holds the account, in no proprietary format.
- It is not for saleNo price, no plan, no trial, no free tier, and nothing withheld as a tactic. Built and run by Jake Hodges, for one operator.
If this is the thing you keep wishing existed
No signup, no funnel. One address, with a person on the end of it.
Tell me two things: what are you keeping in your head because no tool has earned it, and what did you abandon trying to keep it elsewhere? If StratOps would help, I will say how. Mostly it would not — most people need a screen, or a second seat, and neither exists here.
You will get a reply from a person. No list, no sequence, no newsletter.