Inspiration

I built Anima for two reasons: I wanted to learn how to build agentic systems more deeply, and I wanted to explore a problem that I personally find meaningful: understanding patterns in everyday life.

I have become increasingly interested in how AI agents can move beyond simply responding to prompts and instead maintain context, reason over information, and take meaningful actions. This hackathon was an opportunity to push myself further into that area while also strengthening my understanding of cloud architecture and databases.

The personal side of the project came from a simple observation: a diary can contain a lot of information about a person, but recognizing patterns across months of entries usually requires manually structuring the information and analyzing it. I wanted to explore whether an agent could do part of that work automatically — turning unstructured experiences into persistent memory and using that memory to identify recurring patterns that might otherwise be easy to overlook.

That became Anima: a diary where memory is not just stored, but used by an agent.

How I Built It

I designed Anima around an agentic memory loop:

Write → Understand → Remember → Recall → Evaluate → Act

A diary entry is processed through Amazon Bedrock. Claude extracts structured signals such as emotions, people, events, meals, spending, and weather, while Amazon Titan generates a 1536-dimensional embedding.

The structured information and embeddings are then persisted together in CockroachDB. Instead of introducing a separate vector database, I used CockroachDB's vector capabilities to perform semantic memory retrieval alongside the relational data.

When a new entry is created, Anima searches the user's previous memories, combines vector similarity with structured signals, evaluates whether a meaningful pattern exists, and can generate a proactive suggestion.

AWS Lambda connects these components into a serverless pipeline, while AWS Secrets Manager and CloudWatch provide security and observability.

I also used CockroachDB's Managed MCP Server, ccloud CLI, and Agent Skills during development to work directly with the database environment, validate schema and SQL decisions, and understand the system from both the application and infrastructure perspectives.

What I Learned

This project was particularly valuable because it was my first deeper exploration of agentic systems and one of my second projects using AWS.

I learned much more about designing agents around persistent memory rather than treating an LLM as an isolated component. I also gained practical experience with AWS serverless architecture, Amazon Bedrock, embeddings, vector search, database schema design, and the interaction between application logic, infrastructure, and data.

More importantly, I learned to think about the system as a whole. Connecting the frontend, Lambda, Bedrock, CockroachDB, vector retrieval, security, and observability into one working pipeline was one of the main challenges of the project.

AI-assisted development accelerated the learning process, but I used it primarily as a tool for exploration, debugging, and understanding unfamiliar technologies. The goal was not simply to generate code, but to understand how the different components fit together and why each architectural decision mattered.

Challenges

The biggest challenge was integrating many new concepts at the same time while keeping the architecture coherent.

I had to reason about database design, vector similarity, agent behavior, AWS deployment, authentication and secrets, user memory isolation, and frontend/backend communication as parts of the same system rather than independent pieces.

Another challenge was deciding when retrieved memories were actually meaningful. A similarity score alone is not enough to determine whether two experiences represent a useful pattern, so I introduced an evaluation layer that combines semantic similarity with structured signals before generating a suggestion.

Working through these challenges helped me move from simply learning individual technologies to understanding how they can work together as a complete system.

What's Next

Anima is intentionally a starting point rather than a finished product.

I want to continue developing it into a more capable personal memory system, with richer temporal analysis, stronger pattern detection, better personalization, and more sophisticated agent behavior.

For me, the most valuable outcome of this project is not only the application itself, but the deeper understanding I gained of agentic systems, cloud computing, and persistent data architectures — and the ability to keep building at the intersection of these technologies.

Built With

  • amazon-bedrock
  • amazon-cloudwatch
  • amazon-titan
  • aws-lambda
  • aws-secrets-manager
  • claude-sonnet
  • cockroachdb
  • cockroachdb-mcp
  • cockroachdb-vector-search
  • next.js
  • python
  • tailwind-css
Share this project:

Updates