Version history

How Madhav got here.

From a scrappy Telegram bot to a full cross-platform productivity system with real-time sync, AES-256 encryption, and a side panel that lives on your screen edge.

17Releases
v1.2.7Current
May 2026Since
Latestv1.2.7

Reliable Auto-Updates & In-App Announcements

Auto-Updates Fixed for Good

  • Fixed a bug where the installer was spawned twice on update, causing both to fail and the app to stay on the old version
  • A smooth 'Installing…' overlay now appears before the app quits, so updates never feel like a crash
  • Windows artifact naming is now locked — latest.yml and the installer filename always match, no more 404 silent failures

In-App Announcements

  • Bell icon in the sidebar header — blinks teal when new announcements are waiting
  • Slide-in announcements panel with update notes, tips, and community news — no need to check external channels
  • Per-device read tracking: once you've seen an announcement, the dot goes away

Other Fixes

  • Windows notifications now show 'Madhav' as the sender instead of 'Electron'
  • OCR screen capture now works correctly at 125% display scaling
Stablev1.2.6

Global Capture & OCR Snip

Capture Anything, Anywhere

  • Alt+S captures selected text from any app — browser, PDF, code editor — and saves it as a note instantly
  • Alt+Shift+S opens a full-screen snip overlay: draw a rectangle around any text on screen, Madhav OCRs and saves it
  • The screen unblocks the moment you release the mouse — OCR runs silently in the background, no freezing
  • Windows notification confirms every capture so you always know it landed

