/ overview
A personal assistant as a background process.
HeyClara is a single-process assistant built around the Claude Agent SDK. It connects messaging surfaces with scheduled work, persistent workspaces, and memory.
The public repository and npm package make the implementation available for customization and local use.
/ problem
Useful work continues after a chat ends.
A conversational assistant can forget task state or stop when a session closes. Scheduled routines and continuing work need persistence, a runtime, and a way to report back through the channels a person already uses.
/ architecture
One daemon, shared capabilities.
A Bun and TypeScript process connects the Claude Agent SDK, MCP tools, messaging channels, PostgreSQL-backed state, and scheduled jobs. Memory consolidation happens in two stages, while persistent workspaces hold ongoing task context.
- Channels include Telegram, Slack, terminal, and Twilio voice/SMS integration.
- A shared tool layer connects capabilities across channels.
- The documented design targets a personal, single-user assistant.
/ Engineering decisions
Keep a personal system understandable.
The project deliberately uses one daemon rather than a fleet of services. That reduces operational complexity for a personal assistant, while making process lifecycle and recovery important design concerns.
Capabilities can be adapted through code and skills. The design favors a capable agent with tools over adding a multi-agent layer to every task.
/ challenges
Long-lived work needs durable state.
Scheduled jobs, interrupted conversations, and different messaging surfaces all need to refer to the same useful context. Persistent workspaces and memory consolidation support that continuity.
/ results
Available as source and a package.
The project exposes the daemon, integrations, scheduling, memory implementation, and a published npm entry point. The source makes the assistant’s execution and persistence paths available for inspection.
/ learnings
Autonomy starts with continuity.
A personal agent becomes useful when its runtime, memory, and communication surfaces preserve the continuity of work. Reliability still needs explicit recovery behavior and evaluation of long-running tasks.
Source record
Sources & technical context
Architecture summaries are based on the linked documentation and source. Current implementation details and limits live in the repository.
- Architecture and implementationReviewed
- Published npm packageReviewed