Plans¶
A plan is a shared canvas for figuring out where to go before you commit to going. It holds saved places, captured links, availability polls, and the group conversation around the decision — and when you're ready, it promotes into a real event with one tap.
The story¶
The gap between "we should do something this weekend" and an actual event has always been a mess of DMs, half-remembered voice notes, and links dropped into a chat that nobody can find two days later. Plans exist to hold that gap.
When a user saves a place from the map, or shares a restaurant link from another app, or pastes a Google Maps URL into the share sheet, the item lands on their personal stash — a private board of things worth doing. From there they can drop it onto a plan canvas, invite the people they're planning with as collaborators, and start building the shape of what the outing could be.
Items on the canvas group automatically by place. The board becomes a set of place-cards: here's the ramen spot, here's the bar, here's the late-night park. The group votes on the leading place. The availability poll finds when everyone is free. The plan then has a leading venue, a leading time, and a group that has already opted in — and promoting it to an event carries all three, plus every accepted collaborator who becomes a participant in one step.
The key design decision was making capture cheap and triage deferred. Sharing a link from Instagram or Google Maps creates an item instantly, without forcing the user to resolve where it is right now. A background pipeline parses the link, fetches the page, and matches it to a Tomoda location — so the user drops and moves on, and the card fills in behind the scenes. If the link doesn't resolve cleanly, triage prompts the user once with a simple confirm-or-dismiss.
What we're optimising for¶
- Save now, decide later. Capture is instant and zero-friction; resolution happens asynchronously.
- One canvas per group. A plan is a shared space, not a personal list forwarded over chat.
- Votes settle decisions. Place-card voting and availability polling are first-class, not afterthoughts.
- Promotion is a clean handoff. A plan becomes exactly one event, then it archives. The plan's job is done; the event takes over.
- The stash is yours. Saved items that haven't been filed onto a plan are yours alone until you choose to share them.
What a plan is not¶
- It is not a wishlist or bookmark manager. Items on a plan have a place and a direction; they are not "save for later" indefinitely.
- It is not a recurring structure. A plan that becomes an event is done. Next time you start a fresh one.
- It is not the event itself. Once promoted, the plan archives and the event owns the conversation, the participants, and the lifecycle.
See also¶
- Domain spec: Domains → Plans
- Backend implementation: Backend → Plan service
- What plans promote into: Bible → Events
- Where saved places come from: Bible → Locations, Bible → Discovery