screen-sniper Svelte Themes

Screen Sniper

Screen Sniper is a macOS screenshot toolbar app built with Tauri 2, Svelte 5, and TypeScript for fast capture (area/window/fullscreen), annotation, export, history, hotkeys, and optional OpenAI-powered OCR/prompt optimization.

Screen Sniper (Tauri + Svelte 5)

Screen Sniper is a macOS screenshot toolbar MVP with:

  • Floating toolbar actions
  • Screenshot capture modes (area/window/fullscreen)
  • Annotation editor (text/arrow/rect/blur + undo/redo)
  • Export (clipboard/file/share)
  • Local history and custom actions
  • OpenAI helper (prompt optimize + image-to-text)
  • Local-only storage + OpenAI key in macOS Keychain

Tech Stack

  • Tauri 2 + Rust backend (/src-tauri)
  • Svelte 5 + TypeScript frontend (/src)
  • shadcn-style UI component structure (/src/lib/components/ui)
  • Lucide icons via lucide-svelte

Requirements

  • Node.js 20+
  • Rust toolchain (cargo) installed for Tauri development
  • macOS 14+

Commands

  • npm install
  • npm run check (Svelte/TS diagnostics)
  • npm test (unit tests)
  • npm run build (frontend build)
  • npm run tauri:dev (run desktop app)
  • npm run tauri:build (desktop build)

Notes

  • Capture relies on macOS screencapture utility.
  • OpenAI key is stored using macOS Keychain via Rust keyring crate.
  • Hotkeys are loaded from settings and registered through Tauri global shortcuts.

Project Layout

  • /src/App.svelte: main app shell and orchestration
  • /src/lib/components/features: toolbar, editor, history, settings, AI panel, actions panel
  • /src/lib/components/ui: shadcn-style primitives (Dialog, Sheet, Popover, Tooltip, DropdownMenu, etc.)
  • /src/lib/services/desktop-api.ts: typed invoke wrappers
  • /src-tauri/src/commands.rs: backend command handlers
  • /src-tauri/src/openai.rs: OpenAI + keychain integration
  • /src-tauri/src/storage.rs: local DB/state and persistence

Top categories

Loading Svelte Themes