All projects
Memento logo

Memento

A local-first knowledge layer over your email archive that turns long-term history into source-attributed memory surfaces.

Go TypeScript Active email agents memory ai

What it does

Memento turns a long-running email archive into a set of local, source-attributed memory surfaces. It sits on top of msgvault, which handles mailbox acquisition, archive storage, full-text search, semantic search, and sync. Memento reads that archive and writes its own memento_* tables for generated reports, user edits, and agent state.

The product focuses on dimensions instead of inbox chronology:

  • People: relationship wikis for meaningful contacts.
  • Projects: bounded narratives for user-confirmed work or life projects.
  • Newsletters: coverage summaries, recurring themes, and recent items.
  • Concepts: user-declared evergreen topics backed by archive sources.
  • Dashboard: an overview plus Ask Memento chat across the archive.

Why it exists

Email clients optimize for the newest message. Search helps when you know the right terms, but it still hands you a list of messages to reread. The deeper value sits across years of threads, newsletters, people, projects, and recurring themes.

Memento asks a different question: can an agent maintain durable memories from your own archive, keep every factual claim tied to source messages, and preserve your edits as new mail arrives?

How it works

Memento runs locally by default. The browser talks to a Next.js UI, Next.js proxies API and streaming requests to a Go backend, and the backend treats msgvault data as read-only. New state lands in Memento-owned SQLite tables.

The agent runtime lives in Go. It runs collector, project, concept, person, and dashboard workflows with durable traces, tool calls, and SSE updates. The agents retrieve through msgvault search, ask for clarification before spending budget on ambiguous requests, and generate reports only after the user confirms expensive project or concept work.

Why not RAG?

RAG answers one prompt, then forgets the work. Memento builds and maintains living documents. The important artifact is not a single chat answer, but a source-backed memory surface that can be refreshed, reviewed, edited, and revisited.

That difference shapes the product. Memento favors deterministic extraction before model calls, materialized rollups for fast page loads, and citations from the beginning. It avoids turning into another email client.

Tech Stack

Built with Go, Next.js, TypeScript, Tailwind, SQLite, and msgvault. LLM calls run through Gemini or OpenAI-compatible providers, with local and self-hosted models supported when they provide the needed tool-calling behavior.

Recognition

Memento started as a hackathon exploration and became an active open-source project. The current work focuses on making personal email memory useful without giving up local-first ownership.

© 2026 Latent Signal