Why We Will Never Ship an Upload Widget
If your AI memory product needs you to upload files, it isn't doing its job. The right ingestion model is autonomous — and we're committed to it as a product principle, not a future feature.
Why We Will Never Ship an Upload Widget
There is no upload widget in Memplex. There is no "drag your files here." There is no "select your notes folder." There never will be.
This is a product principle, not a roadmap omission. Let me explain why.
What an upload widget signals
Every AI memory product on the market today has some version of an upload UI. You point it at your notes, your Drive, your Notion — you do the work of selecting what should be remembered.
This is a tell. It's a tell that the product's authors are thinking of memory as a file system. "Tell us what to remember; we'll index it."
That model breaks the second the user starts working. The work doesn't stop to file itself. Decisions get made in chat windows, code gets written in editors, conversations happen in Slack, designs get sketched in Figma. By the time the user thinks "I should put that in my AI memory," they've already moved on. The upload widget becomes a graveyard of stale snapshots.
What autonomous ingestion looks like
The right model: connect a source once, and the memory layer keeps up from there. No manual save, no daily sync, no "remember to upload."
Memplex v0 ships with two source types:
-
Filesystem watchers (Phase A): the Memplex Desktop Agent, code-signed and locally run, watches Claude Code and Codex CLI session directories. Every session becomes structured memory in your graph automatically.
-
OAuth connectors (Phase B): GitHub is first. Authorize once, and your repos, issues, PRs, and commit history flow into the graph with ACLs mirrored from GitHub's permission model. You can't see a private repo? Neither can the AI.
Authorize. Done. The memory keeps up.
Why the discipline matters
The temptation to ship an upload widget is enormous. It's the obvious feature. It would unblock users who want to add things now. It would solve the "what if the autonomous ingestion missed something" edge case.
It would also signal that we don't believe our own thesis.
If autonomous ingestion is the right model, then the upload widget is the escape hatch that lets the autonomous ingestion stay incomplete. Every product team that's added "and also you can upload files" has, in our experience, gradually stopped investing in the autonomous side. The upload widget is too easy to lean on.
So we won't ship one. Not in v0. Not in v1. Not when a customer asks. The product principle is: if you need to upload it, our ingestion pipeline is missing a source, and the fix is to add the source — not to add the upload widget.
What this means practically
If you're an early Memplex user and you want context from a source we don't yet support, the answer isn't "upload your files." The answer is "tell us, and we'll prioritize building that connector."
The connector roadmap as of v0:
- Phase A: Claude Code session watcher, Codex CLI session watcher
- Phase B: GitHub (OAuth, ACL mirroring)
- Phase C: Google Workspace (Docs, Drive)
- Phase D: Slack, Notion, Linear
- Phase E: Generic webhook ingestion for tools we don't have a first-party connector for
Every source we add is one fewer reason an upload widget would exist. Eventually, the question "but what about X?" has an answer that isn't a file picker.
This is harder than shipping the widget. We think it's right.