# Null-drift: A bare-metal O(1) Memory Backend for CrewAI (No VectorDB bloat)

**URL:** <https://community.crewai.com/t/null-drift-a-bare-metal-o-1-memory-backend-for-crewai-no-vectordb-bloat/7579>\
**Category:** General\
**Tags:** memory\
**Created:** [June 11, 2026, 7:44pm UTC](https://community.crewai.com/t/null-drift-a-bare-metal-o-1-memory-backend-for-crewai-no-vectordb-bloat/7579 "2026-06-11T19:44:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ansh](https://sea1.discourse-cdn.com/flex025/user_avatar/community.crewai.com/ansh/32/5117_2.png) [@ansh](https://community.crewai.com/u/ansh)\
**Post date:** [June 11, 2026, 7:44pm UTC](https://community.crewai.com/t/null-drift-a-bare-metal-o-1-memory-backend-for-crewai-no-vectordb-bloat/7579/1 "2026-06-11T19:44:29Z")

</div>

Got tired of standard vectordbs eating up disk space and causing python bloat when running continuous local agents. so i gutted the db approach and built a headless rust daemon (null-drift).  
​instead of storing exact text logs, it manages the agent’s memory as a continuous array using geometric decay. memory footprint stays completely flat at O(1) no matter how long the crew runs.  
​i just wrote the python wrapper so it plugs natively into CrewAI as a custom StorageBackend. u can use it literally by changing one line in your config

```auto
from nulldrift_agents import NullDriftCrewStorage

crew = Crew(
    agents=[...], 
    tasks=[...], 
    memory=True, 
    # routes all memory to the rust daemon
  storage=NullDriftCrewStorage(gateway_url="http://127.0.0.1:8000", thread_id="production_crew")
)

```

the repo and wrapper code are here. if you are building local-first heavy systems and are hitting context limits, i’d love for u to test this out and see if u can break the rust daemon! [null-drift](https://github.com/CodNoob100/null-drift)
