ARA - Give AI systems a memory of every decision they make

by
AI systems make decisions, then forget everything: the exact inputs, the model version, the context. ARA is an infrastructure layer that records every decision your ML models make with the exact state that produced it, and can replay any of them months later. Incident debugging becomes a query. Drift shows up per entity. Training data joins without label leakage. Free Community Edition, runs entirely on your own infrastructure in under 10 minutes. SDKs on PyPI and Maven Central.

Add a comment

Replies

Best
Maker
📌
Hi Product Hunt! Solo founder here. After two decades building distributed systems in the US (Oracle, Unity), I moved back to India and spent the past year building ARA from Pune. The itch: every layer of the ML stack has a memory. Models are versioned, code is in git, features live in stores. But decisions, the thing the whole stack exists to produce, evaporate the moment they happen. When something goes wrong weeks later, teams reconstruct from logs and hope. I kept seeing this everywhere and decided it was an architecture gap, not a tooling gap. ARA sits in the serving path: one write at inference time binds the entity, features, model version, and decision into a permanent, replayable record. Every customer, account, or transaction carries its own timeline. Reopen any moment exactly as the model saw it. What's live today: free Community Edition (production use included), single binary, no cluster, running in under 10 minutes. Python and Java SDKs on the public registries. A bundled replay console that takes a fraud incident to root cause in about two minutes; there's a 60 second demo on the page. Honest notes: closed source (the paid tier will be HA, RBAC, audit export), single node in the free tier, and the download asks for an email because each build is watermarked and licensed. Docs and demo are ungated. The EU AI Act starts enforcing decision traceability for high-risk AI on August 2, so the timing is not accidental. But the real bet is bigger: as AI systems get more autonomous, they need a memory of what they did. I'll be here all day. Ask me anything, especially the hard questions.

Set this up in our staging env over lunch and the replay query on a flaky batch job pointed straight at the offending model version. Self-hosted install was painless and the PyPI SDK felt like a normal client, not a framework I had to wrap my head around.

 Glad the install was smooth.

Replay is cool, but a built-in diff view comparing two specific model versions side by side on the same input would save so much time during debugging. Right now I'd have to script that comparison myself across snapshots.

 The Diff tab does part of this today: pin two moments on an entity's timeline and it diffs the exact served values, with model version changes marked. Version-vs-version on the same input is a good extension, added to the list. Thanks.

the replay-any-decision-months-later thing is genuinely clever, especially pairing it with per-entity drift tracking. most observability tools stop at aggregate metrics so this feels like it was built by people who actually debugged a model at 2am.

The "forgot everything I told it yesterday" pain is real, I work with coding agents across long-running projects and end up maintaining markdown context files by hand just so each session doesn't start from zero. Curious how recall works in practice: does the agent decide what to remember/retrieve on its own via the MCP tools, or do I control what gets stored? The failure mode I'd worry about is it confidently recalling stale info after the project has moved on.

 Small correction so I don't oversell: ARA is not agent memory in the context-recall sense. It records the decisions an ML system makes, with the exact state that produced each one, so they can be replayed and audited later. Nothing is 'recalled' into future decisions unless you query it, which also means nothing stale leaks in.