Skip to content

Memento

Memento is a local-first knowledge layer over your email archive that we built during the Google I/O Hackathon.

Core trick

Chains Gemini Interactions turns with previous_interaction_id to keep per-person and per-project pages updated from local email with source citations.

Tags

Description

Memento is a local-first knowledge layer over your email archive that we built during the Google I/O Hackathon. Instead of acting like another email client or a basic retrieval chatbot, Memento transforms long-term email history into source-attributed, living documents across five dimensions: People, Projects, Newsletters, Concepts, and a unified Dashboard. The system is powered by Gemini 3.5 Flash and the Google Interactions API. We used Gemini 3.5 Flash because the product requires multi-step reasoning across large personal archives, and we used the Interactions API to support persistent multi-turn agent workflows, streaming responses, tool orchestration, and conversation continuity across sessions. That let us build agents that do more than answer questions once; they maintain durable pages that can evolve over time. What makes Memento different is that chat is not the end product. The product is the artifact. A person becomes a relationship wiki. A cluster of messages becomes a project narrative. A recurring topic becomes a concept page. A newsletter source becomes a synthesized brief. Every factual claim is grounded in source messages, and user notes or edits persist across regeneration so the system stays useful instead of redoing the same work every turn. During the hackathon, we built the Memento application itself: the multi-agent architecture, the Next.js interface, the Go backend, the dimensional document model, the draft and curation flows, the streaming agent runtime, and the source-attribution workflow. We used `msgvault` only as a dependency to download and read the email archive locally; the product experience and intelligence layer on top of that archive are what we built. Our stack and workflow are also deeply aligned with the Google ecosystem. We used Google Stitch to accelerate UI iteration, Antigravity to speed up development, Gemini 3.5 Flash as the reasoning model, the Google Interactions API as the foundation for stateful agent runs, and the `gemini-interactions-api` skill as part of our development workflow while shaping the agent architecture. Memento is our answer to the hackathon prompt because it shows something new that Gemini makes possible: not just answering questions about personal data, but continuously turning a private archive into a living memory system with grounded facts, durable structure, and real user control.
latentsignal-org/memento-hackathon★ 00 forksTypeScriptCreated May 23, 2026 · last push May 23, 2026

README excerpt

# Memento — Google I/O 2026 Hackathon Submission

Memento is a **local-first knowledge layer over your email archive**, built as a showcase of the [Gemini Interactions API](https://ai.google.dev/gemini-api/docs/interactions). Instead of being yet another email client, it turns years of correspondence into source-attributed, living documents across five dimensions: People, Projects, Newsletters, Concepts, and a unified Dashboard — all powered by streaming, multi-turn Gemini agents.

This submission demonstrates end-to-end use of the Gemini Interactions API: multi-turn agentic loops, server-sent event streaming, tool-call orchestration, and `previous_interaction_id`-based conversation chaining — all running locally against your own email archive, with zero data sent to a third-party backend.

## What it does

- **Dashboard** — executive brief with an "Ask Memento" chat. Ask about a person, project, or topic and watch the agent call tools, surface entity summaries in a live side panel, and synthesize an answer across your full email history.
- **People** — relationship wikis for meaningful contacts, resolved across email aliases. An enrich agent writes facets (role, affiliation, expertise) and narrative sections (summary, interaction arc, current status) backed by cited messages.
- **Projects** — bounded narratives for work/life projects curated via a collector agent chat flow, then compiled section-by-section with citations by the project compile agent.
- **Newsletters** — auto

Team