Inspiration
Every AI tool has the same quiet failure: memory. You either re-paste the same project context into every session, or you hand your entire history to a remote memory service and hope it sends the model something relevant. Both are bad. The first wastes tokens and time. The second ships your whole memory store off-device and gives you no say in what the model actually sees.
We wanted memory that stays with the work — on your device — and that sends the model only the proof it needs for the task in front of it.
What it does
Qorx Zero is a persistent, cross-session MemoryAgent:
- Device-local store. Every decision, preference, and note lives in IndexedDB in the browser. Nothing leaves the machine except the bounded proof frame for the current question.
- Transparent retrieval. For each question an inspectable ranker scores records —
0.65 × keyword overlap + 0.20 × importance + 0.15 × recency— and selects only what's relevant. - Timely forgetting. Records carry a TTL and can be forgotten explicitly; expired memory is dropped before it can reach the model.
- Bounded context. The proof frame is hard-capped at 5 records / 1,600 characters, so recall stays inside a limited window no matter how large the store grows.
- Evidence-gated answers. Qwen answers only from the proof frame and cites source hashes. Ask something unsupported — e.g. a password we never stored — and the frame is empty and the agent refuses to invent an answer.
- Learns locally. Successful, proof-supported Qwen interactions become deduplicated 30-day local experiences, so the agent improves across sessions without uploading its memory.
How we built it
- Frontend + store: Next.js / React, with the full memory store in IndexedDB.
- Ranker & proof frame: a small, dependency-free scoring function so every recall decision is inspectable, not a black box.
- Model: a thin server adapter (app/api/ask/route.ts) calls Qwen via Alibaba Cloud Model Studio (DashScope). Only the capped proof frame + the question ever reach the API — never the full store.
- Deployment: packaged for Alibaba Cloud Function Compute as a custom container (deploy/alibaba/).
What we learned
- Bounding context beats hoarding it. The hard cap on the proof frame forced better retrieval — a small, well-chosen frame outperformed dumping everything.
- A refusal is a feature. Making the agent say "no proof, no answer" instead of hallucinating turned out to be the most trust-building behavior in the whole demo.
- Keeping memory on-device changes the privacy story entirely — the model can be useful without ever holding your history.
Challenges we ran into
- Retrieval quality vs. context limits: tuning the ranker weights so the right 5 records surface within the character cap.
- Honest forgetting: making sure TTL-expired and explicitly-forgotten records are excluded from recall before the frame is built, not after.
- Clean-room discipline: keeping this edition free of any private engine — it's a complete, standalone app with no hidden dependencies.
What's next
Multi-device encrypted sync (still device-owned keys), richer importance signals, and pluggable proof-frame policies per workspace.
Built With
- alibaba-cloud
- dashscope
- docker
- function-compute
- indexeddb
- model-studio
- next.js
- node.js
- qwen
- react
- typescript
Log in or sign up for Devpost to join the conversation.