A local-first, privacy-focused desktop application for building, testing, and managing AI prompts. Built with Tauri, React, and Rust.
- Prompt Management - Create, version, and organize prompts with categories and tags
- Tone Profiles - Analyze writing samples to capture your unique voice
- Output Profiles - Define content structure for different channels (LinkedIn, blog, email, etc.)
- Persona Profiles - Configure who the AI should write as
- Multi-Provider LLM Support - Ollama (local), OpenAI, and Anthropic
- A/B Testing - Compare prompt variants side by side
- Generation History - Track and review all generated content
- 100% Local - All data stays on your machine as portable JSON files
make install # Install Node.js and Rust dependencies
make dev # Start the full development environmentThe app will open as a native desktop window. On first launch you'll be prompted to select a workspace directory.
For rapid UI iteration without the Rust backend:
pnpm dev:webRuns in the browser with mock Tauri APIs. A yellow banner indicates browser mode.
| Command | Description |
|---|---|
make dev |
Start frontend + backend with hot reload |
make dev-frontend |
Start only the frontend dev server |
make build |
Production build |
make lint |
Lint with ESLint |
make format |
Format with Prettier |
make typecheck |
TypeScript type checking |
make check |
Lint + typecheck |
make test |
Run Rust tests |
make clean |
Remove build artifacts and dependencies |
make build-mac |
Build macOS DMG installer |
src/ # React/TypeScript frontend
components/
ui/ # shadcn/ui base components
layout/ # App layout and navigation
prompts/ # Prompt management views
profiles/ # Profile editors (tone, output, persona)
settings/ # LLM provider settings
setup/ # First-run workspace setup
lib/
state/store.ts # Zustand store (single source of truth)
services/ # Business logic and Tauri command wrappers
models/index.ts # TypeScript interfaces
validators/ # Zod validation schemas
hooks/ # Custom React hooks
src-tauri/src/ # Rust backend
commands.rs # Tauri command handlers
dal.rs # Data access layer (JSON file I/O)
llm_client.rs # LLM provider integration
tone_analysis.rs # Text analysis engine
models.rs # Domain models
validation.rs # Input validation
- Frontend: React 19, TypeScript, Tailwind CSS, shadcn/ui, Zustand
- Backend: Rust, Tauri 2, euro-llm
- Build: Vite, Cargo
All data is stored as JSON files in a user-selected workspace directory. No cloud sync, no database, no external dependencies.
workspace/
prompts/ # Prompt definitions
profiles/
tone/ # Tone profiles
output/ # Output profiles
persona/ # Persona profiles
generations/ # Generation history
tests/ # A/B test results
- Architecture - System design and component overview
- Self-Hosting Ollama - Set up a local Ollama instance
- Roadmap - Planned features
See LICENSE for details.