Jennifer Nguyen

Bootwitch

Scientist building AI and research tools
10+ years in immunology research · Building with AI since 2024
Bootwitch / Interactive demo
Simulated session
Files
Terminal
Welcome to Bootwitch.
Projects / attractor

Attractor — Adaptive Context and Personalization

Persistent context-state prototype and research plans for long-running conversations.

attractorcontext-and-memory

A changing map of how I work, and a way to bring the useful parts into the next conversation.

Jennifer Naomi Nguyen · context and memory project · Working prototype · March 2026 – present · built with Claude Code and Codex

README · ARCHITECTURE · TECHNICAL · source

What I built

I built Attractor to explore what an AI conversation should carry into the next session. It keeps a weighted map of recurring ways of working, updates that map after a conversation, and turns it into context an application can pass along with a later request.

Someone who often thinks through experimental controls, for example, may benefit from a response that builds on that approach. The idea is to carry forward something useful about how a person works, without making them explain it all again.

Memory that I can look at

Each area of the map is called a basin. It has a label, a description, a weight, and keywords. Research methodology might bring attention to controls and evidence; creative work might bring attention to voice and structure.

After a conversation, a model proposes how the map should change. The update rules keep those changes gradual, let less-used areas drift toward dormancy, and record connections between modes. I can open the state and see what moved.

conversation → summary → memory update → stored state → context for a later request

Persistent memory, ephemeral context

The memory can keep developing across sessions. The context delivered to a particular interaction can be much smaller: the part that belongs in this conversation, right now.

The current tool renders a context block with attractor context; the application using it chooses whether to include that block in a request. The next part I'm working toward is selecting context within a token budget and learning when it helps to include more, less, or none at all.

That's what I mean by ephemeral context delivery here: context chosen for the interaction, drawn from a longer-lived memory. The stored state and run logs have their own lifetimes.

Watch it change

The included manual example starts with Research, Systems, and Creative at 50%. After three updates involving architecture, Systems reaches 100% while Creative drifts to about 47%.

It's a small example, but it makes the mechanism tangible: something used repeatedly becomes more prominent, while other areas stay available in the background. You can run npm run example from the standalone source checkout without making model calls. The state rules explain the numbers, and the running guide covers setup.

What I'm exploring next

I'm simplifying how the weights move: start seeded basins at 0.3, let every basin relax a little toward that baseline, then apply the conversation's adjustment within fixed bounds. That gives the starting map less influence and makes quiet updates behave consistently. The next update rule is written up; the current code and examples still use the original rule.

How much context is useful? lays out the next personalization study: compare the full block, a shorter selected block, and no memory, using the same frozen history. It also asks whether the model brings personal context into questions where it doesn't belong.

The budgeted renderer and that evaluation are planned work. The shared tool already provides the memory updates, local and hosted storage, and context rendering to build from.

Another use of the same tool

Attractor — Context Research uses the mechanism to compare models and investigate recurring conversation patterns. That project has its own questions; the shared mechanics live here.

Context and Memory Workspace is the larger workspace where I explore integrated memory workflows.

All projects