Project Info

Baba Babooshka

Devpost

Inspiration

Babushka means two things: the grandmother who never forgets and the nesting doll with a world tucked inside. Both nail the problem we kept hitting — coding assistants forget you between sessions. We wanted an agent you could text like a teammate, one that remembers your projects and gets sharper the more you talk to it.

What it does

Baba Babooshka is a Fetch.ai uAgent that can trigger Claude Code as a network-addressable AI workers for your discussions and project work. Reach her as a human (ASI:One / Agentverse chat) or as another agent (ClaudeRequest → ClaudeResponse). Long-term memory — searches a Redis Agent Memory Server for prior context per sender, prepends it to the prompt, and persists each exchange. Conversations compound. Sentry observability — every timeout, crash, and memory hiccup is captured so the agent never dies silently.

How we built it

Four components, no more: a Fetch.ai uAgent orchestrator, Claude Code as the engine, a Redis Agent Memory Server, and Sentry. The core spawns Claude headlessly as a non-blocking asyncio subprocess and parses its JSON result — and never raises, returning a readable error on any failure so the agent stays up.

Challenges we ran into

The Windows claude .cmd/.exe shim wouldn't resolve under asyncio — fixed with a cross-platform _resolve_claude(). Port collision: the memory server and agent both wanted :8000 (moved memory to :8001). Killing runaway Claude subprocesses cleanly on timeout without leaking processes. Holding scope discipline to four components under a 1.5-day clock.

Accomplishments we're proud of

A genuinely stateful agent — conversations carry across sessions instead of starting cold every time. A core that never crashes: every failure path returns a readable error, so the agent stays alive in the wild. A clean, minimal architecture — four components doing real work, nothing bolted on for show.

What we learned

Memory is a product feature, not a database — retrieving the right top-$k$ context matters more than storing it. "Never raise" is a design philosophy — an agent that returns an honest error beats one that crashes. Observability earns its keep instantly — Sentry turned "why did it hang?" into annotated events.

What's next

Working memory per project, so she tracks the state of each repo separately, not just per sender. Poke / iMessage as a human-facing layer so you can text her about project progress and errors directly. Multi-session orchestration — planning, scaffolding, and coding sessions running in parallel. Smarter memory — summarization and decay so context stays sharp instead of piling up.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • PythonIn code
  • DockerClaimed
  • LangChainClaimed

1 of 3 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.

AI coding agents

  • Claude CodeCommits

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

28 KB

Source files

4

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars