← Back to all work
GitHubAI and developer tools

Codeme

A local coding assistant with repository context, streaming conversations, and explicit approval for workspace changes.

STATUSPersonal development project with local API, web client, and VS Code extension.
FOCUSAI and developer tools
DIAGRAM SCOPESource-based architecture

THE PROBLEM

What it sets out
to solve.

A coding assistant needs grounded project context and visible tool activity without handing consequential workspace actions directly to a model.

THE APPROACH

How it comes
together.

An Angular client and VS Code sidebar talk to a FastAPI backend. The backend persists conversations in SQLite, gathers allowlisted workspace context, and runs a local Ollama tool loop. The VS Code interface presents file and terminal proposals for approval.

UNDER THE HOOD

Explore the architecture.

Trace the components.
Select a node for its role in the system.

Local model loop with workspace context and approval8 COMPONENTS
INTERACTIVE 3DCodeme
PythonFastAPISQLite
Move to tilt · Drag to rotate · Arrow keysDrag to rotate · Tap a component8 components · 9 connections
2D diagram
Trace connections 9 relationships
  1. Angular clientFastAPI backend
  2. VS Code sidebarFastAPI backend
  3. FastAPI backendSQLite persistence
  4. FastAPI backendRegistered workspace tools
  5. FastAPI backendOllama local model
  6. Ollama local modelFastAPI backendtool loop
  7. FastAPI backendChange or command proposal
  8. Change or command proposalVS Code approval
  9. VS Code approvalRegistered workspace toolsapproved action

Select a component to see how it fits into the system.

CAPABILITIES

What’s inside.

  • 01

    Streaming chat and persistent, searchable conversation history

  • 02

    Repository browsing, ripgrep search, file previews, Git status and diffs

  • 03

    Ask and Agent modes with visible tool activity

  • 04

    Editor selection, active-file, and diff attachments

  • 05

    Explicit approval before proposed edits and terminal commands

Let’s build something useful.

Start a conversation ↗