# How to Vibe Code Your Own Shotomatic (and Stop Paying for It)

> Screenshot Automation for Mac

- Site: https://shotomatic.com
- Category: Developer Tools & Productivity
- Platforms: macOS app, Web app, Browser extension
- Verdict: **Serious undertaking** (45/100 vibecodeable)
- Estimated effort: 4-6 weeks of part-time development

## Verdict

Build a personal subset with Tauri or Swift, or keep paying $7.99/mo — the catch is building robust native macOS window hooks and click-tracking permissions.

Shotomatic is a native macOS utility deeply tied to AppKit APIs, screen recording permissions, and window focusing hooks. While a web-wrapper or basic electron app can mimic the website crawler and auxiliary browser utilities, replicating the smooth native menu bar behavior, high-frequency timer triggers, window boundary targeting, and system accessibility click-interceptors requires significant Swift/AppKit engineering or meticulous Tauri Rust commands. For personal use, paying $89 once or $7.99/mo is vastly more efficient unless you want to spend weeks fighting macOS security prompts and window handle APIs.

### What you can't replicate

- Seamless native macOS menu bar and window picker performance
- Zero-latency system screen capture and accessibility click interception without security friction

## What it does

Desktop screenshot automation and workflow documentation tool designed for macOS, featuring hands-free auto-capture, action click-tracking guides, and parallel website crawling.

### Core features

- Auto Capture with interval/scheduled timing and keypress automation
- Action Capture with click-stream recording and step-by-step annotation
- Website batch crawling with parallel capture and ad/cookie banner removal
- Export formats including JPG, PNG, PDF with searchable OCR, ZIP, and MP4 timelapses
- Visual thumbnail sidebar with multi-selection and drag-and-drop ordering
- Per-session history saving and session restoration

## The business

### Pricing

- Monthly Subscription: $7.99 / month — Billed monthly, covers up to 3 macOS devices
- Yearly Subscription: $49 / year — ~$4.08/month equivalent, covers up to 3 macOS devices
- Lifetime One-time: $89 — One-time purchase, covers up to 3 macOS devices

Founded 2025.
Team size: 1.

## The hard parts

- Native macOS AppKit integration for precise window boundary detection, automatic foreground focusing, and system-level Screen Recording permissions
- Global mouse-click interception and UI state capture without triggering security flags or crashing macOS Accessibility hooks
- High-performance memory management and thumbnail rendering for long-running capture sessions with thousands of high-res images
- Local MP4 video encoding and searchable OCR PDF generation without cloud dependencies

## How to vibe code Shotomatic

### Prerequisites

- Mac computer: Required for building and testing native macOS screenshot and window-tracking APIs
- Node.js (free): Required to run the frontend build tooling if using Tauri
- Xcode (free): Required for Swift compilation and macOS native entitlement configuration
- GitHub (free): Repository hosting for version control

### Recommended AI tools

- Claude Code: Best agent for scaffolding multi-file native and web-hybrid desktop applications in Tauri or Swift
- Cursor: Ideal for fine-tuning the React/Tailwind frontend sidebar and thumbnail management interface

### Stack

- Frontend: React + Tailwind CSS (via Tauri webview)
- Backend: Rust (Tauri core commands for system screenshot and window enumeration)
- Database: SQLite (local storage for session history and capture metadata)
- Auth: None (local single-user personal clone)
- Payments: None (personal use clone skips licensing)
- Other: Playwright (for headless website batch capture), pdf-lib (for local PDF generation and page reordering)

### Hosting

- GitHub Pages (Hosts the auxiliary web-based utility tools (Image to PDF, PDF Page Organizer)): $0/mo

### Build guide

1. **Project Scaffolding with Tauri** — Initialize a Tauri desktop app project configured for macOS with a React and Tailwind CSS frontend.

```
Initialize a new Tauri v2 project using TypeScript, React, and Tailwind CSS. Configure the Tauri configuration file (tauri.conf.json) with macOS window permissions, custom titlebar styling, and window size constraints suitable for a productivity utility. Set up a sidebar layout with navigation buttons for Screenshot Capture, Website Crawler, and Previous Sessions. Ensure the project builds cleanly and launches a desktop window on macOS.
```

2. **Local SQLite Session & Thumbnail Storage** — Implement local database storage to persist session history, image file paths, and capture metadata.

```
Implement local SQLite storage using Tauri's SQLite plugin or Rust rusqlite crate. Create database tables for capture_sessions (id, title, created_at, format) and session_items (id, session_id, file_path, timestamp, metadata). Write Rust backend commands to save captured image files to the user's Application Support directory and record their metadata in SQLite. Expose these commands to the React frontend to list and load previous sessions.
```

3. **Native Screenshot Capture Engine** — Build Rust commands and screen capture routines leveraging macOS native APIs for timed and interval captures.

```
Write Rust native backend commands for macOS that trigger full-screen, specific window, and custom-area screenshots using CoreGraphics and ScreenCaptureKit APIs. Implement an interval capture loop that fires screenshots based on user-defined seconds or minutes, saving output files locally as PNG or JPG. Handle screen recording permissions prompts gracefully, alerting the user via the UI if accessibility or screen capture privileges are missing.
```

4. **Website Batch Crawler Implementation** — Add a bulk URL crawler that processes a list of URLs in parallel with viewport and popup-removal configurations.

```
Build a Website Crawler module in the Tauri app that accepts a list of URLs in bulk or individually. Integrate a headless browser or lightweight web rendering engine to visit each URL in parallel (up to 10 concurrent tasks), apply custom viewport dimensions, and automatically execute script injections to strip cookie banners and GDPR popups before capturing the full-page screenshot. Display the live preview and crawl status alongside the URL list in the frontend interface.
```

5. **Visual Thumbnail Sidebar & Multi-Export** — Build a responsive thumbnail sidebar with drag-and-drop reordering and export options for ZIP, PDF, and MP4.

```
Build a React thumbnail sidebar component that renders captured image previews with virtualized scrolling for large sessions. Implement click-and-drag multi-selection for thumbnails. Create export routines that bundle selected captures into a ZIP archive, generate a multi-page PDF document with optional searchable OCR text layers, and compile image frames into an MP4 timelapse video using local FFmpeg binaries bundled with the app.
```

### Cost vs paying

**Starting costs (one-time):**

- AI Coding Assistant (Claude Pro / Cursor): $20.00
- Total: ~$20.00 one-time

**Ongoing costs (monthly):**

- Total: $0/mo

- Paying for the SaaS instead: $7.99 / mo
- Build time: 35-50 hours
- AI tool credits: $20 (one month of Claude Pro / Cursor)
- Break-even: 3 months vs lifetime license ($89)

## Sources

- [Shotomatic Official Website](https://shotomatic.com)
- [Product Hunt - Shotomatic Launch](https://www.producthunt.com/products/shotomatic)