Promptzy - A web/desktop application for managing and organizing your AI prompts, with tagging, search, and cloud storage.
Promptzy 2.0 is a security release that changes how prompt ownership works (GHSA-x56f-9fqg-f568).
After upgrading, the app will look empty. Your prompts are still in your database, but they carry the old identifier and will not show up until you run one
UPDATEstatement. Nothing is deleted, but back up before you start:-- Run in your Supabase SQL Editor CREATE TABLE prompts_backup_1x AS SELECT * FROM prompts;Then follow DOCS/MIGRATION-2.0.md. It takes about five minutes.
- Organize AI Prompts: Store, edit, and categorize prompts for various AI models
- Custom Tagging: Organize prompts with custom tags for easy retrieval
- Powerful Search: Find the perfect prompt with full-text search and tag filtering
- Cloud Storage: Reliable Supabase cloud storage with cross-device sync
- Backup & Restore: Export your whole prompt library to JSON in one click, and import it back whenever you need it
- Refresh Prompts: Manual refresh button to sync prompts after configuration changes
- AI Assistant: Generate new prompts with AI β powered by Pollinations, with selectable model and streaming responses
- Progressive Web App (PWA): Install as a mobile app directly from your browser
- Desktop App: Native Electron app for Linux (more platforms coming)
- Docker: Run anywhere with a single
docker compose upcommand - Documentation: Full docs site at promptzy-docs.pinkpixel.dev
- Modern UI: Clean, responsive interface built with Shadcn/UI and Tailwind
Install globally from npm and run with a single command:
# Install globally
npm install -g @pinkpixel/promptzy
# Run Promptzy
promptzyPromptzy will start on http://localhost:4173 and open automatically in your browser!
Alternative commands:
# Legacy commands still work
prompt-dashboard
ai-prompt-dashboard
# Or run directly with npx (no installation needed)
npx @pinkpixel/promptzy# Clone the repository
git clone https://github.com/pinkpixel-dev/promptzy.git
# Navigate to the project directory
cd promptzy
# Install dependencies (choose one)
npm install
# or
bun install
# or
yarn install
# Start the development server
npm run dev
# or
bun run dev
# or
yarn devPromptzy can be installed as a mobile app directly from your browser! No app store needed.
On Mobile (iOS/Android):
- Visit the Promptzy website in your mobile browser
- Look for "Add to Home Screen" or "Install App" popup
- Tap "Install" or "Add"
- Promptzy will appear on your home screen like a native app!
On Desktop (Chrome/Edge):
- Visit the website
- Look for the install icon in the address bar
- Click to install as a desktop app
Benefits of the Mobile App:
- π± Native app experience with no browser UI
- β‘ Faster loading and offline functionality
- π Automatic updates when new versions are released
- π Easy access from your home screen
- π Manual refresh button for syncing prompts after setup
Download the native desktop app for Linux β no browser required.
Download the latest .deb or .AppImage from the Promptzy GitHub Releases page.
Install the .deb package:
sudo dpkg -i Promptzy-*-amd64.debRun the .AppImage (no install needed):
chmod +x Promptzy-*-x86_64.AppImage
./Promptzy-*-x86_64.AppImageRun Promptzy as a self-hosted web app in a Docker container.
Quick start (pre-built image from source):
git clone https://github.com/pinkpixel-dev/promptzy.git
cd promptzy
docker compose up --buildPromptzy will be available at http://localhost:3000.
With Supabase & Pollinations credentials baked in:
VITE_SUPABASE_URL=https://xxxx.supabase.co \
VITE_SUPABASE_ANON_KEY=your_anon_key \
VITE_POLLINATIONS_API_KEY=pk_your_key \
docker compose up --buildOr build & run manually:
npm run docker:build # docker build -t promptzy .
npm run docker:run # docker run --rm -p 3000:80 promptzyCredentials can also be configured at runtime through the in-app Settings dialog β no rebuild needed. Anything entered in Settings takes precedence over the values baked in at build time.
For deploying to Cloudflare Pages or other platforms, see the DEPLOYMENT.md guide.
Promptzy stores your prompts in your own Supabase project. There is no built-in database, and no shared one to fall back on. Supabase's free tier is plenty for this, and setup takes a few minutes.
Upgrading from 1.x? Read DOCS/MIGRATION-2.0.md first. 2.0 changes how prompt ownership works, and your existing prompts need one SQL statement to come across.
-
Create a Supabase project at supabase.com. On your project page, click "Connect" and open the second tab to find your Project URL and anon key. They are also under Project Settings β API.
-
Enter your credentials in Promptzy. Open Settings (gear icon), paste the Project URL and API Key, and click "Connect".
-
Run the setup script. Click "Open SQL Editor" in Settings, then copy the script shown there (it is the same as
supabase-setup.sql) and run it. This creates the table and, importantly, the Row Level Security policies that scope every prompt to its owner.Supabase does not allow apps to create tables for you, so this step is manual. You only do it once per project.
-
Turn off email confirmation (optional). Under Authentication β Sign In / Providers β Email, switch off "Confirm email". Supabase's built-in email sender is rate limited and intended for testing, so leaving confirmation on means setting up your own SMTP before you can create an account. For a personal install, off is simpler.
-
Create your account. Back in Promptzy, sign up with an email and password. Your prompts are owned by this account.
Point the second device at the same Supabase project and sign in with the same account. Your prompts follow your account, so your phone and your laptop stay in step. That is all there is to it.
Settings β Backup & Restore β Export prompts downloads your whole library as a JSON file. Import prompts reads it back.
Import also accepts raw table rows exported from the Supabase SQL editor
(SELECT json_agg(row_to_json(prompts)) FROM prompts;), so a backup taken either
way can be restored. A prompt whose id matches one you already have replaces it,
so re-importing the same file gives you the same library rather than duplicates.
Every prompt row is owned by your Supabase Auth user id. The database enforces
that with Row Level Security policies that check auth.uid() on reads, inserts,
updates, and deletes, and the anon role is granted nothing on the table. The
app's own query filters are convenience, not the security boundary, so a leaked
anon key does not expose your prompts.
- Launch the application
- Configure your Supabase connection in Settings, then run the setup script
- Create your account and sign in
- Add prompts with the "+" button
- Assign tags to organize your prompts
- Use the search box and tag filters to find prompts
- Select a prompt to copy it or edit its details
The AI Assistant panel sits at the bottom-right of the screen and lets you generate ready-to-use prompts with a single click.
- Grab a free API key from enter.pollinations.ai β a publishable
pk_key works fine for browser use - Open Settings (gear icon) β AI Assistant Configuration
- Paste your key into Pollinations API Key
- Optionally change the AI Model (default:
gemini-fast) - Click Save Changes
- Click AI Prompt Assistant in the bottom-right corner to expand it
- Choose the prompt type: System, Task, Image, or Video
- Describe what you want in the text area (e.g. "a friendly customer support assistant" for a System prompt)
- Click Generate Prompt β response streams in live
- Copy the result to clipboard, or click Use as Prompt to save it directly to your library
Any Pollinations text model can be used. Some good picks:
| Model | Description |
|---|---|
gemini-fast |
Google Gemini 2.5 Flash Lite β default, fast & cheap |
openai |
GPT-5 Mini β fast & balanced |
openai-large |
GPT-5.2 β most powerful |
claude |
Claude Sonnet 4.6 β capable & balanced |
deepseek |
DeepSeek V3.2 β efficient reasoning |
Open Settings β AI Assistant Configuration, uncheck Use default system prompt, and edit the prompt freely. Click Reset to default to restore the original at any time.
- React 19 with TypeScript 5.8
- Vite 6 for fast builds +
@tailwindcss/viteplugin - Tailwind CSS v4 (CSS-first architecture, no PostCSS config needed)
- Shadcn/UI components (Radix UI primitives)
- TanStack Query
- React Hook Form with Zod
- Supabase for cloud storage
- PWA (Progressive Web App) with Workbox (vite-plugin-pwa v1.2)
- Electron 34 β native desktop app (Linux
.deb&.AppImage; Windows & macOS builds available) - Docker β multi-stage Nginx image for self-hosted deployments
- Cloudflare Pages for hosted deployment
- Prompt version history
- AI prompt templates
- Shared prompt libraries
- Additional storage backends
- Advanced tagging with hierarchies
Contributions are welcome! See the CONTRIBUTING.md file for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Shadcn/UI for the beautiful UI components
- Tailwind CSS for styling
- Supabase for authentication and cloud storage
Made with β€οΈ by Pink Pixel