Documentation

Everything about Madhav.

Installation, features, shortcuts, known issues — all in one place.

01

Getting Started

Installation

Madhav is a portable app — no installer, no admin rights, no UAC prompts. Just download and run.

  • Download the latest release from the GitHub Releases page.
  • Double-click Madhav-Setup-x.x.x.exe (or the AppImage on Linux).
  • Windows SmartScreen may warn about an unsigned app — click 'More info' then 'Run anyway'. This is expected for an indie app; the binary is safe.
  • Madhav opens in the system tray and the side panel appears on the right edge of your screen.

Auto-updates are built in. Once you're running v1.2.6+, future updates download and install silently in the background.

First Launch

On first launch, Madhav walks you through a short onboarding flow:

  • Welcome — introduction and tagline.
  • The panel — explains hover mode, fixed mode, and hotkey mode.
  • Capture types — the five thought categories (Note, Task, Idea, Bookmark, Uncategorized).
  • Telegram — optional: link your bot for anywhere-capture.
  • Ready — your note list opens.

After onboarding, Madhav starts in Fixed mode (panel always visible). You can change this in Settings at any time.

Telegram Setup

Connecting Telegram gives you a second capture surface — send a message from your phone, it appears on your desktop instantly.

  • Open Telegram and search for @MadhavBot.
  • Send /start to the bot.
  • That's it — your desktop and Telegram are now linked.

Every thought you add on desktop is pushed to your Telegram chat. Every message you send the bot gets categorised and appears in the panel.

Available bot commands

  • /start — link your account and see the welcome message.
  • /list — show your last 10 thoughts.
  • /archive — show your last 10 archived thoughts.
  • /help — list all available commands.

02

The Panel

Panel Modes

Madhav has three panel modes. Switch between them in Settings → Panel Behavior.

Hover mode

The panel hides at the right edge of your screen and slides in when your cursor touches the edge. Move away and it slides back. Perfect if you want zero distraction while working.

Fixed mode

The panel stays open at all times. Best for single-monitor setups or when you're actively using Madhav throughout the day.

Hotkey mode

The panel is hidden by default. Press your configured hotkey (default: Alt+M) to toggle it open or closed. Clicking outside the panel also closes it automatically.

If you get stuck in Hotkey mode with the panel unexpectedly hidden, right-click the Madhav icon in the system tray → Reset Panel Behavior. This resets it to Fixed mode.

Panel Appearance

Customise the panel in Settings → Appearance:

  • Width — drag the slider from 280px to 520px. The panel resizes live.
  • Background image or video — upload any photo or MP4. Use the crop overlay to choose which part shows inside the panel.
  • Backdrop blur — slider from 0 to 40px. Higher blur creates a stronger frosted-glass look.
  • Background opacity — controls how much the background shows through.

System Tray

Madhav lives in the Windows system tray (bottom-right clock area). Right-click the tray icon to:

  • Reset Panel Behavior — returns to Fixed mode (useful if panel is stuck hidden).
  • Quit — fully exits Madhav.

Closing the panel window does not quit the app. Use tray → Quit, or Settings → Exit button to fully exit.

03

Capturing Thoughts

Thought Types

Every item in Madhav is a Thought. Thoughts have a type that determines how they're displayed and filtered:

  • 📝 Note — freeform text, markdown supported.
  • ✅ Task — has a checkbox. Mark done, and the card auto-collapses and moves to a Completed section.
  • 💡 Idea — same as Note, different visual accent for quick scanning.
  • 🔖 Bookmark — paste a URL and Madhav fetches a rich preview (favicon, title, description, cover image).
  • Uncategorized — the default. Assign a type later when you know what it is.

New thoughts default to Uncategorized — it's faster. Assign a type after the thought is captured, not before.

Panel Input

The Add Note input is always at the top of the panel. Click it, type, and press Ctrl+Enter to save. Use the category dropdown to pick a type before saving, or use a keyboard shortcut.

  • Ctrl+1 — save as Uncategorized
  • Ctrl+2 — save as Task
  • Ctrl+3 — save as Note
  • Ctrl+4 — save as Bookmark
  • Ctrl+5 — save as Idea

Markdown is supported: **bold**, *italic*, `code`, - lists, # headings, [links](url), > quotes. A live preview appears as you type.

Quick Capture (Alt+C)

Press Alt+C from anywhere on your desktop — a floating capture window appears instantly without opening the full panel. Type your thought, pick a category, press Ctrl+Enter to save. The card animates away toward the sidebar. Press Esc to cancel.

  • Works from any app — games, browser, code editor, anything.
  • The window can be dragged by its top bar.
  • Shortcut is configurable in Settings → Shortcuts → Quick Capture.

Selection Capture (Alt+S)

Select any text in any application, then press Alt+S. Madhav reads your clipboard and saves the selection as an Uncategorized note instantly. A Windows notification confirms the save.

Works in browsers, PDF viewers, code editors, Word, Excel — any app that supports text selection and copy.

OCR Screen Snip (Alt+Shift+S)

Press Alt+Shift+S to open a full-screen snip overlay. Draw a rectangle around any text on screen — menu items, dialog boxes, images, screenshots. Release the mouse and the overlay closes instantly.

Madhav runs Tesseract OCR in the background and saves the detected text. Smart category detection applies automatically:

  • URL detected → saved as Bookmark with https:// prefix.
  • Bullet list detected → saved as Task with markdown formatting.
  • Everything else → saved as Uncategorized.

The screen is immediately interactive after you release the mouse — OCR runs silently in the background, no freeze.

Markdown Support

All thought types support GitHub-flavoured markdown. The panel renders it with syntax highlighting and 1:1 line-break mapping.

  • **bold text** → bold
  • *italic text* → italic
  • `inline code` → code
  • - item or * item → bullet list
  • 1. item → numbered list
  • - [ ] item / - [x] item → open / completed task checkbox
  • # Heading → heading
  • > quote → blockquote
  • [text](url) → link

Press the M button in the note input to open a quick reference card showing all supported syntax.

Markdown Toolbar

Select any text inside a note card or the input box and a floating toolbar appears above your selection. Click a format button to wrap the selected text in the matching markdown syntax.

  • Bold — wraps selection in **...**
  • Italic — wraps selection in *...*
  • Inline code — wraps selection in `...`
  • Link — wraps selection in [...](url), prompts for the URL
  • Bullet list — prefixes each line with -
  • Numbered list — prefixes each line with 1. 2. 3.
  • Checkbox — prefixes each line with - [ ]

Clicking the same format button again on already-formatted text removes the formatting (toggle off).

Multi-Select & Bulk Actions

Hold Alt and right-click any card to enter multi-select mode. Cards show a marching-ants selection border. Continue Alt+right-clicking to add more cards to the selection.

  • Delete selected — permanently removes all selected cards.
  • Archive selected — moves all selected cards to the archive.
  • Start session — launches a focused Session with only the selected cards visible; everything else blurs out.

Press Escape or click any empty area to clear the selection.

04

Tasks

Using Tasks

Create a Task thought and you get a checkbox. Click the checkbox to mark it done. The card automatically collapses and moves to a Completed section at the bottom of your list.

  • Uncompleting a task expands it back to its original position.
  • Completed tasks are grouped in a collapsible 'Completed · N' section.
  • The section is collapsed by default — keeps your active list clean.
  • Completed cards render at 60% opacity so you can tell at a glance what's done.

Reminders

Set a reminder on any thought via the bell icon in the card action bar. Choose a time and Madhav fires a Windows desktop notification + a Telegram message at that time.

05

Bookmarks

06

Search & Filters

Filters

Click the Filter button to open a dropdown with checkboxes for each category. Select multiple types to filter by. Active filters appear as dismissible chips below the button.

  • All filter types can be combined.
  • Tasks have two sub-filters: Completed Tasks and Open Tasks.
  • Filters and search both apply simultaneously.
  • Press Escape to close the filter dropdown.

Archive

Archive a card with the archive button to soft-remove it from your main list without deleting it. Archived thoughts never load unless you explicitly select the 'Archived' filter — zero bandwidth cost until you need them.

From Telegram: /archive lists your last 10 archived thoughts.

07

Telegram Sync

How Sync Works

