BLOG/BY ROLE
THEME
BY ROLE

OrchStep for indie hackers

You're the whole team. Ship, back up, and check your numbers from one binary — every chore you repeat written down once, so future-you doesn't relearn it at midnight.

Apr 8, 2026 OrchStep Team 6 minROLE: Indie HackerSCALE: Any
RUNNABLE DEMO
Full source for this post: blog/indie-ship
VIEW SOURCE

When you're shipping solo you are the entire ops team, and your CI/CD is a folder of half-remembered shell. The deploy command lives in your bash history. The backup is a thing you mean to automate. Your "metrics dashboard" is a query you re-type. None of it is hard — but every chore you keep in your head is a chore future-you has to reconstruct, usually at midnight, usually right after something broke.

You don't need a platform for this. You need the three or four commands you actually repeat, written down once, in one binary you can run on your laptop or from a cron line.

This post is the solo founder's starter kit: ship, back up, daily digest — one OrchStep workflow.

Your whole ops layer, in one file

ship builds, deploys with a retry and an automatic rollback, then smoke-checks. backup is the thing you point a cron at. digest is your morning numbers.

orchstep.yml
name: side-project
# One binary, every chore a solo founder repeats: ship, back up, digest.
defaults:
  app: my-saas
  tier: production

tasks:
  # `orchstep run ship`
  ship:
    steps:
      - name: build
        func: shell
        do: echo "building {{ vars.app }}"
      - name: deploy
        func: shell
        do: echo "deploying {{ vars.app }} to {{ vars.tier }}"
        retry:
          max_attempts: 3
          interval: "1s"
          backoff_rate: 2.0
        catch:
          - name: rollback
            func: shell
            do: echo "rollback {{ vars.app }}"
      - name: smoke
        func: shell
        do: echo "GET / -> 200"

  # `orchstep run backup` (point a cron at this)
  backup:
    steps:
      - name: dump
        func: shell
        do: echo "dumping database snapshot"
      - name: store
        func: shell
        do: echo "uploaded snapshot to object storage"

  # `orchstep run digest`
  digest:
    steps:
      - name: signups
        func: shell
        do: echo "new signups today - 12"
      - name: revenue
        func: shell
        do: echo "MRR delta +$240"

What you get for almost no ceremony:

  • deploy retries and rolls back — three attempts with backoff, and a catch: that reverts if it still fails. That's the safety net you'd never bother hand-rolling for a side project, here in six lines.
  • backup is cron-readyorchstep run backup is a single line to drop in a crontab; no wrapper script.
  • It's all discoverable — six weeks from now you won't remember the task names, and you won't have to.

Run it, or forget it and run it anyway

orchstep run ship
orchstep run backup
orchstep run digest

Came back to the project after a month and forgot what you'd automated? Don't grep your shell history — ask:

orchstep menu

A fuzzy task picker lists everything with single-key hotkeys, and it refuses to hang in a pipeline, so the same backup is safe from cron. Before a risky deploy, preview it:

orchstep run ship --dry-run

What you gained

ChoreBeforeWith OrchStep
Deploya line in bash historyorchstep run ship (retry + rollback)
Backups"I'll automate it later"orchstep run backup in cron
Daily numbersre-typed queryorchstep run digest
Remembering it allyour memoryorchstep menu
Safe risky deployscross fingers--dry-run first

This is the opposite of a heavyweight platform — no daemon, no signup, no YAML sprawl, one binary you can delete by removing a file. If your whole project is a single deploy command, you don't need it. The moment you have three chores you keep relearning, this turns them into something future-you can just run.

Where to go next

Write down the three commands you keep retyping, run orchstep menu to find them next month, and stop reconstructing your own ops at midnight.

#INDIE#SOLO#DEPLOYMENT#AUTOMATION
Try it in two minutes — one binary, no signup.
curl -fsSL https://orchstep.dev/install.sh | sh

RELATED — BY ROLE