Mem0 is the name everyone hears first. If your agent runs in TypeScript, TurboMem bets on a different model i.e embedded memory in your process, not another service to operate. Here is an honest comparison based on hard facts.

If you are building an AI agent that needs to remember things across sessions, you have probably run into Mem0 already. It is one of the most talked about memory layers in the space, well funded and framework agnostic. But if your stack is TypeScript, there is a newer option worth a serious look: TurboMem. It takes a different architectural bet, and for a lot of TS focused companies, that bet pays off.

The core difference: embedded vs server based

This is really the whole story, and it is worth understanding before anything else.

Mem0 is built around a separate memory service. Even in its open source form, the typical setup wires up a Postgres instance with pgvector, or Qdrant, plus optionally Neo4j for graph memory, then talks to that stack either through the Python Memory class or over an HTTP API. Every memory read or write crosses a process boundary.