Madhav uses a Convex cloud backend as the sync layer. Your thoughts are stored there (encrypted) and available to both the desktop app and the Telegram bot simultaneously — even when the app is closed.

  • Desktop → Telegram: Every thought you add on desktop is pushed to your Telegram chat instantly.
  • Telegram → Desktop: Send any message to @MadhavBot, pick a category, and it appears in the panel in real time.
  • Always-on: The Telegram bot is hosted on Convex — it works 24/7 even when your PC is off.

Actions from Telegram

Every thought pushed to Telegram has inline action buttons:

  • Done / Undo — mark a task complete or revert it.
  • Edit — tap to enter Editing Mode, then send the new text to update the thought.
  • Del — delete the thought from both Telegram and the desktop.
  • Copy Content — silently copies the text to your clipboard (no message sent).

Update Notifications

Madhav notifies your Telegram chat when you make changes on desktop:

  • Edit content → ✏️ Note updated + preview.
  • Change category → 🏷️ Recategorized + preview.
  • Complete a task → ✅ Task completed + preview.
  • Set a reminder → 🔔 Reminder set + time.

08

Security & Privacy

AES-256 Encryption

All thoughts created on desktop are encrypted with AES-256-GCM before leaving your device. The encryption key is generated locally on first launch and stored only on your machine — it is never sent to any server.

Even the developer cannot read your note content. Convex stores only encrypted ciphertext.

  • Algorithm: AES-256-GCM (Node.js crypto module).
  • Your key: 30 hex characters in 6 groups (e.g. XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX).
  • Telegram-created notes are stored plaintext (your Telegram account is already trusted).

Your Encryption Key

Your encryption key is shown once during onboarding. Save it somewhere safe — if you lose your device, you'll need it to decrypt your thoughts on a new machine.

To view or recover your key: Settings → Advanced → Encryption Key. Paste your saved key in the Recovery field and restart the app.

If you lose your key and lose your device, your encrypted thoughts cannot be recovered by anyone — including us. Back up your key.

09

Auto-Updates

How Updates Work

Madhav checks for updates from GitHub Releases automatically on startup. If a new version is available, it downloads silently in the background and shows a banner at the bottom of the panel when ready.

  • Click 'Restart Now' to install immediately.
  • Dismiss the banner — the update installs automatically the next time you quit Madhav.
  • The 'Latest ↗' link in the update section always opens the GitHub Releases page.

Updates require v1.2.6+ to work automatically. If you installed earlier, download v1.2.7 manually once — all future updates are automatic after that.

10

Keyboard Shortcuts

Global Shortcuts

Alt+COpen Quick Capture window from anywhere
Alt+SCapture selected text from any app
Alt+Shift+SOpen OCR screen snip overlay
Alt+MToggle panel (Hotkey mode only)

All global shortcuts are configurable in Settings → Shortcuts.

In-Panel Shortcuts

Ctrl+EnterSave thought in the note input or edit mode
Ctrl+1Save as Uncategorized
Ctrl+2Save as Task
Ctrl+3Save as Note
Ctrl+4Save as Bookmark
Ctrl+5Save as Idea
EscCancel edit / close search or filter dropdown
Experimental

Features under Experimentation

Settings → Advanced → Experimental

What are Experimental Features?

Experimental features are enabled in Settings → Advanced → Experimental. They are fully functional but may change behaviour, get redesigned, or be promoted to core settings based on feedback. Nothing here is unstable — just not yet finalised.

All experimental settings persist across restarts. Disabling one returns the app to its default behaviour.

Action Buttons (V1 / V2)

Controls how the per-card action bar (archive, delete, reminder, edit) appears on note cards.

V1 — Click to reveal

Action buttons appear only after you click a dedicated button on the card. Keeps cards clean and avoids accidental taps.

V2 — Hover to reveal (default)

Action buttons fade in as soon as you hover over the card. Faster for power users, minimal extra visual noise.

Font Size Slider

A slider in Settings → Advanced → Experimental lets you set the base font size for note content, from 12px (compact) to 18px (large). The live preview updates as you drag.

Stored as AppSettings.fontSize. Affects all rendered note cards and markdown content.

Display Picker

On multi-monitor setups, Madhav's panel defaults to the primary display. The Display Picker lets you anchor it to any connected monitor. Detected displays are shown as numbered pills — tap one to move the panel.

