Projects
AI Infrastructure · 2025–present

Your AI tools should
share a brain.

Claude doesn't know what you told ChatGPT. Sulci is the infrastructure layer that fixes it: a dual-indexed knowledge layer that captures context from every AI interaction and serves it back, structured and ranked.

pgvector · semantic searchMCP server · 8 toolsSupabase multi-tenantChrome extensionVS Code extensionlive · sulci.xyz

sul·ci /ˈsʌlsaɪ/ · the folds and grooves of the cerebral cortex. Where memory lives.

The Problem

Every session
starts from zero.

You use multiple AI tools every day. None of them share memory. Every decision you made in ChatGPT is invisible to Claude, and vice versa. You re-explain context you already explained. Decisions get made twice. The AI that knows your stack is not the one you are talking to right now.

Today

ChatGPT
Claude
Copilot
Perplexity
Gemini

5 tools. 5 isolated memories.

With Sulci

ChatGPT
Claude
Copilot
Perplexity
Gemini
Sulci

One knowledge layer. Every tool.

Architecture

Four stages.
One pipeline.

Capture, extract, store, serve. Every interaction follows the same path. Every piece of knowledge ends up structured, indexed, and available.

01

Capture

Every interaction is queued for processing. MCP server, API proxy, REST, or Chrome extension — the source does not matter.

mcp_serverapi_proxyrest_apichrome_ext
02

Extract

An LLM analyzes each conversation and extracts structured knowledge atoms, classified by type and scored by importance.

FACTDECISIONPREFERENCEENTITYINSTRUCTIONCONTEXT
03

Store

Dual-indexed: Postgres for structured queries, pgvector for semantic search. Each index does what it does best.

postgrespgvector

Structured queries need relational storage. Semantic retrieval needs vector indexes. A single store means compromising both. Sulci uses two.

04

Serve

CORE atoms injected first, regardless of query. Then ranked retrieval by semantic similarity, confidence, and freshness.

CORErankedtiered_injection
Knowledge Model

Seven types of
structured knowledge.

Every piece of information extracted from your conversations is classified, scored, and stored as an atom. Not raw text. Not a full conversation. A discrete, typed unit of knowledge that can be retrieved and ranked on its own.

F
Fact
Objective information established in conversation
D
Decision
Choices made or conclusions reached
P
Preference
Style and workflow preferences
E
Entity
People, projects, tools, or organizations
R
Relationship
Connections and dependencies between entities
C
Context
Situational information about current work
I
Instruction
Rules and conventions to follow
Semantic Flags
CORE

Injected into every context response, regardless of query. For standing instructions and non-negotiable constraints.

DECISION

Architectural choices already made. Gets retrieval priority when the query touches the decision domain.

TECHNICAL

Stack choices, implementation details, configuration. High weight on technical queries.

PREFERENCE

Style and behavior preferences. Ensures the AI works the way you work.

valid_until

Temporal Validity

Atoms carry an expiry date. Expired atoms are excluded from all context responses automatically. Useful for sprint goals, code freezes, and time-limited constraints.

supersedes_id

Atom Supersession

A new atom can supersede an old one. The old atom is marked expired on save. When a decision changes, the new one surfaces and the old one disappears. No cleanup needed.

Builder's Thinking

The hard questions.
Written down.

01

Why atoms and not raw embeddings?

Raw embeddings preserve conversations but lose structure. An embedding of "we decided on PostgreSQL" sits semantically close to "we considered PostgreSQL." The atom model forces classification: one is a DECISION, one is noise. Classification changes what gets injected and when.

02

Why dual indexing?

A vector store finds semantically similar content but cannot answer "give me all CORE atoms" or "what expired this week." A relational store handles structured queries but cannot rank by semantic similarity. Both indexes run on the same data. Each query type hits the right one.

03

Why is Core Knowledge separate from retrieval?

Retrieval is query-dependent. An atom about your preferred test framework will not score high when you ask about deployment. But that preference should always be in context. CORE atoms bypass retrieval entirely. They go in first, every time.

Surface Area

Six ways in.
One knowledge layer.

Primary

MCP Server

Claude Desktop & Claude Code

Native Model Context Protocol integration. 8 tools covering knowledge CRUD, context queries, conflict resolution, and project management.

Available Tools

query_contextadd_knowledgerecord_interactionlist_knowledgedelete_knowledgelist_projectslist_conflictsresolve_conflict

Chrome Extension

ChatGPT, Claude, Gemini, Perplexity

Passive background capture. Conversations processed automatically. Nothing manual.

VS Code Extension

Visual Studio Code

Context sidebar in the editor. Relevant knowledge surfaces as you work, with a query box for your knowledge base.

API Proxy

OpenAI & Anthropic APIs

Transparent proxy that intercepts API calls, injects relevant context, and captures interactions. Zero code changes required.

REST API

Any Application

Full HTTP API for knowledge CRUD, context queries, interaction ingestion, data export, and privacy controls.

Dashboard

Visual Management

Browse knowledge, view entity graphs, inspect injection audit logs, manage exports.

Knowledge BrowserEntity GraphInjection LogExport / Purge
Principles

Built on convictions,
not compromises.

Privacy-First

Your knowledge stays on your machine by default. No cloud dependency. Export or purge at any time.

Provider Agnostic

Works across providers, tools, and workflows. Your context belongs to you, not to a platform.

Intelligent Decay

Relevance is a function of time, frequency, and confidence. Old decisions fade. Current context surfaces.

Fully Transparent

Every piece of injected context is logged and auditable. You can see exactly what Sulci told your AI, when, and why.

Multi-Tenant Ready

Sulci Cloud supports full multi-tenancy with Supabase Auth. Every user's knowledge is isolated. Tier-based quotas and team sharing built in.

Stop re-explaining yourself.

Two ways to get started. Self-host with full data control, or sign up and go in the cloud.

hello@lopez.fi

Why I built this

I spend my days moving between Claude, ChatGPT, and Copilot. Re-establishing context became the bottleneck, not the AI itself. Sulci started as a personal tool. It is now live at sulci.xyz, and every developer who does the same faces the same invisible tax.

Let's Talk

Let's build something
worth talking about.

I take on a limited number of advisory and fractional engagements. Only projects where I can make a real difference. If you're navigating growth, AI, or revenue challenges in a technical B2B environment, let's talk.