geshtu.io/cloud — managed hosting, oauth, email digests  ·  join the waitlist →
why geshtu

Three philosophies
of AI memory.

Most memory systems borrow one of two metaphors. Knowing which one — and why we picked a third — is the fastest way to understand Geshtu's shape.

a · spatial

The palace

"file memories into rooms and drawers"
Palace └─ Wing (project) └─ Room (auth) └─ Hall (decisions) ├─ Drawer → raw chunk └─ Closet → compressed

Strength: human-readable hierarchy.

Weakness: rigid; cross-cutting queries fight the metaphor.

Best for: solo dev with large personal context.

b · personal stream

The journal

"facts about a user, in a stream"
User: Alice ├─ "Alice prefers TypeScript" ├─ "Alice deploys to k8s" ├─ "Alice's stack uses Postgres" └─ ... (flat list)

Strength: simple, fast, well-understood.

Weakness: no team scope, no decision history, no temporal.

Best for: single agent serving many users.

c · team event log ◉

Geshtu

"a journal of what happened to a project"
Project: api-core ├─ messages[] raw log ├─ facts[] what is true │ └─ valid_until · superseded_by ├─ decisions[] what we chose │ └─ rationale (required) └─ summaries[] where we left off

Strength: every query is one SQL filter.

Tradeoff: less "intuitive" than rooms-and-drawers.

Best for: small team handing work off across LLM clients.

side by side

The shape, in a table.

Same problem space, different unit of analysis. Geshtu sits in the right-most column because it was designed from the start for shared, async work.

MemPalaceMem0ZepGeshtu
Primary unitSolo devUserUser + agentTeam + project
Memory shapeSpatial hierarchyFlat streamTemporal graphFunctional event log
Decisions vs factsSame HallOne conceptBoth as edgesSeparate first-class types
Async digests✓ headline
Decision rationaleimplicitpartialrequired field
Temporal queriesbasic
MCP-firstpartial
Self-host complexitypip installDockerNeo4j+one compose
Multi-tenantn/ayesyesno (intentional)
LicenseMITApacheApacheAGPL-3.0
honest recommendations

Which one should you actually use?

We're not the answer to every "AI memory" question. Here's where each tool wins. Geshtu is the right tool when the primary thing being remembered isn't you — it's the work.

Solo dev, want local-only, large personal context
→ MemPalace
Single AI agent serving many users at scale
→ Mem0
Need temporal reasoning over evolving entity relationships
→ Zep
Small team handing work off across LLM clients
→ Geshtu
a working manifesto
"If a feature request can't be expressed as a query against one of these four tables, treat it as a signal to push back, not as a signal to add a fifth table."
— from the spec, on keeping the schema small
convinced?

Try it on your team's project today.

Five minutes from clone to running. AGPL-3.0, no signup.