Shape Up — for solo developers

One person.
One methodology.
No overhead.

Fixed time, variable scope, honest hill charts — Shape Up adapted for the developer who does everything alone.

Invite-only beta · GitHub sign-in after invite · No credit card

Hill Chart

Cycle 3 · Week 2 / 4
W1
W2
W3
W4
Figuring it out ↗ Making it happen ↘ Dashboard Email Auth
Dashboard
Email notifications ⚑ 6d idle
User Auth

The cycle

Pitch

Write the pitch. Name the pain, sketch a solution, surface the risks.

Commit

Pick pitches for the cycle. Write down what you're spending weeks on, and why.

Build

Break pitches into scopes. Move dots on the hill chart. Ship.

Cooldown

Clean up, rest, and reflect. What shipped? What interrupted you? What would you do differently?

Built-in AI reviewer

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.

Shaping

Pitch editor

Problem, T-shirt size, Solution, Rabbit Holes, No-Gos — structured fields that auto-save as you type. A readiness checklist won't let you commit to something half-pitched.

Building

Hill charts

Track confidence, not progress. Each scope moves from “figuring it out” to “executing known work.” Scopes stale for 3+ days get flagged automatically.

Integration

GitHub

Sign in with GitHub. Commits flow in and get classified by prefix — the hill chart reads them as a second opinion.

Rhythm

Cycle tracking

Fixed-time cycles with built-in cooldown. Log interruptions, see percentages, run retros.

Discipline

Circuit breaker

Unfinished work doesn't carry forward. Re-shape it, re-pitch it, or let it go.

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 gets matched two ways — whichever hits first:

  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 … (shorthand) — all link. Not just feat.

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), 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.

Fixed time, variable scope

The deadline is real. You cut scope to ship — never quality, never the date.

Size over estimates

Decide how much time it's worth first. Pick a T-shirt size, then design to fit inside that box.

Pitching before building

Think before you code. A pitch takes an hour. A wrong commitment costs weeks.

Start here

Ready to pitch your next cycle?

Invite-only beta. Drop your email and we'll be in touch.

🍪

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