A miracle is just consistency
doing math in public.
A daily ritual for one goal at a time. We nest it from your lifetime down to the next thing on your screen, ask you to write it by hand three times in the morning, six at noon, nine at night, and place it against the weeks you have left. Built for people who keep starting over.
60 seconds to start · Free, and stays that way · Your writing is yours, exportable anytime
One goal, nested five times.
Lifetime to right now.
Your life's work sits on top. Inside it: this year. Inside that: this month, this week, today, the next thing. One goal per level — no more. When the small square moves, the large one does too. That's the whole trick. There isn't a second one.
"Specific and challenging goals lead to higher performance than easy, vague, or 'do your best' goals."
— Edwin Locke & Gary Latham, A Theory of Goal Setting & Task Performance (1990). One of the most cited papers in organizational psychology.
Write the same line
3 times, 6 times, 9 times.
3 in the morning. 6 at noon. 9 at night. By hand, in your own words, the same goal. It is older than it looks and stranger than it sounds. What it actually does is keep the goal in the room with you for one more day. Eighteen times is hard to ignore.
"You do not rise to the level of your goals. You fall to the level of your systems."
— James Clear, Atomic Habits
Your life as 4,000 squares.
The one you're in is pulsing.
A grid of weeks, roughly the length of a long life. The squares behind you are filled. The one you're in is lit. The squares ahead are empty and, statistically, fewer than you think. We don't say this to scare you. We say it because nothing else has worked.
"Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life."
— Steve Jobs, Stanford commencement (2005)
Three things, repeated daily,
until they aren't impossible.
"How we spend our days is, of course, how we spend our lives."— Annie Dillard
The miracle is the streak.
The streak starts today.
Free, and stays that way · Export your writing anytime · No notifications you didn't ask for
FAQ
Loading…
Today
0Inbox
0
✓
Archived
0
Set your birth date to see your weeks
Resting today? Your streak stays alive on the Goal Grid — but the 3·6·9 journal is still required every day.
🏆 Archive 0 wins
How many weeks
do you have left?
Set your birth date and watch your life unfold in weeks. Each square is one week. The colorful past is what you've lived. The blank rows below are everything still to come.
Configure
Today is a commitment, not a dumping ground.
Your daily rituals, pacts, and tasks — everything that needs to be done, in one place.
Pacts
0Today
0Inbox
0
✓
Archived
0
A promise you keep with yourself, daily.
Make a pact. Optional money on the line. Miss a day, you owe it. Don't, you don't.
Your pacts
0Pacts you lead
0
Archived
0
A pact is a promise
you keep with yourself, daily.
Start small. Something you'd be proud to keep for ninety days. Optional money on the line — if you miss, you owe it. If you don't, you don't.
A promise you keep, daily.
Start small. Something you'd be proud to keep for ninety days. Optional money on the line — if you miss, you owe it. If you don't, you don't.
5 segments of 20, every 3h 30m from 9:00 AM.
Most people start at 1. Build the muscle, then raise it.
Most people start at $5. Stake changes take 7 days to apply.
Commitment terms (optional)
Stop casual flake-outs. Default: anyone can leave anytime and rejoin freely.
After joining, members must stay at least this many days before they can leave. 0 = leave anytime.
After leaving, members must wait this many days before rejoining. Prevents "fail → leave → restart fresh" gaming. 0 = rejoin anytime.
Upload elsewhere and paste the URL. Square images look best.
—
Last 90 days
Tap any day to backfill or correct.
By day of week
Schedule a break.
Pick dates at least seven days out — today's tired self can't undercut next week's serious one. The days you pick won't count toward your pacts.
Hold the phone. Talk.
Pair your iPhone once. After that, hold the big button and ramble — the app transcribes you and drops what you said into your Inbox as discrete tasks.
Waiting for your iPhone to scan…
Privacy: the audio is sent to OpenAI Whisper for transcription and Anthropic Claude for task extraction, then discarded. Only the resulting text lives in your account. Your device key is stored on your phone in the Keychain — we never see the raw key, just a hash.
Tune the miracle to your day.
Schedule, capture surfaces, and the bearer token your agents use. Everything here is yours and only yours.
General
Your schedule, your senses, and the daily quote.
Reminders
A gentle nudge when the day's slipping by, on your terms.
Nudges are delivered through Telegram and require the Telegram connection.
Telegram capture
Voice memos and text from Telegram, into your Inbox.
Telegram capture isn't configured on this deployment yet.
Inbox webhook
A secret URL for any tool that speaks HTTP. Each POST creates a todo.
Show example requests
# shell — plain text body
curl -d 'Buy milk' '<your URL above>'
# shell — JSON body with extras
curl -X POST '<your URL above>' \
-H 'Content-Type: application/json' \
-d '{"text":"Buy milk","today":true,"notes":"for the recipe"}'
# browser bookmark / shortcuts app
<your URL above>?text=Buy+milk&today=1
AI tools
REST, MCP, OpenAPI, llms.txt — and the bearer token that wires them up.
Built for your agents
Claude, Cursor, ChatGPT, Codeium — point them at miracle.fyi and let them work. We treat AI agents like first-class users, not afterthoughts.
What that means in practice:
- REST API with bearer auth, snake_case JSON, and error codes agents pattern-match on. Versioned by URL prefix — v1 will never break.
- MCP server for Claude Desktop and Cursor. Six tools (list, create, get, update, complete, archive). Configures with one env var.
- OpenAPI 3.1 spec served at
/api/v1/openapi.json. Auto-generate clients, validate schemas, generate type bindings — your toolchain's choice. - /llms.txt at the root. An agent reads it in two seconds, learns what we are, and starts writing todos. No docs to scrape, no auth pages to navigate.
- Idempotency keys so an agent can retry on a flaky network without creating dupes. POST the same key twice, get the same row.
Your bearer token is below. Drop it into your tool's config, ask your agent to add a todo, and it works.
Authorization header
Authorization: Bearer YOUR_TOKEN
curl — list your todos
curl -H "Authorization: Bearer YOUR_TOKEN" \ https://miracle.fyi/api/v1/todos
Claude Desktop / Cursor — MCP config
{
"mcpServers": {
"miracle-fyi": {
"command": "node",
"args": ["/path/to/goalgrid/mcp-server/src/index.js"],
"env": { "MIRACLE_API_KEY": "YOUR_TOKEN" }
}
}
}
Danger zone
Two destructive actions. Both ask you to confirm.
Platform controls.
What every user sees, and what the leaders earn.
Sections (global)
Hide a section while it's still being built — it disappears from every user's nav. Home is always visible.
Leaders
| Leader | Group pacts | Active members | Rev share % |
|---|
All pacts
| Pact | Type | Owner | Members | Stake volume | Created |
|---|