Skip to content
Phong DuongAI Product Leader
All work
Agentic workspace + orchestrationActive development

Sophie

Sophie is an AI workspace I created to bring conversation, agents, project context, memory, tools, and repeatable workflows into one place. It gives me a single environment for working with AI while still being able to see what is happening behind the conversation and step in when I need to.

The Sophie workspace: a project conversation in the spine, with the memory rail open. Model, spend, context size, skills, and MCP sit on the composer rail.

Why I built it

My AI workflow had spread out. A model in one interface, a coding agent somewhere else, project context across files and conversations, memory in another system, tools connected through their own integrations. Each piece was useful. I was spending too much of my time managing the pieces.

What I wanted was one place to start with a conversation and move into the actual work: pull in project context, use a tool, dispatch an agent, review what it did, capture something worth remembering, or check what was really being sent to a model. Chat alone stopped being enough once several agents were working the same project.

So I designed the workspace I wanted to work in.

What sits behind the conversation

The workspace above is the whole product in one frame: the Spine mid-conversation, with the memory rail open and the composer carrying model, spend, context size, skills, and MCP. Three of those surfaces are worth seeing on their own, because they are where it stops being a chat window.

Sophie

Screenshot placeholder

The context inspector: sources, sizes, and share of the budget.

Context

Context is invisible in most AI interfaces, so when something goes wrong it is hard to tell whether the model had the wrong information, stale information, too much, or none of what you expected. Here it has its own surface: what came in, where from, and what share of the budget it took.

It is also explicit about what it cannot see, such as provider-controlled routing, rather than folding that into the numbers.

Sophie

Screenshot placeholder

Agent activity: tasks, status, ownership, and spend.

Agents

Once several agents work the same project, chat alone is not enough. I need to know who is doing what, what they are working against, where the work could collide, and when to step in.

Built around inspection and control rather than autonomous execution.

InspectSteerInterruptResume
Sophie

Screenshot placeholder

The memory rail: a memento tied back to its exchange, and the promotion step.

Memory

Not everything in a conversation is equally valuable memory. Useful insights surface as mementos tied back to the exchange they came from, and a session can be reflected on afterward.

Accepted mementos are written to Fraimed. Sophie owns the interaction, Fraimed owns the durable layer.

Conflicts and human intervention

Parallel agents create a different problem: two workers can both be doing reasonable work and still interfere with each other. Safe changes should be recovered from quietly. A real conflict should stop and ask for a decision instead of silently overwriting someone’s work. Drift detection, stale-write protection, re-read and merge, and human resolution all sit behind that, and the walkthrough is the right place to show them moving.

See it

A design walkthrough rather than a product demo, and labelled that way. It moves through resuming project work, inspecting the context going into a task, managing an agent, promoting a memento to Fraimed, and reaching a point where a person has to decide.

Watch design walkthrough Not yet recorded

Decisions that matter

Context should be inspectable
If context affects the answer, I should be able to see what Sophie contributed and where it came from.
Agents should be interruptible
Delegation should not mean giving up control. Inspect, steer, interrupt, resume.
Memory should be curated
Not everything said deserves to be remembered, so promotion is a decision rather than a side effect.
The workspace should not belong to one provider
Which model is in use is a setting. Sophie is the stable layer around it.
Repeated work should become reusable
Ways of working I do not want to explain again become skills with an explicit purpose, tool access, and scope.

What exists today

Active development

The server side is built and tested: gateway, harness loop, model router, spend and loop limits, and the session store, under roughly 77 tests. A live evaluation harness replays real compaction events and scores the result against the provider’s own summary.

The workspace shown above is the resolved product design being built, specified surface by surface, rather than a shipped interface. Sophie is not a commercial release.