Your life's memory. Locally owned. AI-powered. Zero cloud. Zero cost.
cd /Users/karandhiver/Desktop/invoicebhai/dead-reckoning
npm run devOpen http://localhost:5173/ in your browser. Everything works with sample data.
Step 1: Install Ollama (for local AI)
# Download from https://ollama.com
# Then pull a model:
ollama pull llama3.2Step 2: Run the App
cd /Users/karandhiver/Desktop/invoicebhai/dead-reckoning
npm run devThis opens the desktop app. It will:
- Create a SQLite database in your user data folder
- Start watching your folders for files
- Connect to Ollama for AI chat
┌──────────────────────────────────────────────────────────────────┐
│ DEAD RECKONING APP │
│ │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ FRONTEND (React + Vite) — What you see │ │
│ │ │ │
│ │ 🏠 Home → Dashboard with stats, charts, recent files │ │
│ │ 🔍 Search → Full-text search across all indexed files │ │
│ │ 💬 Chat → Talk to your files using AI │ │
│ │ 📅 Timeline → Chronological view of all your files │ │
│ │ 🗂️ Vault → Manage which folders are watched │ │
│ │ ⚙️ Settings → Configure AI, indexing, privacy │ │
│ └────────────────────────────────────────────────────────────┘ │
│ ↕ window.dr API (IPC Bridge) │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ BACKEND (Electron Main Process) — What runs underneath │ │
│ │ │ │
│ │ 📊 SQLite → Stores all file data, chat history │ │
│ │ 👁️ Chokidar → Watches your folders for file changes │ │
│ │ 📄 Parsers → Reads PDFs, Word docs, text, code files │ │
│ │ 🔎 MiniSearch→ Full-text search engine (in-memory) │ │
│ │ 🤖 Ollama → Local AI running on your machine │ │
│ └────────────────────────────────────────────────────────────┘ │
│ │
│ 💾 All data stays on YOUR computer. Nothing is uploaded. │
│ 💰 Zero cost. No API keys needed. Works offline. │
└──────────────────────────────────────────────────────────────────┘
What you see:
- 4 stat cards: Total Files, Total Words, Folders Watched, Last Indexed
- Activity chart showing files indexed over the last 14 days
- Quick Stats panel with averages
- Recently added files list
- Quick search bar (click or press ⌘K)
What to do:
- Click any file → Opens Chat with that file as context
- Click the search bar → Opens command palette
- Use this page to get an overview of your memory
What you see:
- Search input at the top
- Filter pills: All, Documents, Notes, Text, Code
- Date filters: Today, This week, This month, All time
- Sort dropdown: Relevance, Date, Name
- Results in a 2-column card grid
How to search:
- Type any keyword → Results appear instantly
- Click a filter pill to narrow by file type
- Click a date filter to narrow by time
- Click any result card → Opens Chat with that file
Command Palette (⌘K):
- Press
⌘K(Mac) orCtrl+K(Windows/Linux) from anywhere - Type to search across all files
- Use ↑↓ arrows to navigate, Enter to open
- Press Escape to close
What you see:
- Left panel: Chat session list
- Center: Chat messages
- Right panel: Context files (collapsible)
How to chat:
- Click "Start New Chat" or the Chat nav item
- Type your question in the input box
- Press Enter or click the Send button
- AI responds based on your indexed files
Add file context:
- Click the 📎 "Add context" button below the input
- Search for a file
- Select it → It appears in the right panel
- Now AI will reference that file in its responses
Manage sessions:
- Click any session in the left panel to switch to it
- Click ✏️ to rename a session
- Click 🗑️ to delete a session
- All chat history is saved automatically
Smart responses: The AI understands your files and can:
- Summarize documents
- Find specific information
- Compare files
- Analyze data
- Extract key points
What you see:
- Year selector buttons at the top
- Year stats: Total files, Total words
- Month groups (collapsible) with file cards
How to use:
- Click a year to see files from that year
- Click a month header to expand/collapse
- Click any file card → Opens Chat with that file
- Color-coded borders show file types
What you see:
- Folder cards with stats (file count, last indexed, status)
- "Add Folder" button
- Indexing progress bar (when indexing is running)
How to add a folder:
- Click "Add Folder"
- Select a folder using the native file picker
- The app starts indexing immediately
- Watch the progress bar at the bottom
Quick-add suggested folders:
- Click ~Documents, ~Desktop, or ~Downloads buttons on the empty state
Manage folders:
- Click ⋮ (three dots) on any folder card
- Re-index → Force re-parse all files
- Remove → Stop watching and delete indexed data
AI Assistant:
- Shows current AI status (online/offline)
- No API key needed — built-in smart assistant works immediately
Indexing:
- Auto re-index → Toggle automatic updates when files change
- Index hidden files → Include dotfiles and hidden folders
- File extensions → Check/uncheck which file types to index
- Clear all data → Delete all indexed data
Privacy:
- All data stays on your device
- No files are uploaded anywhere
- AI runs locally
| Shortcut | Action |
|---|---|
⌘K / Ctrl+K |
Open search command palette |
Escape |
Close modals, command palette |
Enter |
Send chat message |
Shift+Enter |
New line in chat input |
↑ / ↓ |
Navigate search results |
| Type | Extensions | How It Works |
|---|---|---|
| Markdown | .md |
Read directly as text |
| Plain Text | .txt |
Read directly as text |
.pdf |
Extracted using pdf-parse | |
| Word | .docx, .doc |
Extracted using mammoth |
| Code | .js, .ts, .py |
Read directly as text |
| Data | .json, .csv |
Read directly as text |
The built-in assistant is smart and understands your files:
- File-aware responses — When you ask about projects, it finds project files and summarizes them
- Context injection — When you add files to chat context, the AI reads their content
- Smart matching — It matches your questions to relevant files automatically
- No cloud — All processing happens locally on your machine
Example conversations:
- "What files do I have about projects?" → Lists project files with details
- "Summarize my meeting notes" → Extracts key points from meeting files
- "Show me my budget data" → Shows financial data from CSV files
- "What code files do I have?" → Lists all code files with descriptions
| Problem | Solution |
|---|---|
| Blank white screen | Hard refresh: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows) |
| Chat not responding | Check browser console (F12) for errors |
| No files showing | Go to Vault → Add a folder to index |
| Search not finding files | Make sure files are indexed first (check Vault) |
| App won't start | Run npm install then npm run dev |
npm run buildThis creates installers in the dist/ folder:
- macOS:
.dmgfile - Windows:
.exeinstaller - Linux:
.AppImageor.deb
git init
git add .
git commit -m "Initial release"
gh repo create dead-reckoning --public --push| Resource | Cost |
|---|---|
| Ollama (local AI) | ₹0 forever |
| SQLite (database) | ₹0 forever |
| Electron (desktop) | ₹0 forever |
| All npm packages | ₹0 forever |
| Total | ₹0 |
Dead Reckoning — navigate by what you already know.