Total Recall for Sales - Building DealOS with Walrus Memory and Tatum
Total Recall for Sales: Building DealOS with Walrus Memory and Tatum Most sales tools summarize a call and forget it. DealOS remembers the deal, learns from the rep, and compounds what works across the organization. S
Total Recall for Sales: Building DealOS with Walrus Memory and Tatum
Most sales tools summarize a call and forget it. DealOS remembers the deal, learns from the rep, and compounds what works across the organization.
Sales is an experience business, but the software is usually stateless. A discovery call becomes a summary. The summary becomes a CRM note. A quarter later, the next rep repeats the same discovery, hits the same objection, and learns the same lesson from scratch.
We built DealOS for the Tatum Γ Walrus Memory Total Recall hackathon to close that loop. It is an experience-driven sales intelligence agent with three connected memory layers, persisted on Walrus Memory Mainnet and verified through Tatum Sui Mainnet RPC.
Demo disclaimer: All customer transcripts and the multi-rep organizational dataset in this build are synthetic. They are clearly labeled in the product and must not be read as actual customer performance.
The problem: sales intelligence resets
A sales conversation contains more than a summary. It contains:
- the customer's real pain point and the words they used,
- the objection that stalled progress,
- the stakeholder who controls the budget,
- the buying signal that changed the deal,
- the approach the rep actually used,
- and what happened afterward.
Most systems keep fragments of that. Few keep the relationship between the situation, the strategy, and the outcome. That is why teams repeat themselves.
DealOS treats sales as a learning system, not a transcription pipeline.
Three memory layers
1. Deal memory
For each deal, DealOS remembers calls, facts, evidence, stakeholders, objections, buying signals, requirements, commitments, budget, timeline, and decision criteria.
A memory is not simply a row of extracted text. When a new call arrives, DealOS compares new facts with existing deal memories and reconciles them as:
- CREATE β new knowledge,
- CONFIRM β new evidence for existing knowledge,
- REFINE β improved understanding,
- CONTRADICT β a conflict that must be surfaced.
Previous versions are preserved. The Memory Explorer makes this visible as an interactive graph and a lifecycle timeline.
2. Personal learning
Salespeople capture techniques from books, videos, training, and experience. Those techniques are stored separately in the dealos_demo_learning namespace, synced to Walrus, and recalled semantically when relevant.
Personal learning is not mixed into deal memory or shared organizational guidance.
3. Organizational intelligence
Across deals and reps, DealOS identifies recurring sales situations, records what each rep actually did, tracks observable outcomes, and aggregates the evidence.
The result is an evolving organizational playbook:
- standardized case taxonomy,
- case instances with transcript evidence,
- strategy executions,
- observed outcomes,
- conditional guidance,
- evidence-backed playbook versions,
- approval and versioning.
The organization does not learn by counting which strategy has the most wins. It learns under which conditions a strategy was used and what evidence exists.
Why Walrus Memory
Sales memory has to outlive a single app session, a single model, and a single rep. Walrus Memory gives us a durable, portable semantic layer on Mainnet with three capabilities that matter here:
- Durable writes β case memories, personal techniques, and approved playbooks are persisted to Walrus.
- Semantic recall β the agent can retrieve similar situations, not just exact keyword matches.
- Independent provenance β PostgreSQL remains the structured application source of truth, while Walrus is the semantic memory layer. A PostgreSQL write never pretends a Walrus write succeeded.
DealOS uses three Walrus namespaces:
| Namespace | Purpose |
|---|---|
dealos_demo_deals |
Deal-specific call experiences |
dealos_demo_learning |
Personal sales techniques |
dealos_demo_organization |
Organizational case memories and approved playbooks |
The application uses:
-
rememberAndWait()for organizational case memories and personal techniques, -
analyzeAndWait()for approved playbook versions, letting Walrus extract durable guidance, -
recall()for semantic retrieval in the UI and in recommendation generation.
Walrus writes are tracked independently in OrganizationMemorySync and MemorySync, with status, attempts, errors, blob/job references, and retry actions.
Architecture
Sales call transcript
β
βΌ
Nemotron analysis (Zod-validated)
β
βββ PostgreSQL: call summary + extracted facts
β
βΌ
Memory reconciliation against existing deal memories
β
βββ CREATE / CONFIRM / REFINE / CONTRADICT
βββ memory versions + provenance
β
βΌ
Case identification (standardized taxonomy)
β
βββ case instance
βββ observed salesperson strategy
βββ strategy execution
β
βΌ
Walrus Memory Mainnet
βββ case memory (rememberAndWait)
βββ personal technique (rememberAndWait)
βββ approved playbook (analyzeAndWait)
β
βΌ
Outcome tracking on later calls
β
βΌ
Organization learning engine
β
βββ strategy evidence aggregation
βββ conditional learning insights
βββ playbook draft
βββ human approval
β
βΌ
Recommendation generation
βββ deal memory
βββ personal learning
βββ approved playbook
βββ Walrus semantic recall
Structured records stay in PostgreSQL. Semantic memory stays in Walrus. The frontend never calls Walrus directly; the server mediates every write and recall.
How it learned over time
Here is the loop we verified with real services.
Step 1 β A call creates a case
A synthetic discovery call about manual renewal follow-ups produced:
-
PRICE_OBJECTION / ROI_UNCLEAR, - a pain point about 15β18 hours per week of manual work,
- an objection about proving ROI to the CFO,
- a buying signal for a demo,
- and an observed ROI-justification strategy execution.
The case was written to Walrus with provenance and no raw transcript.
Step 2 β The organization approves a playbook
The ROI evidence was aggregated across comparable synthetic cases. The learning engine produced a draft playbook:
ROI Justification for Unclear Value Objections
The draft included conditional guidance, when to use it, when not to use it, suggested questions, exceptions, evidence counts, and a confidence score. A human approved it before it became active.
The approved version was published to Walrus with analyzeAndWait().
Step 3 β A recommendation uses the playbook
A new call was analyzed and matched to the same case subtype. The recommendation cited:
- the deal's ROI requirement and commitment,
- the customer's 15-hours-per-week pain point,
- the personal ROI-first discovery technique,
- the approved organizational playbook,
- and related Walrus organizational memories.
The recommendation was stored as SUGGESTED, not executed.
Step 4 β Acceptance is not execution
When the recommendation was accepted, it stayed accepted. Only when it was explicitly marked executed did DealOS create a real StrategyExecution with status OUTCOME_PENDING.
That distinction matters. An accepted suggestion is not evidence that anything happened.
Step 5 β A follow-up call records an outcome
A follow-up transcript said finance had approved the business case and the customer wanted to move to the proposal.
DealOS recorded:
- outcome
OBJECTION_RESOLVED, - direct transcript evidence,
- source call,
- execution status
OUTCOME_RECORDED, - recommendation status
OUTCOME_RECORDED.
The case memory was resynced to Walrus with the new outcome, and the follow-up call created a new BUYING_SIGNAL / NEXT_STEPS case plus a new recommendation.
That is the loop: individual experience β deal memory β case β strategy β outcome β organizational learning β shared playbook β better recommendation β new experience.
Tatum onchain proof
DealOS uses Tatum Sui Mainnet RPC for the onchain side of the memory story.
The Tatum service calls:
-
sui_getChainIdentifier, -
sui_getLatestCheckpointSequenceNumber, -
sui_getObjectfor the configured Walrus Memory account object.
The result is visible in two places:
-
/infrastructureβ live Tatum Sui Mainnet status. -
/intelligence?tab=walrusβ a Tatum mainnet proof card that reads chain identifier, latest checkpoint, and the Walrus Memory account object, with a link to Suiscan.
The Walrus Memory page also links every write to Walruscan:
https://walruscan.com/mainnet/blob/<blobId>
and the memory account object to Suiscan.
Configuration note: Tatum proof requires
TATUM_API_KEYin.env. Without it, the UI reportsconfiguration missingrather than faking a successful call.
What shipped
| Surface | What it demonstrates |
|---|---|
/deals |
Deal creation, stages, call counts, synthetic badges |
/deals/[dealId] |
Transcript submission, call timeline, facts, evidence, Walrus status, deal recall |
/deals/[dealId]/memory |
Interactive graph, memory versions, lifecycle timeline, recommendations, techniques |
/learning |
Personal technique library, Walrus learning namespace, semantic recall |
/intelligence |
Case Library, Strategy Explorer, Playbooks, Learning Insights |
/intelligence?tab=walrus |
Walrus sync status, semantic recall, mainnet blob links, Tatum proof |
/infrastructure |
Live PostgreSQL, Nemotron, Walrus, and Tatum checks |
The Memory Explorer uses React Flow and a wrapped per-call layout, so a deal with dozens of memories stays readable. Selecting a graph node highlights the corresponding lifecycle events; selecting a timeline event focuses the graph.
Evidence
The current build has:
- 20 completed Walrus Memory syncs (16 organizational cases, 3 personal techniques, 1 approved playbook),
- three active Walrus namespaces,
- real blob IDs, visible in the UI and on Walruscan,
- case-level provenance (organization, case category, subtype, source call, strategy, outcome),
- an approved playbook with versioned evidence,
- a verified outcome loop that updated a strategy execution and recommendation and resynced the case memory.
Example mainnet blobs from the current demo:
- Case memory:
zy89k5okV8Mr7_eBACrZ8T6L_5lxeaPB5h-y9cFoZaI - ROI case memory:
xRbgBI8_YmG0VRYBTSzT3PxeJ4gKICphyOGV6tOq5ys - Personal technique:
rKfW6CPMRJvrCqcR9WGgWA1vtgvltyGXNzME4FE-wNg - Approved playbook blob:
BSeCwPqQJHWZTTn18HC5MgeCwxbo0ZmMbuzv22Qlq8c - Walrus Memory account object:
0x6b7b706987c258370007e040fe4f9e3a8540a15027292f13fc2e42fdf54bbf41
What we learned
Memory is not a summary. The useful unit is a case with evidence, a strategy, and an outcome. A summary can tell you what happened; memory has to tell you what to do next.
Confirmation and contradiction matter. A CRUD list of facts is not learning. DealOS preserves versions and explicitly represents when new evidence confirms, refines, or contradicts existing understanding.
Context beats a universal winner. ROI justification looked strong in some contexts and failed in others. The playbook is conditional and evidence-scoped, not a leaderboard of βbest strategies.β
Execution and outcome are separate. A recommendation being accepted is not execution. Execution is not success. Outcomes must be observed and attributed carefully.
Persistence needs honesty. Walrus and PostgreSQL can fail independently. The UI shows each status, attempts, errors, and retry actions instead of collapsing them into one βsavedβ badge.
Limitations and next steps
This is a hackathon build. The organizational dataset is synthetic and labeled. There is no authentication or per-user ownership boundary yet; organization scoping is enforced in the data layer, but production multi-tenant authorization is the next step.
Other next steps:
- add real rep identities and access control,
- add retraction/correction workflows for organizational knowledge,
- expand outcome attribution beyond a single deal,
- add more Tatum reads for onchain memory proof and audit trails,
- add approval history and reviewer roles,
- and tighten confidence calibration as real evidence accumulates.
Try it
nvm use
npm install
docker compose up -d
cp .env.example .env
# Fill in OPENROUTER_API_KEY, MEMWAL_PRIVATE_KEY, MEMWAL_ACCOUNT_ID, TATUM_API_KEY
npx prisma migrate deploy
npm run dev
Open:
http://localhost:3000/dealshttp://localhost:3000/deals/<dealId>/memoryhttp://localhost:3000/learninghttp://localhost:3000/intelligencehttp://localhost:3000/intelligence?tab=walrushttp://localhost:3000/infrastructure
Load the synthetic organizational demo from /intelligence, then search Walrus Memory with:
ROI unclear CFO business case
migration risk phased rollout
ROI-first discovery technique
DealOS is a proof that sales experience can compound. Not as a chat history. Not as a CRM note. As evidence-backed memory that changes the next recommendation.
Built for the Tatum Γ Walrus Memory Total Recall hackathon.
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.