Your personal AI knowledge base—100% offline
All your AI conversations from ChatGPT, Claude, Gemini, and more—captured, connected, and searchable.
Everything runs on your device. Your data never leaves your machine.
Status: work in progress. This repo is My Memories, the app that's becoming Off Grid Desktop, part of the Off Grid ecosystem. What's documented below is what works today. Expect rough edges while the rebrand and integration land.
My Memories came first, before Off Grid. It started as a way to keep my own thinking from getting trapped inside whatever AI tool I happened to be using that month. It watches the LLM apps and browser windows you already use, understands each conversation, and stores it as memory on your machine. It downloads a model locally and does everything on device. No vendor lock-in, no data collected.
It's becoming Off Grid Desktop: the intelligence layer for your laptop. The goal is to capture your whole day where you work, not just chat history but meetings, email, and the work context that makes everything else useful, and to do all of it on device. Off Grid Desktop pairs with Off Grid Mobile in your pocket and Off Grid Sync, the private backbone that moves context between your devices.
Today it does the AI-conversation capture documented below. The rest is being built in the open. Parts will change, and some will break before they settle.
- Off Grid Mobile, on-device intelligence in your pocket: https://github.com/off-grid-ai/mobile
- Off Grid Sync, private device-to-device sync: https://github.com/off-grid-ai/sync
- The full thesis: https://github.com/off-grid-ai
You've had hundreds of conversations with AI assistants. Important insights are scattered across ChatGPT, Claude, Gemini, and more. Finding "that one conversation" where you solved a problem takes forever. And syncing to the cloud means giving up control of your data.
My Memories automatically captures your AI conversations and transforms them into a searchable, connected knowledge base—entirely on your device.
| Capture | Extract | Connect |
|---|---|---|
| Automatically imports conversations from your AI assistants as you chat | Extracts key insights, entities, and facts from every conversation | Builds a knowledge graph linking related concepts and ideas |
Seamlessly imports from ChatGPT, Claude Desktop, Claude (browser), and Gemini. Just chat as normal—My Memories watches and captures in the background.
Coming soon: Support for Perplexity and Grok is planned but not yet available.
Local LLMs extract memories, entities (people, concepts, technologies), and facts from every conversation. Creates rich, searchable context automatically.
Interactive 3D visualization connects entities across all your conversations. See how concepts, people, and ideas relate to each other.
Ask questions about your past conversations. Get AI-powered answers grounded in your actual chat history.
Find conversations by meaning, not just keywords. Search your entire knowledge base with natural language.
- All AI processing happens on-device via GGUF models
- Data stored in local SQLite database only
- No cloud sync, no telemetry, no external API calls
- You own your data completely
- Node.js 18+ (recommended)
- npm
- macOS (primary), Windows/Linux (available)
# Clone the repository
git clone https://github.com/off-grid-ai/desktop.git
cd desktop
# Install dependencies
npm install
# Start in development mode
npm run devnpm run build:mac # macOS
npm run build:win # Windows
npm run build:linux # Linuxsrc/
├── main/ # Electron main process
│ ├── parsers/ # Chat source parsers (Claude, ChatGPT, etc.)
│ ├── database.ts # SQLite database layer
│ ├── embeddings.ts # Local embedding generation
│ ├── llm.ts # Local LLM integration
│ ├── vision.ts # Screen capture & OCR
│ └── watcher.ts # App & file monitoring
├── renderer/ # React UI
│ └── components/ # UI components
└── preload/ # Electron bridge
resources/
├── bin/ # Local inference binaries
└── models/ # GGUF models
| Layer | Technology |
|---|---|
| Desktop | Electron + Vite |
| Frontend | React 19 + TypeScript |
| Styling | Tailwind CSS 4 + Framer Motion |
| 3D Graph | Three.js + react-force-graph-3d |
| Database | better-sqlite3 |
| LLM | node-llama-cpp |
| Embeddings | Xenova Transformers |
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Typecheck & build |
npm run build:mac |
Build macOS package |
npm run test |
Run tests |
npm run lint |
Run ESLint |
npm run format |
Format with Prettier |
| What stays local | What we never do |
|---|---|
| All your conversations | Send data to cloud servers |
| Entity extraction & analysis | Track usage or telemetry |
| Embeddings & search index | Require internet connection |
| Generated summaries | Access external APIs* |
*Optional Ollama integration requires a local Ollama server
Contributions welcome! Please read our contribution guidelines before submitting PRs.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.
In short: you're free to use, study, modify, and share this code, but any version you distribute or run as a network service must also be released as open source under the same license. Copyright (C) 2026 Mohammed Ali Chherawalla.
Built for privacy-first AI users