Inspiration

Every group chat has the same graveyard of plans.

"we should go to that concert" "wait is it Friday or Saturday?" "I'm broke 💀" "that ramen place from last week?"

Forty messages later, nobody has decided anything and the night never happens. The plan is already sitting in the conversation, but the chat can't act on it.

Messenger, WhatsApp, and Instagram DMs are where billions of people say "we should do this." We wanted to build the missing step: AI that turns conversation into action.

What it does

Leave It To takes a screenshot of a messy group chat and turns it into a real, shareable plan.

  • Upload a screenshot of any group conversation.
  • Get a plan card with the actual event, time, venue, ticket price, nearby food, and a suggested timeline.
  • See what your group said, reflected back as constraints (keep it cheap, avoid driving downtown, ramen afterward), so everyone knows their input was heard.
  • Conflicts get flagged and resolved. If the chat never settled Friday vs. Saturday, the app makes a call and shows its reasoning.
  • Share the plan back to the group.

It also recognizes other intents in a conversation: shopping ("which headphones should we get her?"), travel ("flights to NYC are cheap rn"), and research ("didn't Nvidia announce something about this?").

How we built it

Leave It To is a three-stage pipeline: screenshot in, plan card out.

  1. Gemini (understanding). The screenshot goes straight to Gemini's multimodal model, which reads slang, emojis, replies, and conflicting messages. Structured JSON output gives us the intent, participants, constraints (budget, transportation, food), and unresolved questions.
  2. SerpApi (grounding). Vague references become real data. "That ramen place" becomes an actual restaurant with hours and distance, and "the concert Saturday" becomes an actual event with a venue and ticket price, using SerpApi's events, local, and maps APIs.
  3. Meta Muse Spark (reasoning). Muse takes the extracted intent plus the search results, works out what the group is actually trying to do, resolves conflicts, and writes the final plan.

$$\text{plan} = \text{Muse}\big(\text{Gemini}(\text{screenshot}),\ \text{SerpApi}(\text{queries})\big)$$

The frontend is a simple upload flow that renders the result as a plan card with a timeline and a "what your group said" section.

Stack: Gemini API, SerpApi, Meta Muse Spark, [add your framework, e.g. Python, FastAPI, React]

Challenges we ran into

  • Group chats are messy. People reply out of order, use sarcasm, and say "that place" with zero context. Getting reliable structured output from screenshots took a lot of prompt iteration.
  • Guess or ask? Quietly picking Saturday over Friday is only helpful if the app shows its reasoning, so we made it flag conflicts and explain its call.
  • Speed. Three API stages can feel slow, so we limited searches per plan and cached results.
  • [Add one real problem you hit tonight. Judges like specifics.]

Accomplishments that we're proud of

  • A working pipeline from raw screenshot to usable plan, not just a mockup.
  • Each sponsor tool does a distinct job the product genuinely needs: Gemini reads, Muse reasons, SerpApi makes it real.
  • It works on a real, chaotic group chat, which is the case that matters.
  • A product idea that feels like it belongs inside Messenger or WhatsApp.

What we learned

The hard part of planning isn't finding options, it's figuring out what the group wants. Pulling intent and constraints out of casual conversation turned out to be a more interesting problem than the search itself. We also learned that giving each model one clear job (read, reason, ground) works far better than asking one model to do everything.

What's next for leaveitto.tech

  • Native Messenger, WhatsApp, and Instagram DM integration, so there's no screenshot step
  • Group voting on the suggested plan
  • Booking links and calendar invites
  • Deeper handling of shopping, travel, and research conversations

Built With

  • fastapi
  • gemini-api
  • meta-muse-spark
  • python
  • serpapi
Share this project:

Updates

Submission history