The panel repositions immediately. Hover and peek behaviour adapt to the chosen display's edges and work area.

Panel Side

Switch the panel between the right edge (default) and left edge of your screen. A two-button pill toggle in Settings → Advanced → Experimental controls this.

  • ← Left edge — panel slides from the left. Useful if your primary workflow is left-aligned or you have a second monitor on the right.
  • Right edge → — default. Panel slides from the right edge.

The animation direction, border, and shadow all flip correctly when switching sides.

Screen Margins

Adjust the top and bottom internal padding of the panel. Useful if you have a large menu bar, a taskbar on top, or prefer more breathing room. Set in Settings → Advanced → Experimental → Screen margins.

Values are stored as AppSettings.topMargin and AppSettings.bottomMargin (in pixels). Default is 0 for both.

Default Category

Choose which thought type is pre-selected when you open the note input. Set in Settings → Advanced → Experimental → Default category.

  • Uncategorized (default) — no type pre-assigned, pick later.
  • Task — useful if most of what you capture are to-dos.
  • Note — good for knowledge-capture workflows.
  • Idea — great for creative or brainstorm-heavy sessions.
  • Bookmark — pre-selects Bookmark type for URL-heavy capture sessions.

The dropdown closes automatically when you pick a category. The selection takes effect immediately on the next note you start typing.

Disable Splash Screen

Toggle off the animated intro video that plays on launch. Useful if you launch Madhav frequently and want it to open directly to the panel without the intro delay.

Setting is in Settings → Advanced → Experimental → Disable splash screen. Takes effect on the next app restart.

Roadmap

Roadmap Features

In active development — not yet in the app

What's Coming

These features are planned and actively being explored. They're not in the app yet, but are on the development roadmap. Have feedback or want to influence priority? Join the Discord or Telegram community.

1. Google Calendar Integration

Sync Tasks and reminders set in Madhav directly to your Google Calendar. Create an event from a Task in one tap, and see your calendar events as context alongside your notes.

  • Convert any Task to a Google Calendar event from the card action bar.
  • Reminders set via the Telegram bot appear on your calendar automatically.
  • Two-way: completing a task in Madhav marks the event done; dismissing a calendar event can archive the task.
  • OAuth 2.0 — you connect your Google account once in Settings. No credentials are stored by Madhav servers.

This feature requires a Telegram-linked account so the calendar sync can work even when the desktop app is closed.

Known Issues

Known Issues

Panel invisible after sleep

After your laptop wakes from sleep or hibernate, the panel may appear blank or not respond to hover. Fix: right-click the tray icon → Reset Panel Behavior. This is a Windows GPU state issue that Madhav works around by reloading on resume.

Windows SmartScreen warning on install

Madhav is unsigned (code signing certificates cost ~$400/year for an indie app). Click 'More info' → 'Run anyway'. The binary is safe — you can verify the SHA256 hash on the GitHub Releases page.

Telegram bot not responding

Send /start to @MadhavBot first. If the bot still doesn't respond, check your internet connection. The webhook runs on Convex — if Convex has a brief outage, wait a few minutes and retry.

OCR capture is inaccurate

OCR accuracy depends on font size and contrast. Larger text, dark-on-light or light-on-dark renders best. Very small fonts (under 12pt), cursive fonts, and images with complex backgrounds may produce errors. Zoom in before capturing if possible.

Auto-update stuck or showing wrong version

This was fixed in v1.2.7. If you're still seeing stale version info, go to Settings → Auto Update → Latest ↗ and download the latest release manually. Once on v1.2.7+, auto-updates work reliably.

Voice model download fails with a 'sharp module' error

Fixed in v1.2.9-beta.9+. The Whisper model's image-processing dependency (sharp) was compiled against the wrong Node.js version. Reinstalling or updating to the latest beta resolves this. If you see the error on the latest version, open the Debug logs folder (Settings → Advanced → Debug) and share the log file in Discord.

On multi-monitor: Alt+C notes don't appear in panel until restart

Fixed in v1.2.9-beta.9. If you're on an earlier build, updating resolves this. If the issue persists after updating, enable Debug logs (Settings → Advanced → Debug) and share the log file — this helps us identify edge cases.

Still stuck?

The community is friendly and fast. Drop your question.