Heliostat.
Think
Pitch
Commit
Build
Cooldown

Ship without
the standup.

Shape Up for the developer who does everything alone. Fixed cycles, variable scope, honest hill charts — and a Senior who actually pushes back.

Read the methodology →

No credit card · Free for one project, forever · Shape Up for solo developers

◐ BUILD · W2/6 Q2 · Settings & billing polish
live
Stripe Email Cooldown Push
TUE · FOCUS

Finishing the Stripe portal swap today. Pairing with Maya on auth at 3.

The cycle · one loop, five phases
Think

Mind-map your raw ideas. Markdown notes, [[wikilinks]], #tags, image attachments. Promote a cluster to a Pitch when it's ready.

Pitch

Name the pain, sketch a solution, surface the risks. The Senior challenges your no-gos.

Commit

Pick what you're actually shipping. A budget bar, click-to-commit, then hands off the stove.

Build

Break into scopes. Move dots on the hill chart. Log the unplanned — honestly.

Cooldown

Rest. The coach drafts lessons from what actually happened. You save the ones that stick.

Honest hill charts

Your scopes live on a curve, not a percentage. Idle dots flag themselves.

The Senior

An AI that pushes back on your pitches. Proposes no-gos. Drafts retro lessons.

Public pitch inbox

Your users submit pitches to /u/you. You turn them into real ones, one click.

Bring your own AI

OAuth 2.1 + MCP at /mcp. Plug Claude, Cursor, or any MCP client into your pitches, scopes, and notes.

Built-in AI reviewer · Pitch

The Senior

A senior developer that reviews your pitches, surfaces holes you missed, and proposes concrete rewrites you can apply in one click. It asks pointed questions — never decides for you.

S

That names the feature, not the pain. What breaks today?

Good point — rethinking…

A
Rewrite proposed

Problem: paste blocks the editor when the clipboard is large.

Apply rewrite
Built-in AI facilitator · Cooldown

The Retro Coach

A facilitator that walks the finished cycle with you — reads what shipped, what interrupted, and where scopes stalled, then asks the questions that turn a cycle into a lesson. When one lands, it proposes the wording; you save it in a click.

R

Onboarding tour stalled at 28% for two weeks. What kept you from cutting it?

Kept thinking it was almost there.

A
Lesson proposed

A nice-to-have that hasn't moved in a week is a cut, not a carry.

Save lesson
Automatic logging

Tracking that writes itself.

Your workflow already produces signals. Heliostat reads them — no status meetings, no ticket grooming.

Scope tags

Commits find their scope automatically.

Every scope gets a short tag — any word you want (auth, billing, pickles). Each incoming commit is checked three ways, in order — the first hit wins:

  1. 1 Branch match. If the commit's branch starts with the tag or contains /<tag>, it links. auth matches auth-fix, feat/auth-login, bug/auth. Longest tag wins.
  2. 2 Scope in the message. Any commit type naming the tag — feat(auth):, fix(auth) …, chore:auth …, feat/auth … — all link. Not just feat. Tag match is exact or suffix (feat/auth hits a scope tagged auth).
  3. 3 Merge commit source. For Merge pull request #N from user/feat-auth or Merge branch 'feat/auth', the source ref is pulled from the message and run through step 1 — so a PR landing on main still finds its scope.

No match? The commit drops into unplanned work automatically — you still see it at cycle end.

Incoming commit
fix(auth): redirect loop
on bug/auth-hotfix
Scope tags
User Auth auth
· Onboarding onboard
· Dashboard pickles
bug/auth-hotfix contains /auth — User Auth wins.
Message direction

Uphill or downhill, from the prefix.

Once linked to a scope, the message prefix classifies the work as figuring‑it‑out or executing. The hill chart uses it as a second opinion when you check in.

↗ Uphill figuring it out
  • feat(auth): start OAuth flow
  • spike: Turbo Streams vs Cable
  • explore: pricing page variants
  • wip(billing): Stripe intents
  • poc: serverless PDF export
↘ Downhill executing
  • fix(login): prevent double-submit
  • test(orders): cover refund path
  • refactor: extract Session service
  • chore: bump Rails to 8.1
  • docs: update deploy steps

Also accepted: FEAT: (case-insensitive), feat!: / feat(auth)!: (breaking), feat(test) msg (no colon), feat:auth msg (colon shorthand), feat/auth msg (slash shorthand), and feat msg (bare). Anything else — Merge pull request, Update README — is recorded but not classified.

Unplanned work

Auto‑logged when commits don't fit.

Unmatched commits become unplanned work automatically — half an hour by default, titled from the commit message. Tap to log one manually.

At cycle end you see interruption %. Above 15% signals a shorter next cycle.

Log unplanned work
Safari login bug
2h
Log it
~

Prefix a scope name with ~ to mark it nice‑to‑have — first to cut when time runs short. No ceremony.

Public inbox

Let people send you pitches.

Turn on a public link and share it anywhere — GitHub profile, Twitter bio, your README. Every submission is filtered for abuse, moderated, and drops into your pitch queue alongside your own ideas.

One link, per account

Your audience has ideas. Collect them without a form service.

  • Keyed on your GitHub username — heliostat.dev/u/yourname. One toggle in Submissions turns it on.
  • Anonymous by default. No login, no tracking. Submitters can leave a name if they want the credit.
  • AI moderation filters abusive content before it reaches you. Blocked items auto-delete after 30 days.
  • Approved submissions arrive as a notification — email and, if you've opted in, a push to your installed PWA.

Accept a submission and it becomes a real pitch, ready to shape and commit to a cycle.

Your public link
heliostat.dev/u/yourname Live
Anonymous pitch
Problem
Readme search on the docs site can't find anything older than 6 months.
Solution (optional)
Rebuild the index on deploy. Surface freshness in results.
New Awaiting review
Readme search on the docs site…
Accept → becomes a pitch
Start here

Ready to pitch your next cycle?

Start free. Upgrade to Solo when you're ready for unlimited projects and AI personas.

Read the methodology →
🍪

Cookies

Heliostat uses a few essential and functional cookies (sign-in, timezone, this notice) and no analytics or ad trackers. Details in our Privacy Policy.

Privacy