# DeepDrive

> A thinking partner for your ideas. A person keeps a private list of topics, talks each one through with an AI partner by voice or text, and keeps a short summary of where they left off.

DeepDrive is operated by BusyMonkeys. Each person's topics, ratings, and session summaries are private. An assistant that was given only https://deepdrive.app should use this file. A personal API token from Settings is sent as `Authorization: Bearer dd_...`.

## What a conversation is

A topic is one thing worth talking through, on a walk, at a desk or in the car. A conversation has four beats:

1. Opening prompt. A thinking partner: one question at a time, conversational, challenge one assumption, then a fixed summary when the person wraps up.
2. Continue prompt. The same rules, plus the latest session summaries, so the next drive starts where the last one ended.
3. Wrap-up prompt. Asks the voice chat for Summary, Decisions, Open questions, and Next steps.
4. Saved summary. The person stores that text on the topic. That history is what the next Continue prompt includes.

The person talks each topic through out loud with DeepDrive's built-in voice thinking partner. Summaries are saved automatically. The prompts are also available over the API for assistants and agents.

## What makes a good topic

A good topic is open-ended, personal, and decision-oriented. One sitting, about 10 to 20 minutes. The title is a question or a decision in the person's own words.

Good:

- Whether to take the role in another city
- The smallest offer I could charge for this month
- What I want the next year with my dad to look like

Bad:

- Weather (a lookup, not a conversation)
- Remember to buy milk (a task)
- General productivity (too vague to decide anything)
- Summarize this PDF (DeepDrive does not read files)

## Topic fields

- `title` (required, up to 300 characters)
- `why` (why it matters, up to 2000 characters)
- `category`: Personal (default), Business & side projects, Money, Home, Travel & planning, Health & habits, Relationships & family, Learning, Career, or another label up to 60 characters
- `tags`: optional short strings. Stored on the topic notes as `Tags: a, b`. There is no tags column.
- `rating`: integer 0 through 5. 0 means unrated. Set this only when the person states a preference.
- `status`: new, active, parked, or done. Default new.
- `minutes`: integer 1 through 240. Default 10.
- `opening_prompt`: optional. If omitted, DeepDrive writes one from the title and why.
- `notes`: optional.

## How to help your user

1. Interview briefly. Ask what is on their mind and which decisions are coming up (work, money, home, health, people, learning). Three to five questions, not a survey.
2. Draft 5 to 15 topics from their answers. Use their words. Do not invent topics they did not imply.
3. Show the list and wait until they confirm. Drop or edit anything they reject.
4. Then upload, or hand them a file.
   - Upload, when they created a token in Settings and pasted it to you: `POST https://deepdrive.app/api/topics/bulk` with `Authorization: Bearer dd_...` and a `deepdrive-topics` body, or call the MCP tool `create_topics_bulk` at `https://deepdrive.app/mcp`. Titles that already exist are skipped, not overwritten. At most 100 topics per call.
   - File, when they have not given a token: write JSON that matches https://deepdrive.app/schemas/import.json (example: https://deepdrive.app/examples/import.json). Tell them to import it under Settings. Do not ask them to paste a password.
5. Do not mint tokens, revoke tokens, import a full export, or delete the account. Those require the person signed in in the browser. A token cannot call `POST /api/import`.

## Start here

- [Guide for assistants](https://deepdrive.app/agents)
- [JSON Schema](https://deepdrive.app/schemas/import.json) and [example import](https://deepdrive.app/examples/import.json)
- [OpenAPI](https://deepdrive.app/api/openapi.json): machine-readable API, also at https://deepdrive.app/.well-known/openapi.json
- [Full guide](https://deepdrive.app/llms-full.txt): request examples for the main endpoints
- [Developers](https://deepdrive.app/developers): API tokens, MCP setup for Claude, Cursor, and ChatGPT
- [Plugin manifest](https://deepdrive.app/.well-known/ai-plugin.json)
- [MCP server card](https://deepdrive.app/.well-known/mcp.json): Streamable HTTP at https://deepdrive.app/mcp
- [Privacy](https://deepdrive.app/privacy) and [Terms](https://deepdrive.app/terms)

## About the product

- [Home](https://deepdrive.app/): what DeepDrive is, how it works, FAQ
- [AI brainstorming partner](https://deepdrive.app/ai-brainstorming-partner)
- [Talk through ideas with AI](https://deepdrive.app/talk-through-ideas-with-ai)
- [Voice journaling with AI](https://deepdrive.app/voice-journaling-ai)
- [Rubber duck AI](https://deepdrive.app/rubber-duck-ai)
- [Think out loud](https://deepdrive.app/think-out-loud)
- [Pricing](https://deepdrive.app/pricing): free 4,000 tokens, Starter, Pro, top-ups
- [DeepDrive vs ChatGPT voice](https://deepdrive.app/compare/chatgpt-voice)
- [About](https://deepdrive.app/about)

## Auth

Create a token in the signed-in Settings page. It is shown once. Send it on every request:

```
Base URL: https://deepdrive.app
Authorization: Bearer dd_your_token
MCP URL: https://deepdrive.app/mcp
```

Tokens can read and update that person's topics, including `POST /api/topics/bulk`. They cannot mint tokens, import a JSON file, or delete the account. Do not send topic text, summaries, or email addresses to analytics.

## Main endpoints

- `GET /api/topics?q=&status=&category=` list or search topics
- `POST /api/topics` create one topic
- `POST /api/topics/bulk` create up to 100 confirmed topics (API tokens allowed)
- `PATCH /api/topics/{id}` update a topic
- `POST /api/topics/{id}/ratings` set a rating from 0 to 5
- `POST /api/pick` rating-weighted random topic
- `GET /api/prompts/opening|continue|wrapup?topic=` copy-ready prompts
- `POST /api/topics/{id}/sessions` save a conversation summary
- `GET /api/library` the full curated library (with hook, tags, drive_length_minutes)
- `GET /api/library/starter` about eight diverse library topics
- `POST /api/library/add` copy several library topics by id
- `GET /api/recommendations?limit=&minutes=&surprise=` personalized library picks, each with a one-line reason
- `POST /api/recommendations/{library_id}/feedback` dismissed, not_interested, or more_like_this
- `GET /api/export` export topics, sessions, and ratings
- `POST /api/import` import a full export or a simple topic file (Firebase sign-in only)
