Back to the work
Software / Deployed prototype

Offshoot

One conversation. More directions.

A persistent AI workspace for reusable workflows and conversations that branch without duplicating their shared history.

Offshoot PERSISTENT THINKING
Shared conversationLet’s explore an idea.
One history. Room for another line of thought.
SELECT A BRANCH · CONCEPT ILLUSTRATION
01

The problem

Linear chats make it awkward to pursue a side question without cluttering the main discussion. Long-running work also needs reusable instructions and a reliable way to return to earlier lines of thought. Offshoot organizes projects, workflows, conversations, and branches as related but independent resources.

02

History is a tree

Messages are immutable and linked to their parents. Each branch stores a fork point, current head, and context snapshot, sharing earlier messages rather than copying them. Creating the branch cursor does not require waiting for an AI response.

03

Context has boundaries

The first branch prompt triggers a relevance summary. Subsequent generation uses that summary and the branch messages, excluding sibling conversations. Users can restore omitted topics; advisory reference detection can suggest starting a sibling branch when a question depends on missing context.

04

Reliable persistence

A React frontend connects to FastAPI and PostgreSQL through SQLAlchemy and Alembic. Composite references keep messages within their conversations. Row locking, expected-head checks, and atomic turn updates address stale or failed requests. Workflows are attached through ordered relationships with deterministic inheritance and deduplication.

05

A focused prototype

Gemini is isolated behind a provider interface, and deterministic test doubles avoid consuming API quota during backend tests. Guest workspaces use signed tokens and ownership checks. The frontend is deployed on Vercel, with Railway backend configuration. Semantic/vector ranking remains a later milestone; ordinary title and message search is implemented.

KEEP EXPLORINGChance