If you want to support my work, you can check out my Ko-Fi
Your personal command center for AI art generation workflows.
Serpentnote is a powerful visual prompt management tool designed for serious AI artists and content creators. Stop losing track of your best promptsβorganize, refine, and reuse them across Stable Diffusion, Midjourney, ComfyUI, and any other AI art generator.
Create themed collections with custom names and emojisβthink "Cyberpunk Portraits π", "Fantasy Landscapes ποΈ", or "Product Shots πΈ". Each channel stores its own prompts, tags, and reference images.

Master prompt engineering with separate positive prompts (what you want) and negative prompts (what to avoid). Perfect for fine-tuning Stable Diffusion outputs.
Build reusable tag collections that instantly modify prompts without rewriting. Mix and match quality settings, art styles, camera angles, and lighting conditions.
Access 650+ professional AI art tags with intelligent autocomplete:
-
Quality modifiers:
masterpiece,best quality,highly detailed -
Art styles:
anime,photorealistic,oil painting,3d render -
Lighting:
dramatic lighting,golden hour,studio lighting -
Camera angles:
portrait,wide shot,from below,fisheye -
And much more...
-
Attach unlimited reference images to each channel. Track what worked, compare variations, and build a visual library of your successful generations.
Bookmark your best-performing prompts and organize channels with drag-and-drop reordering. Your workflow, your way.
Backup your entire prompt library or share collections with your team. Perfect for collaboration or migrating between machines.
Work in your preferred language: English, Spanish, French, German, Japanese, or Chinese.
- AI Artists building a comprehensive prompt library
- Content Creators managing multiple image generation projects
- Creative Teams collaborating on AI art workflows
- Prompt Engineers experimenting with variations and refinements
- Anyone tired of losing track of their best prompts in scattered text files
- Open
index.htmlin your browser - Everything runs locallyβno server required
- Data stored in browser LocalStorage (5-10MB limit)
- Perfect for small collections and testing
Why Electron?
- β Unlimited storage capacity
- β Faster performance with large libraries
- β File-based storageβimages accessible in your file explorer
- β Desktop app experience with system integration
Prerequisites:
- Node.js (v16 or higher)
- npm (comes with Node.js)
Setup Steps:
-
Install dependencies:
npm install
-
Run in development mode:
npm run dev
This compiles TypeScript and launches the Electron app.
-
Build distributable app:
npm run package
Creates installers in
dist/folder:- Windows:
.exeinstaller - macOS:
.dmginstaller - Linux:
.AppImagefile
- Windows:
Platform-specific builds:
npm run package -- --win # Windows only
npm run package -- --mac # macOS only
npm run package -- --linux # Linux onlyOn first launch, Serpentnote automatically creates a serpentnote-data folder in the app's root directory:
serpentnote-app/
βββ serpentnote-data/
βββ channels.json # Channel metadata & prompts
βββ tags.json # Your tag library
βββ customDanbooruTags.json # Custom Danbooru tags
βββ images/ # All uploaded images
βββ image-1.png
βββ image-2.jpg
βββ ...
Storage Tips:
- Images are stored in full quality as separate files
- Your prompt library grows with your creativityβno artificial limits
- Easy to backup: just copy the
serpentnote-datafolder - Images accessible via file explorer for external editing
- Click the "+" button in the sidebar
- Name your channel (e.g., "Cyberpunk Portraits")
- Choose an emoji icon (π)
- Write your positive prompt:
cyberpunk woman, neon lights, rain, detailed face, futuristic - Add negative prompt:
blurry, low quality, distorted, ugly - Add reusable tags:
masterpiece,4k,dramatic lighting
Three ways to add images:
- Drag & Drop - Drag images from your desktop into the gallery area
- Click to Upload - Double-click the gallery area to open file picker
- Paste - Copy an image and paste it directly (Ctrl/Cmd + V)
Images automatically inherit the channel's prompts and tags as metadata.
Create Tag Collections:
- Click hamburger menu β° β "Manage Tags"
- Add tags with emoji support:
β¨ masterpiece,π¨ oil painting - Tags apply to all images in the channel
Built-in Danbooru Tags:
- Start typing in the prompt field
- Autocomplete suggests professional AI art tags
- Add custom tags: Settings β "Manage Danbooru Tags"
- Star Channels - Click the β icon to mark favorites
- Drag to Reorder - Click and drag channels in the sidebar
- Filter by Tags - Use the filter bar to show specific tags
- Search - Type to find channels by name or prompt content
Export Everything:
- Click hamburger menu β°
- Select "Export All Data"
- Choose format:
- JSON - Full backup with all metadata
- Danbooru - Tag list for external tools
Import Data:
- Hamburger menu β "Import Data"
- Select your exported JSON file
- Data merges with existing library (or replaces if empty)
| Shortcut | Action |
|---|---|
Ctrl/Cmd + N |
New channel |
Ctrl/Cmd + E |
Export data |
Ctrl/Cmd + Z |
Undo |
Ctrl/Cmd + Y |
Redo |
Delete |
Delete current image |
Esc |
Close modals |
- Verify Node.js:
node --version(should be v16+) - Reinstall dependencies:
rm -rf node_modules && npm install - Try:
npm run build:jsthennpm start
- Check
serpentnote-data/images/folder exists - Verify file permissions (should be read/write)
- Look for errors in DevTools (Ctrl+Shift+I)
- Browser version: Hit LocalStorage limit? Switch to Electron
- Electron version: Images stored in
./serpentnote-data/images/ - Check disk spaceβlarge libraries need room to grow
Settings β Data Management β "Clear All Data" (warning: irreversible!)
serpentnote/
βββ main.ts # Main app logic (TypeScript)
βββ main.js # Compiled JavaScript
βββ index.html # HTML structure
βββ style.css # All styles
βββ electron-main.js # Electron main process
βββ preload.js # IPC bridge (security)
βββ package.json # Dependencies & scripts
npm run build:js # Compile TypeScript
npm run dev # Dev mode with hot reload
npm start # Run without recompiling
npm run package # Build distributable appBuilt with:
- TypeScript for type safety
- Electron for desktop app
- LocalStorage/File System for data persistence
- Zero backendβcomplete privacy for your creative work
No cloud, no tracking, no subscriptions. Your prompts stay yours.
MIT License - Free to use, modify, and distribute
- Built with Electron & TypeScript
- Icons from Heroicons
- Emoji rendering by Twemoji
- Danbooru tag database from community contributions
Made with β€οΈ for AI artists who take their craft seriously.