Kept

For the appointments that keep moving

Which time is it now?

The clinic confirmed Thursday. Then it emailed to move you. Then it texted two new options. Kept reads all of it, tells you what is actually booked, flags the time that runs into your Friday meeting and writes the reply. You check it and hit approve.

The demo

See it sort out a real mess

Four messages from a made-up clinic, one made-up calendar and a live model. Every answer you see in it came from the live model.

The problem

Nobody tells you which message wins

  1. The office texts you one time and emails you another.
  2. One message cancels, the next one offers two new slots, and a third asks you to bring your insurance card.
  3. The slot that looks easiest is the one that lands on your Friday meeting.

How it works

It does the legwork. You make the calls.

  1. Reads

    It goes through Gmail and your Google Calendar if you let it. Or just paste the text, or drop in a calendar file.

  2. Records

    Every fact it saves points back to the line it came from. If the quote isn't in the message word for word, the app throws it out.

  3. Checks

    Confirmed, offered or canceled follows fixed rules, not a guess. Every new time gets checked against your real calendar.

  4. Drafts

    It writes the reply to the office. You tick off each detail before you can approve, and it never sends anything by itself.

  • Undo for everything.You see each step as it happens, and every one of them has an Undo, even the calendar event it added at Google.

  • It can't make up a time.Before you see an answer, the app checks every date and time in it against the case. If one doesn't match, the answer doesn't get through.

  • It sticks to scheduling.Ask it whether to take something before your visit and it tells you that's a question for the clinic. It handles times, places and what to bring, nothing medical.

  • You have the last word.Only you can approve a reply or delete your case. The agent has no way to do either.

Built with Meta

Meta's models, all the way down

  • The agent

    Muse Spark 1.3

    The agent itself. It calls the app's tools to bring in messages, accept or reject facts, answer the office's question and start your reply. The app checks every call it makes.

  • For other agents

    An MCP server

    Already have an agent you like, such as Claude Code, OpenCode or Grok Build? It can use the same tools under the same rules. It still can't approve a reply, delete your case or decide an appointment's status.

  • Building it

    Muse Code on Muse Wonder 1.0

    Our second pair of eyes. Muse Code on Muse Wonder reviewed every change before it shipped, and its findings are written up in the project's decision records. You can also pick Muse Wonder as the model in the app.

For judges

Take it for a spin

Your access

Open the app, pick "I have a judge code" and type it in. No Google account needed. The model runs on our key, so you don't need one either.

Use the judge pass in our hackathon submission. If it says it is used up, email jeffkazzee@gmail.com for a code of your own. Right now Kept is running on a fallback model. It normally runs on Meta's Muse Spark. Our Meta API billing has a problem, and that's our issue, not Meta's, so DeepSeek is answering until we fix it.

Open the app

Things to try

  • Load the demo. Four messages from the made-up Lantern Hill Clinic and a made-up calendar, read live by the agent.
  • Paste your own message from an office, a text or an email.
  • Drop in a calendar file and watch it find the clashes.
  • Undo things from the activity log, as many as you like.

Good to know

  • Gmail and Google Calendar are switched on only for a few invited test accounts.
  • Nothing gets sent. Approving a reply only simulates sending it.
  • No medical advice. Times, places, confirmations and what to bring. That's its whole job.