Skip to content

BestCodingEdu/inspiration-notes

Repository files navigation

Inspiration Notes

English | 中文

Inspiration Notes

Inspiration is fleeting. Great content is scattered everywhere.
One-click save links, images, and text. Manage your creative material library locally.
Desktop app + browser extension. All data stays on your machine.

Electron React TypeScript Chrome Extension SQLite MIT


Inspiration Notes UI

Auto-screenshot links · Waterfall preview · Tags + Folders · Right-click save · Fully local

What Is This

Inspiration Notes is a local-first creative material collector, built for content creators, indie developers, and solopreneurs.

See something great while browsing? Click the extension button — title, screenshot, and link are saved automatically. Want to jot down an idea? Open the app and type. Image inspiration? Just paste it in.

All data stays on your computer. Nothing is uploaded to any server.

Features

Feature Description
One-click browser save Chrome extension auto-captures page title + preview screenshot, pick a folder, add a memo, send to desktop app
Three material types Links (auto screenshot + title), Images (Ctrl+V paste), Text notes
Waterfall preview Card-based waterfall grid, hover to see memos
Tag system Tag your materials, select from existing tags or create new ones
Folder archive Organize by project/topic, create folders on the fly, default folder as fallback
Memo support Add notes to links and images to capture your thoughts
Detail editor Click any card to open detail view — edit title, memo, tags, folder
Recycle bin Deleted items can be restored, batch delete supported
Proxy settings Link preview supports HTTP/SOCKS5 proxy configuration
Auto refresh Desktop app refreshes in real-time after extension saves
Fully local SQLite database + local filesystem, zero privacy concerns

Quick Start

Option 1: Download Release (Recommended)

  1. Go to Releases and download the latest version
  2. Windows: Unzip and double-click 灵感笔记.exe to run
  3. Chrome extension: Download extension zip → unzip → chrome://extensions/ → enable Developer Mode → Load Unpacked

Option 2: Build from Source

git clone https://github.com/YOUR_USERNAME/inspiration-notes.git
cd inspiration-notes/electron-app

# Install dependencies
npm install

# Build + run
npm run build
npm start

Package as Executable

cd electron-app
npm run build
npx electron-builder --win dir --config electron-builder.json
# Output: release/win-unpacked/灵感笔记.exe

Chrome Extension

Install

Manual install (Developer Mode):

  1. chrome://extensions/ → enable "Developer mode"
  2. "Load unpacked" → select the chrome-extension/ directory

Usage

  • Toolbar button: Click extension icon → pick folder → write memo (optional) → save current page
  • Right-click menu: Right-click on page or link → "收藏到灵感笔记"

Make sure the desktop app is running before using the extension (communicates via localhost:17890).

How It Works

┌──────────────────┐     HTTP POST       ┌──────────────────────────┐
│  Chrome Extension │ ──────────────────→ │     Electron App          │
│                   │  localhost:17890    │                           │
│  · Grab title     │                     │  ┌──────────┐ ┌────────┐ │
│    + screenshot   │  ← Real-time      │  │ Express  │ │ React  │ │
│  · Pick folder    │    refresh notify  │  │ Server   │ │  UI    │ │
│  · Add memo       │                     │  └─────┬────┘ └───┬────┘ │
└──────────────────┘                     │        │          │      │
                                          │  ┌─────▼──────────▼────┐ │
                                          │  │  SQLite + Local FS   │ │
                                          │  └─────────────────────┘ │
                                          └──────────────────────────┘

Link preview: The desktop app uses a hidden Electron BrowserWindow (built-in Chromium) to load the target URL, waits for rendering, captures the top 40% of the page as a thumbnail, and reads the <title> tag. Proxy configuration is supported via settings.

Project Structure

inspiration-notes/
├── electron-app/                  # Electron desktop app
│   ├── src/
│   │   ├── main/                  # Main process
│   │   │   ├── index.ts           # Entry, window, IPC, URL preview
│   │   │   ├── database.ts        # SQLite database (sql.js)
│   │   │   └── server.ts          # Express HTTP server
│   │   ├── preload/index.ts       # Context bridge
│   │   └── renderer/              # React frontend
│   │       ├── App.tsx            # Main layout
│   │       └── components/        # Sidebar, WaterfallGrid, NoteCard,
│   │                              # NoteDetail, AddNote, Settings, SearchBar
│   ├── package.json
│   └── electron-builder.json
├── chrome-extension/              # Chrome browser extension
│   ├── manifest.json              # Manifest V3
│   ├── background.js              # Service Worker (screenshot, send)
│   ├── popup.html / popup.js      # Popup (folder select, memo)
│   └── icons/                     # Extension icons
├── docs/
│   └── screenshot.png             # App screenshot
├── logo.png
├── README.md                      # English (this file)
└── README.zh-CN.md                # 中文

Tech Stack

Electron React TypeScript TailwindCSS SQLite Express Vite Chrome MV3

  • Desktop: Electron 32 + React 18 + TypeScript + TailwindCSS
  • Database: sql.js (SQLite compiled to WebAssembly — no native module compilation needed)
  • HTTP Server: Express (receives extension data, port 17890)
  • Browser extension: Chrome Extension Manifest V3
  • Packaging: electron-builder

Disclaimer

Inspiration Notes is a local tool, not a cloud service.

  • All data is stored on your computer (%APPDATA%/inspiration-notes/data/)
  • The extension only communicates with local localhost:17890 — no data is sent to any external server
  • Link previews use Electron's built-in browser to load pages — no third-party services involved

License

MIT

About

专门用来记录看到的图片、链接、片段文本的灵感笔记,本地部署(桌面版+浏览器插件),未来支持移动端

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors