A Raspberry Pi 4B gives Jeremy Adams a cheap, open, hackable home for a personal agent without putting the agent on his laptop.
2
NanoClaw connects WhatsApp to Claude and Neo4j, while Docker isolates the agent processes from the Pi's operating system.
3
A local Neo4j database lets the wearable agent capture booth notes offline, then the cloud graph can clean them up and connect them to themes.
Summary
Jeremy Adams builds a wearable personal agent from a Raspberry Pi 4B, a USB microphone, a hardware button, NanoClaw, Docker, WhatsApp, Claude, and Neo4j. He chooses the Pi because it is cheap, open, compact, and easy to modify. The Pi does not run the language model. It receives WhatsApp messages, passes them through NanoClaw, and uses Claude in the cloud for inference. Neo4j provides both a movie-query demo and a memory store based on the POLE schema, which covers people, objects, locations, events, and organizations. Adams then adds voice capture and walks the expo floor recording booth notes. When conference Wi-Fi is unreliable, a local Neo4j database stores the notes and exhibitor data. Later, the cloud graph enriches those notes with themes such as evaluation and observability. He finishes by moving from his custom memory setup to Neo4j Agent Memory, which distills WhatsApp conversations into browsable memories.
Adams did not want a personal agent installed on his laptop. He wanted something cheap, open, and easy to understand and modify. A Raspberry Pi 4B he already had in a closet fit those requirements. The board has Wi-Fi and can run Linux, Docker, NanoClaw, and a local Neo4j database. He acknowledges its limits, saying that it cannot run everything, but it can run enough for this project. The small device also lets him wear the system around his neck instead of dedicating a Mac Mini or his main computer to it.
Adams chooses NanoClaw because it is a compact project with about 15 source files and a small amount of code. Its agent processes run in Docker containers, which keeps them from running directly on the Raspberry Pi's system. NanoClaw is based on the Claude agent SDK and encourages users to modify the code and add skills. Adams connects it to WhatsApp because that is already on his phone. The resulting setup is small enough for him to understand while still giving him a practical messaging interface.
The Pi handles communication while Claude handles inference
The initial architecture sends messages from WhatsApp on an iPhone or MacBook to NanoClaw on the Raspberry Pi. NanoClaw pulls the messages down and uses Claude in the cloud for the language-model work. There is no LLM inference happening on the Pi itself. Neo4j is also available in the cloud. Adams demonstrates the path with a movie database: he asks over WhatsApp which movies Tom Hanks acted in, NanoClaw uses an MCP server to connect to Neo4j, and the response travels back through the Claude agent SDK and WhatsApp.
The POLE schema gives the agent a first memory structure
While flying, Adams experiments with building memory through WhatsApp. He uses the POLE idea, covering person, object, location, event, and organization. He describes it as a graph-memory approach associated with European policing, where investigators have long used connected diagrams. The agent creates a memory database with nodes and relationships that persist across reboots. In Neo4j, Adams shows memories connected to people, places, and events, including visits to an office and an AI meetup. He presents this as an early, practical schema rather than a finished theory of memory.
A microphone and button turn the agent into a voice recorder
Adams adds a USB microphone and a physical button connected to pins on the Raspberry Pi. Pressing the button triggers recording and voice-to-text. During the talk, he records the sentence, "I am actually on stage at AI Engineer World delivering the talk I've been preparing for." The hardware lets him capture information without typing into a laptop. He then extends the idea to the expo floor, where he records what exhibitors have written or displayed at their booths.
Adams expects conference Wi-Fi to be unreliable, so he runs Neo4j locally on the Raspberry Pi. His offline flow uses voice-to-text to extract a booth number from the recording, then writes a query that inserts the note into the local database. He also creates a simple exhibitor data model and cleans the booth names and numbers. A small shell browser lets him query the Neo4j instance around his neck. He shows raw notes linked to exhibitors, including entries for booths such as Microsoft, MinMax, and CI.
Cloud enrichment connects booth notes to shared themes
After collecting notes locally, Adams uploads them to Neo4j in the cloud. The cloud version contains cleaned notes and additional connections. Exhibitors become linked to theme nodes, and a path query shows those relationships. He gives evaluation and observability as examples of themes shared by exhibitors such as Buildkite and LangChain. The graph therefore moves beyond a collection of booth transcripts. It can connect separate exhibitors through ideas that appear across their notes.
Neo4j Agent Memory distills conversations into browsable memories
Adams later upgrades his custom memory setup to Neo4j Agent Memory. He loads his WhatsApp conversations and uses the service to distill them into memories. The resulting interface lets him browse conversations and categories such as people, locations, and concepts. Those memories are available to the Raspberry Pi agent through an MCP server. This gives his wearable agent access to a longer history than the hand-built POLE database alone, while keeping the graph as the place where the memories and their connections can be explored.