explaingit

hammonda100/ghost-familiar

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

A local first daemon that builds a personality profile from your notes, browser history, and code, then shows it as an ambient chat companion.

Mindmap

mindmap
  root((twin))
    What it is
      Local first daemon
      Personality profile
      Ambient browser companion
    Tech stack
      Python
      FastAPI
      SQLite
      ChromaDB
    Use cases
      Chat with note context
      Visual activity presence
      Local only AI
      Cross source pattern analysis
    Audience
      Developers
      Obsidian users
    Setup
      pip install
      twin start
      Setup wizard

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Chat with an assistant that has context from your own Obsidian notes and recent activity.

USE CASE 2

See an ambient visual that reflects your inferred personality traits and activity level.

USE CASE 3

Run everything locally with Ollama instead of sending data to a cloud AI service.

USE CASE 4

Analyze patterns across your notes, browser history, and git commits in one place.

What is it built with?

PythonFastAPISQLiteChromaDBOllama

How does it compare?

hammonda100/ghost-familiar0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultymoderatemoderatehard
Complexity3/54/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs a local LLM via Ollama or an OpenAI/Anthropic API key, plus a markdown notes vault to analyze.

In plain English

Twin is a program that runs quietly on your own computer and tries to build a personality profile of you based on how you already work, then shows that profile back to you as a kind of ambient companion in your browser. Everything happens locally: there is no cloud service involved, no Docker setup required, and it installs as a plain Python package. It can automatically use a locally running AI model through Ollama, or fall back to OpenAI or Anthropic if you provide an API key. After installing it with pip and running a start command, twin opens a small web page on your machine and walks you through a short setup wizard. You point it at a folder of notes, such as an Obsidian vault, choose which AI model to use, and decide whether to allow optional screen observation, which is turned off unless you explicitly enable it. Once set up, the program analyzes your notes, your browser history, your git commit activity, and any AI chat exports you have saved, using all of that to build what it calls a personality model. That model scores you across six trait pairs, things like calm versus restless or methodical versus exploratory, based on patterns in your notes, browsing, and code. The result feeds two things: a chat feature that answers questions using your own notes and recent activity as context, and a live visual animation on screen, chosen from eight different styles, that shifts based on how active you currently are. All of this data is stored locally in a hidden folder on your machine, using a small SQLite database for structured events and a vector database for semantic search over your notes. The project's own documentation describes the design as privacy focused by default, since the more invasive screen observation feature requires an explicit opt in and nothing leaves your device. The codebase is organized into clear pieces: a command line interface, the core web server, database and vector storage code, the first run analysis logic, connectors for reading external sources like your browser or notes, and the personality scoring and visual rendering logic.

Copy-paste prompts

Prompt 1
Walk me through installing twin and running its setup wizard for the first time.
Prompt 2
Explain how twin builds its six trait personality model from my notes and activity.
Prompt 3
Show me how to configure twin to use Ollama instead of an OpenAI or Anthropic API key.
Prompt 4
Help me understand what data twin stores locally and how privacy by design works here.

Frequently asked questions

What is ghost-familiar?

A local first daemon that builds a personality profile from your notes, browser history, and code, then shows it as an ambient chat companion.

What language is ghost-familiar written in?

Mainly Python. The stack also includes Python, FastAPI, SQLite.

How hard is ghost-familiar to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ghost-familiar for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.