Goaltree, built with Goaltree
I made "Build Goaltree" a goal five months in, filled it with the work already done, pulled my scattered to-dos into it, then let Claude Code work through the rest over the Goaltree connector.
4 min read
- Behind the scenes
- Claude
- MCP
- Goals
Every app that helps you plan has the same awkward secret: the people building it rarely plan with it. I was no exception. Goaltree had goals for running, reading and fasting, and the biggest project in my life, building Goaltree itself, lived in a git log and a messy inbox.
Software people call using your own product “dogfooding”, as in eating your own dog food. It’s the fastest way to find out what’s annoying, and I’d been skipping the most obvious bowl.
So five months and more than 900 commits in, I fixed that. I created a goal called Build Goaltree, backfilled it with everything already shipped, moved my loose to-dos into it, and then handed the open half of the plan to Claude Code. Here’s how that went.
01 / Start late
Starting a goal halfway through
Most goal apps assume you start at zero. Real projects don’t work like that. By the time you think “I should track this properly”, you’re usually halfway there, and a blank plan feels like a lie: it says 0% when you’ve already done the hard part.
So the first step was getting the past into the plan. I asked Claude to read the project’s history and turn it into milestones, one per stretch of work:
- Foundations (May): the goal → milestone → target → task structure, AI planning, Today, widgets, sign-in, payments, six languages.
- Social and integrations (June): the Discover feed, share links, the first version of the Goaltree connector.
- Habits, offline and native (July to September): streak freezes, dot grids, offline support, the native app catching up with the web.
- Coach, capture and launch push (October): coach voice calls, human coaches, brain dump, photo to tasks, events, blueprints.
That’s 54 finished tasks across four milestones, each marked done on the date it actually shipped. They don’t count towards streaks or the leaderboard. You can’t earn a streak for work you did before you were keeping score. But the goal now opens at its real progress, and scrolling back through it is a surprisingly nice way to see how far it’s come.
02 / Gather
Pulling in the loose ends
The second problem was the opposite one. Everything I still wanted to build was scattered across my Everyday inbox: “fix web payments”, “add a 3-day trial”, “post to reddit”, “save AI dot images to reuse”, “lottie illustrations for empty states”. Dozens of one-liners, captured in the moment by voice, photo or a quick type, with no shape to them.
Instead of retyping them, I asked Claude, connected to Goaltree, to sort them. It read my inbox, grouped the tasks, and moved them into the goal as four new milestones:
- Payments that convert: 7 tasks
- Growth and marketing: 11 tasks
- Product roadmap: 17 tasks
- Ship the native apps: 1 big one
These are the same tasks, moved rather than copied, so nothing got lost and my inbox was suddenly empty. For the first time the whole project, done and not done, fitted on one screen.
03 / Hand off
Letting Claude Code do the work
This is the part I’d been waiting for. The Goaltree connector speaks MCP, the open standard AI assistants use to talk to other apps. Claude Code is an AI that writes software. Put the two together and the plan stops being a list for me and becomes a work queue for it.
The loop is simple:
- Claude Code asks Goaltree for the plan. It sees every milestone, target and open task, each with its id.
- It picks the next task, reads the codebase, builds the feature and runs the tests.
- When I’ve checked the work, it marks the task done in Goaltree, and the goal’s progress ticks up.
It can also edit the plan as it goes: split a task that turns out to be bigger than it looked, rename one that was badly worded, or flag something as urgent. Deleting anything always needs my say-so first.
The point is that the plan stays in the loop. Claude isn’t guessing what to do next from a chat; it works from the same goal I look at every morning. And I can watch progress from my phone, on the Goals tab, without opening a terminal. The goal sits at 50% today. I’ll report back on how fast the other half goes.
04 / Try it
Do the same with yours
You don’t need to be building an app for this to help. Any long project, like a house move, a degree or a book, has a past you’ve already done and a pile of to-dos you haven’t organised.
- Start late on purpose. Create the goal, then ask Claude to add what you’ve already done, so the plan starts where you really are.
- Empty your inbox into it. “Move my inbox tasks about the move into my house goal” is one sentence.
- Let an assistant work the plan. Connect Goaltree to Claude or ChatGPT from the connector page, and the plan becomes something you and your assistant share.
And if you work with a coach, they can now do the same from their side, editing the goals you’ve shared with them, with every change marked so you can see what they did.
Goaltree is the plan I build Goaltree from now. It’s also, finally, a goal I’m on track with.