Skip to content

Jobs To Be Done

People don’t buy products—they hire them to get jobs done. This page documents the specific jobs users hire caro to perform, using the canonical JTBD framework from Anthony Ulwick’s Outcome-Driven Innovation methodology.

Jobs, Not Features

Users don’t care about caro’s 50 safety patterns or bundled model. They care about not breaking production and getting work done even when offline.

Hiring and Firing

When users “hire” caro, they’re “firing” something else—manual review, Google searches, or cloud-dependent AI tools. Understanding what gets fired reveals the real job.

Three Job Types

Functional: Tasks to accomplish. Emotional: How users want to feel. Social: How users want to be perceived.


Jobs use the canonical format: When [situation], I want to [motivation], so I can [outcome].

When I’m about to run a command in production, I want to validate it won’t cause damage, so I can prevent outages and keep my systems running.

AttributeValue
ImportanceCritical
FrequencyDaily
Satisfaction GapHigh

When I’m working in an air-gapped or restricted environment, I want to get AI assistance without network access, so I can be productive even when isolated from the internet.

AttributeValue
ImportanceCritical
FrequencyDaily
Satisfaction GapVery High

When I know what I want to do but not the exact command syntax, I want to describe my intent in plain English, so I can get a working command without searching documentation.

AttributeValue
ImportanceHigh
FrequencyDaily
Satisfaction GapMedium

When I’m writing commands that need to work on Mac, Linux, and CI, I want to generate platform-aware commands automatically, so I can stop debugging BSD vs GNU flag differences.

AttributeValue
ImportanceHigh
FrequencyWeekly
Satisfaction GapHigh

When I’m troubleshooting an incident at 3 AM, I want to get commands quickly without making mistakes, so I can resolve incidents faster without causing additional damage.

AttributeValue
ImportanceCritical
FrequencyWeekly
Satisfaction GapHigh

When I’m responsible for my team’s command-line safety, I want to deploy safety standards without micromanaging, so I can protect my team from dangerous commands automatically.

AttributeValue
ImportanceHigh
FrequencyMonthly
Satisfaction GapVery High

How users want to feel when doing their work.

Job: Feel confident when running production commands

Pain Point: Anxiety about accidentally breaking things

How caro helps: Deterministic safety validation provides certainty before execution


How users want to be perceived by others.

JobContextHow caro helps
Be seen as careful and professionalTeam environments where mistakes are visibleVisible safety validation shows diligence to colleagues
Be seen as the person who prevents incidentsEngineering teams that value reliabilityCatches dangerous commands before they cause problems
Be seen as security-consciousOrganizations with compliance requirementsOffline operation and zero telemetry satisfy security teams

Events that cause users to actively seek a solution:


What users measure success by (Outcome-Driven Innovation format):

Outcome StatementMetricWithout caroWith caro
Minimize the time to validate a command is safeSeconds from command to verdict30-60s (manual review)<100ms
Minimize likelihood of running destructive commandsDangerous commands executed/monthVaries by vigilanceZero (blocked)
Minimize time to get a working commandSeconds from intent to command2-5 min (Google + trial/error)<2s inference
Minimize dependency on network connectivity% functionality available offline0% (cloud AI tools)100% (bundled)
Minimize cross-platform debugging timeTime debugging BSD vs GNU15-30 min per issueZero (platform-aware)

What solutions users “fire” when they “hire” caro:

  • Fires: Manual review, hope and prayer, bash aliases with safety checks
  • Hires: caro’s deterministic pattern matching
  • Because: Can’t hallucinate, doesn’t require vigilance
  • Fires: ChatGPT (requires network), Copilot CLI (requires network), Stack Overflow searches
  • Hires: caro’s offline-first AI
  • Because: Works in restricted environments, no cloud dependency
  • Fires: Man pages, TLDR pages, Google searches
  • Hires: caro’s natural language interface
  • Because: Describe intent, get working commands instantly
  • Fires: Trial and error, maintaining separate scripts, conditional shell logic
  • Hires: caro’s platform detection
  • Because: Generates correct flags for current platform

Step-by-step breakdown of the core job:

graph LR
A[1. Define] --> B[2. Locate]
B --> C[3. Prepare]
C --> D[4. Validate]
D --> E[5. Confirm]
E --> F[6. Execute]
F --> G[7. Verify]
StepActionExamplecaro’s Role
DefineDecide what action to take”I need to delete old log files”Understands natural language intent
LocateIdentify what to operate on”Files older than 30 days in /var/log”Generates correct find/date syntax
PrepareFormulate the commandfind /var/log -mtime +30 -deleteCreates platform-correct command
ValidateCheck command is safe”Is this going to delete something important?”Matches against 52+ dangerous patterns
ConfirmMake go/no-go decisionSafe verdict gives confidence to proceedClear safety status with explanations
ExecuteRun the commandPress enter with confidenceOptional: direct execution with safety gate
VerifyConfirm expected resultCheck files were deleted correctlyCan generate verification commands