Smart Category Detection

  • Captured URLs (with or without https://) are automatically saved as Bookmarks with a normalized link
  • Bullet lists detected by OCR are saved as Tasks with proper markdown formatting
  • Both capture shortcuts are configurable in Settings → Shortcuts
Stablev1.2.5

Bookmark Link Previews & UI Polish

Bookmark Link Previews

  • Bookmark cards now show a rich link preview — favicon, page title, description, and cover image fetched automatically
  • Twitter / X posts show the author name and tweet text via the public oEmbed API
  • Hover over any bookmark to reveal a 'Visit ↗' button that opens the link in your browser
  • Previews are cached per session — no re-fetching when you scroll past the same bookmark

Settings & Shortcuts

  • Bookmark shortcut defaults to Ctrl+4 — hit it while typing a URL to save it instantly as a bookmark
  • Show completed tasks and Sound effects toggles moved above the Shortcuts section for quicker access
Stablev1.2.4

Auto-Update Fix & Telegram Cleanup

Auto-Update Fixed

  • Fixed a bug where update download failures showed 'Already on latest' — making it impossible to update without reinstalling manually
  • Download button now reappears after a failed download so you can retry without restarting the app
  • The 'Latest ↗' button now correctly links to the GitHub releases page

Telegram Cleanup

  • Removed 'Thought' as a category option from the Telegram bot — the type picker now shows Uncategorized, Task, Note, Idea
  • Removed /thoughts command from the bot menu — it no longer shows up or returns 'not found'
  • Bot command menu now self-corrects on /start so it always reflects the latest available commands
Stablev1.2.3

Thoughts, Export & Card Intelligence

Thoughts Terminology & Category Cleanup

  • All captured items now have a collective name: Thoughts. Notes, tasks, ideas, and uncategorized are all types of thoughts — one consistent language across the app and Telegram.
  • Category order is now Uncategorized → Task → Note → Idea everywhere — desktop and Telegram now match
  • Removed 'Thought' as a selectable type — the type picker tells you what kind of thought it is, not what it is
  • New thoughts default to Uncategorized (was Note), matching the Telegram default

Export & Data Control

  • Export all your thoughts (or archive only) to a Markdown file via the native save dialog — your data, your file system
  • Delete all data from Settings with a 6-digit confirmation code — removes from both local storage and Convex cloud
  • Long Telegram messages no longer get silently dropped — notes are truncated at 3800 chars with a note pointing you back to the app

Card Improvements

  • Long thoughts (>500 chars) auto-collapse in the sidebar — a clean list without losing any content
  • Collapsed cards show a subtle · · · indicator at the bottom so you always know there's more inside
  • Madhav now stays in the system tray only — no taskbar button appearing on Windows
Stablev1.2.2

Auto-Update Polish, Installer UX & Stability

Auto-Update Experience

  • Update banner moved to the bottom of the panel — slides up cleanly without covering your content
  • Install Now renamed to Restart Now. Dismissing the ready-to-install banner shows a friendly note that the update will apply on next quit.
  • Auto and Notify modes now check for updates on startup automatically — no more manual button press to see if a new version is available
  • Manual mode removed from the slider. A direct 'Latest ↗' link opens the GitHub releases page instead.

Invisible Overlay Fix

  • Fixed a bug where Madhav would become an invisible click-blocker on the right edge of the screen after waking from sleep or after an update restart
  • The panel now waits for the renderer to fully mount before moving the native window — no more ghost window blocking your screen
  • Waking from hibernate/sleep now reloads the renderer to reset GPU state, so the panel always comes back visible

Settings & Installer

  • Exit button added to the Settings header — quit the app instantly without going to the tray
  • NSIS installer now lets you choose a custom install directory (not just C: drive)
  • Installer shows a plain-English note about the Windows SmartScreen warning so first-time users know the app is safe
  • Splash screen redesigned — dark background, video logo in a rounded tile, app name, tagline, and a smooth loading bar
Stablev1.2.0

Archive, Settings Tabs & Sounds

Archive

  • Archive any card with one click — it disappears from your main list without being deleted
  • Archived notes are never fetched with your active notes — zero bandwidth cost until you actually open the Archive filter
  • Select 'Archived' in the filter bar to browse archived cards. Unarchive any card to bring it back.
  • Telegram /archive command lists your last 10 archived notes from the bot

Settings — Basic / Advanced Tabs

  • Settings panel is now split into Basic and Advanced tabs with a smooth sliding animated indicator
  • Switching tabs plays a directional slide animation — left/right depending on which tab you pick
  • Basic: Panel Behavior, Appearance, Shortcuts. Advanced: Updates, Experimental, Telegram, Feedback, Contact.

Sounds & Polish

  • Tab switching and accordion expand/collapse now play synthesized UI sounds — swoosh on tab switch, soft pop on expand
  • Collapsed card height is now consistent across all sections — no more taller-than-expected collapsed headers
  • Feedback form no longer pre-fills the contact field with a URL; gap between settings cards made uniform
  • Version shown at the bottom of both Basic and Advanced tabs

Community

  • Telegram community and Discord server links added to the Contact section in Settings and to this landing page footer
Stablev1.1.2

Global Quick Capture

Quick Capture

  • Press Alt+C anywhere on your desktop — a floating capture window appears instantly, no need to open the sidebar
  • Pick a category, type your note, hit Ctrl+Enter to save. The card animates away toward the sidebar, or Esc to cancel.
  • Click outside to close — the exit animation plays even on blur, no jarring disappearance
  • Drag the window anywhere on screen by the top bar. Shortcut is configurable in Settings.

Polish

  • Both the Quick Capture input and sidebar note input now cycle through animated placeholder phrases — 'Drop that idea here…', 'Something to remember?', and more
  • Markdown guide accessible from Quick Capture — 2-column reference panel slides up inside the card
Stablev1.1.1

Completed Tasks Done Right

Task UX

  • Completed tasks now live in a collapsible 'Completed · N' section at the bottom — your active list stays clean and focused
  • Section is collapsed by default, expands with a smooth animation. Arrow rotates to show state.
  • Whole card fades to 60% opacity — border, background, and text dim together, not just the text. One glance is enough to tell open from done.

Polish

  • Pin icon now uses the same button style as Edit, Copy, Delete — consistent 22×22 size, tinted background, and spacing
Stablev1.1.0

Lucide Icons, Smart Filters & Markdown Composer

Icons

  • Switched to Lucide React icons for all action controls — crisp, pixel-perfect, consistent on every machine
  • Hybrid approach: category labels (📝 Note, 💡 Idea, ✅ Task) keep their emoji warmth. Edit, delete, copy, pin, remind, fold all get clean vector icons.
  • No more rendering inconsistencies between Windows, macOS, and Telegram

Filters

  • Task filter is now split into two: Completed Tasks and Open Tasks — filter exactly what you need
  • Lucide CheckSquare and Square icons in the filter rows — perfectly aligned, no more emoji baseline mismatch
  • Filter dropdown closes on Escape key and when the panel slides away

Markdown Composer

  • Live markdown preview in the note input — type '- item' and see the bullet list render instantly below as you type
  • M button in the composer footer shows a quick reference card of all supported markdown: lists, bold, italic, code, headings, quotes, links

Settings & Cards

  • Panel Behavior section now in a consistent card — all settings headings at the same alignment
  • Appearance section is now collapsible (expanded by default)
  • Action buttons and fold button enlarged (18 → 22 px) for easier tapping — card height stays fixed, no layout shift
  • Completed task text opacity tuned: slightly less aggressive so long notes remain readable while still clearly done
Stablev0.1.4

Instant Everything, Smart Fold & Telegram Notifications

Performance

  • Every toggle — complete, fold, pin — is now instant. No more 1–2 second wait for Convex to respond.
  • Optimistic updates across the board: UI reacts immediately, syncs in the background, reverts if it fails

Smart Task Fold

  • Mark a task done → card auto-collapses with a smooth animation. Undo it → card expands right back.
  • Fold/unfold animation now runs over the real content height — smooth at any note length, not a jarring snap
  • Fold state is local-only — expanding or collapsing never triggers a Telegram notification or server round-trip

Telegram Notifications

  • Edit a note's content → Telegram gets a notification with the updated text
  • Change a note's category → Telegram tells you what it moved to
  • Complete a task → Telegram confirms with a ✅ message

Card UX

  • Category dropdown no longer hides behind other cards — it floats freely above everything
  • Opening the panel always shows a clean slate — no stale dropdowns or menus left open from last time
  • Double-click to edit removed — the dedicated ✎ button is the only way in, no accidental edits

Under the Hood

  • 🔧Fixed a memory leak — with many cards open, background listeners were accumulating silently. Gone.
  • 🔧Fixed 'Note not found' errors when folding or completing synced notes
Stablev0.1.3

Settings Experiments, Edit UX & Layout Fixes

Experimental

  • New Experimental section in Settings — try different UI variants and vote on which you prefer
  • Action button experiment: V1 (click to expand a footer bar) vs V2 (icons appear inline in the card header on hover)
  • Built-in upvote system — your vote is counted in real time to help decide what ships by default

Edit Mode

  • Edit hint bar replaced with two clear buttons: Esc / Cancel (grey) and Ctrl+Enter / Save (green)
  • 🔧Cursor now correctly lands at the end of text when entering edit mode — no more caret jumping to position 0

Card Layout

  • 🔧Card header is now a fixed 38px height — hover icons no longer push content down when they appear
  • V2 hover icons match the fold button size exactly (18×18 px) with a smooth slide-in animation
  • 🔧Checkbox and TASK category label now sit on the same baseline — the misalignment is fixed

Settings Polish

  • 🔧Scrollbar no longer shifts the panel content left when it appears — layout is rock solid
  • All collapsible settings sections have consistent spacing whether open or closed
Stablev0.1.2

Polish, Sounds & Smarter Telegram

Sounds

  • Realistic UI sounds — filtered noise for clicks, ascending chime for task completion, distinct sounds per action
  • Toggle sounds on/off in Settings

Experience

  • Confetti burst when you complete a task
  • Action button hover transitions — 75 ms snap instead of sluggish 150 ms
  • Click to expand card actions (replaces hover-only reveal)
  • Max 5 pinned notes — pin button disabled with visual cue when limit reached

Appearance

  • Custom sidebar width slider (280–520 px)
  • Backdrop blur slider with live preview
  • Image background with draggable crop overlay — choose exactly which part shows in the panel
  • Animated logo splash screen on app launch

Shortcuts

  • Ctrl+1–5 in the note composer to instantly save as a specific category
  • All shortcuts configurable in a new Settings section

Telegram

  • Notes save instantly as Uncategorized the moment you send a message — no more lost notes if you forget to pick a category
  • Category picker now shows Task → Note → Idea → Thought → Cancel in a consistent order
  • Cancel keeps the note as Uncategorized — nothing is ever lost

Panel

  • Hotkey mode — panel stays hidden, opens with your keyboard shortcut, closes when you click away
  • New Telegram-created notes always appear at the top of the list
Stablev0.1.1

Search, Drag & Full Telegram Control

Panel

  • 3 panel modes — Hover (auto-hide), Fixed (always visible), Hotkey (AutoHotKey shortcut to toggle)

Search

  • Expandable search bar with live filtering across all notes
  • Keyword highlights rendered inline inside markdown cards

Cards

  • Drag to reorder — right-click hold on any non-pinned card, drop it anywhere
  • 🔧Edit mode preserves card height — no more jarring collapse to a tiny textarea

Telegram

  • Edit, delete, and mark tasks done directly from Telegram — desktop not required
  • Category-aware message display — notes render as notes, tasks as tasks

UI

  • 🔧Ctrl+Enter label fix (was incorrectly shown as ⌘ Enter)
  • 🔧Panel behavior info button moved inline with section heading
Stablev0.1.0

Server-side Encryption + Readable Telegram

⚠️The v2.0 problem

Notes added from the desktop showed as encrypted gibberish in Telegram. AES-256 is great for privacy — terrible for readability. Your Telegram bot was sending you ciphertext.

Architecture

  • Moved to server-side encryption — Convex stores encrypted at rest, decrypts for authorized Telegram delivery
  • Bidirectional sync — create from desktop → appears in Telegram; send to bot → appears in panel

Telegram

  • Messages now render with markdown, category labels, emoji, and action buttons (Done / Edit / Del)
  • Pinned notes, completed tasks, and folded cards — all synced across both surfaces
Foundationv0.0.2

Convex Backend + Client-side Encryption

⚠️The v1 problem

Long polling only worked while the desktop app was running. Close the app — bot goes silent. There was no backend, no persistence. It was pure peer-to-peer through Telegram's API.

Backend

  • Shifted to Convex as central backend — always-on, real-time, serverless
  • Notes now persist and sync even when the desktop app is closed

Security

  • AES-256-GCM client-side encryption — your key, never sent to the server

Onboarding

  • QR link-code flow — connect Telegram in 30 seconds, no manual token entry

Known limitation

  • 🔧Client-side encryption meant Telegram couldn't decrypt note content — showed ciphertext instead of notes
Originv0.0.1

The Beginning

What we built

  • Simple Telegram bot + Electron desktop app, connected via long polling
  • Desktop sent notes back to Telegram via the bot
  • Worked great… as long as the app was open

The aha moment

  • 🔧Close the app → bot goes silent. No backend, no persistence — everything peer-to-peer
  • 🔧People wanted capture-anywhere, not capture-only-when-laptop-is-open

The story continues…