Memory that pays attention. Context, commitments, and past lessons surface when you need them.
{
"id": "now",
"summary": "Deploying payment service. Stripe webhook verified, retry logic next.",
"tags": { "project": "acme", "topic": "payments" },
"score": null,
"similar": [
{ "id": "%7c3a91ef@V{0}", "score": 0.74, "date": "2026-01-08",
"summary": "Stripe sends duplicate webhook events under load. Always check idempotency key before processing." },
{ "id": "payment-retry-rfc@V{0}", "score": 0.61, "date": "2025-12-15",
"summary": "RFC on exponential backoff for payment retries (team decision: 5 attempts, 2^n seconds, cap at 30min)" },
{ "id": "billing-v1-postmortem@V{0}", "score": 0.48, "date": "2025-11-02",
"summary": "Webhook signature verification must use raw body, not parsed JSON — learned this the hard way on billing-v1" }
],
: {
: [
{ "id": "%d4f28e61", "summary": "Add dead-letter queue for failed webhook events" },
{ "id": "%8a1bc35f", "summary": "Notify ops channel on 3+ consecutive payment failures for same customer" }
],
: [
{ "id": "%e9027c4a", "summary": "billing-v1 outage: processed refund webhook twice, credited customer $4,200. Root cause: no idempotency check." }
]
},
: {
"prev": [
{ "offset": 1, "vid": "now@V{1}", "created_at": "2026-01-20T14:30:00", "summary": "Scoping payment service. Stripe vs Adyen vs custom." },
{ "offset": 2, "vid": "now@V{2}", "created_at": "2026-01-22T09:15:00", "summary": "Stripe chosen. Building webhook handler + checkout flow." }
]
}
}
{
"id": "mulatu-yegelle-tezeta",
"summary": "Mulatu Astatke — Yègellé Tezeta. Ethiopian jazz, vibraphone lead over minor key groove.",
"tags": { "genre": "ethio-jazz", "artist": "Mulatu Astatke", "instrument": "vibraphone" },
"score": null,
"similar": [
{ "id": "%a3f7c2e1@V{0}", "score": 0.82, "date": "2024-03-15",
"summary": "Getatchew Mekurya — Shellela. Raw tenor sax, Ethiopian pentatonic, 140bpm." },
{ "id": "%d8b4e90f@V{0}", "score": 0.71, "date": "2024-06-20",
"summary": "Hailu Mergia — Tche Belew. Accordion-driven Ethiopian funk, 120bpm, hypnotic." },
{ "id": "%71ec5a34@V{0}", "score": 0.58, "date": "2024-09-03",
"summary": "Orchestra Baobab — Utrus Horas. West African/Cuban crossover, warm brass, 135bpm." }
],
: {
: [
{ "id": "%e4c19b82", "score": 0.76, "summary": "Fela Kuti — Water No Get Enemy. Afrobeat, 12-min groove, horn section." },
{ "id": "%5f2da071", "score": 0.72, "summary": "Ebo Taylor — Love and Death. Highlife-funk, guitar-driven, 125bpm." },
{ "id": "%a3f7c2e1", "score": 0.68, "summary": "Getatchew Mekurya — Shellela. Raw tenor sax, Ethiopian pentatonic, 140bpm." }
],
: [
{ "id": "%bc30f4a7", "summary": "Mulatu Astatke — Dewel. Solo piano piece, contemplative, from Sketches of Ethiopia." }
],
: [
{ "id": "%92d1e5c3", "summary": "Bobby Hutcherson — Montara. Post-bop vibraphone, Latin tinge, 108bpm." }
]
},
: {
"prev": [
{ "offset": 1, "vid": "mulatu-yegelle-tezeta@V{1}", "created_at": "2024-03-12T20:15:00", "summary": "Added from vinyl rip, 2024-03-12" },
{ "offset": 2, "vid": "mulatu-yegelle-tezeta@V{2}", "created_at": "2024-08-05T16:30:00", "summary": "Tagged after Éthiopiques listening session — connected to Getatchew and Hailu" }
]
}
}
{
"id": "preserved-lemon-lamb",
"summary": "Ottolenghi preserved lemon lamb shoulder. 4hrs slow roast, sumac crust.",
"tags": { "ingredient": "preserved-lemon", "method": "roast", "source": "Jerusalem p.142" },
"score": null,
"similar": [
{ "id": "%b7a3d412@V{0}", "score": 0.74, "date": "2025-09-18",
"summary": "Lamb tagine with apricots and almonds. Similar spice profile, longer braise." },
{ "id": "%c91ef805@V{0}", "score": 0.61, "date": "2025-11-30",
"summary": "Meyer lemon risotto with seared scallops — different protein, same citrus brightness." },
{ "id": "%4e0fc6a9@V{0}", "score": 0.51, "date": "2026-01-12",
"summary": "Chicken thighs with preserved lemon and green olives. Weeknight version." }
],
: {
: [
{ "id": "%4e0fc6a9", "score": 0.72, "summary": "Chicken thighs with preserved lemon and green olives. Weeknight version." },
{ "id": "%a82d3f10", "score": 0.68, "summary": "Roasted cauliflower with sumac and tahini. Same citrus-bright profile." },
{ "id": "%63bf9d24", "score": 0.54, "summary": "Sea bass en papillote with capers and preserved lemon. 25 min total." }
],
: [
{ "id": "%f1d84b56", "summary": "Preserved lemons: opened jar in fridge. Fennel and chickpeas in stock." }
]
},
: {
"prev": [
{ "offset": 1, "vid": "preserved-lemon-lamb@V{1}", "created_at": "2025-06-15T11:20:00", "summary": "Bookmarked from Jerusalem cookbook. Noted: need to buy sumac." },
{ "offset": 2, "vid": "preserved-lemon-lamb@V{2}", "created_at": "2025-10-12T22:45:00", "summary": "Made for dinner party Oct 12. Everyone loved it. Doubled the lemon." }
]
}
}
{
"id": "attention-mechanisms-survey@V{3}",
"summary": "Organized into taxonomy: sparse, linear, low-rank, memory-based. Added FLOPs comparison table.",
"tags": { "field": "ml", "topic": "attention", "type": "survey", "status": "drafting" },
"score": null,
"similar": [
{ "id": "flash-attention-notes@V{0}", "score": 0.78, "date": "2026-01-05",
"summary": "Flash Attention paper notes — O(N) memory, 2-4x speedup on long sequences." },
{ "id": "%f4a2c781@V{0}", "score": 0.65, "date": "2025-12-20",
"summary": "Linear attention (Katharopoulos 2020) — kernel trick approximation, trades quality for speed." },
{ "id": "%0b9e53d2@V{0}", "score": 0.52, "date": "2025-11-10",
"summary": "Sparse attention patterns in BigBird — combines local + global + random for O(N) complexity." }
],
: {
: [
{ "id": "%3d7ea190", "summary": "Compare FLOPs across attention variants for 8K context length" },
{ "id": "%c5b12f48", "summary": "Read Dao et al. Flash Attention 2 — claimed further 2x improvement" }
],
: [
{ "id": "%91d4e7b3", "summary": "Benchmark numbers from papers aren't comparable — different hardware, batch sizes, sequence lengths. Always normalize to same setup." }
]
},
: {
"prev": [
{ "offset": 1, "vid": "attention-mechanisms-survey@V{2}", "created_at": "2026-01-08T15:30:00", "summary": "Read 12 papers. Flash Attention most promising for production use." },
{ "offset": 2, "vid": "attention-mechanisms-survey@V{1}", "created_at": "2026-01-03T10:00:00", "summary": "Started survey. Collected 12 papers on efficient attention." }
],
"next": [
{ "offset": 1, "vid": "attention-mechanisms-survey@V{4}", "created_at": "2026-01-18T14:20:00", "summary": "Added benchmark results. Flash Attention 2 confirmed 2x over FA1." },
{ "offset": 2, "vid": "attention-mechanisms-survey@V{5}", "created_at": "2026-01-25T09:45:00", "summary": "Draft complete. Sent to co-authors for review." }
]
}
}
One query returns your current context, related knowledge, open commitments,
past lessons, and decision history. Not just search results — awareness.
Every note is a string — a living chain of versions you can replay, branch, and re-string. Not snapshots frozen in time.
Every encounter or observation can produce a note. Tag and reorganize to distinguish topics from episodes.
Store reflections alongside facts. Past lessons, mistakes, and decisions resurface in future context — so your agent improves with use.
Your tags, your structure. Connect notes into threads, organize by topic, build views that fit how you think.
Open commitments and past mistakes surface automatically when they're relevant.
Text, audio, images, URLs. Summarize any media into searchable, semantic notes.
The CLI and REST API integrate with any workflow — inject context, capture learnings, maintain continuity across sessions.
Start free. Scale when you're ready.
We're opening to early users soon.