{
  "version": 1,
  "generatedAt": "2026-09-04T07:48:39.404Z",
  "apps": [
    {
      "slug": "port-explorer",
      "name": "Port Explorer",
      "tagline": "See — and kill — whatever is squatting on any port.",
      "description": "See and kill processes on any port. Native Swift, universal, ~600KB.",
      "version": "2.0.0",
      "status": "live",
      "category": "developer",
      "tags": [
        "swift",
        "github"
      ],
      "websiteUrl": "https://port-explorer-seven.vercel.app",
      "downloads": {
        "arm64": "https://github.com/siddharthbulia/tinytools-port-explorer/releases/download/v2.0.0/PortExplorer-2.0.0.dmg",
        "x64": "https://github.com/siddharthbulia/tinytools-port-explorer/releases/download/v2.0.0/PortExplorer-2.0.0.dmg"
      }
    },
    {
      "slug": "reclaude",
      "name": "Reclaude",
      "tagline": "Browse, name and resume Claude Code sessions.",
      "description": "Browse, name, and resume Claude Code sessions. Local-only menu-bar inbox for ~/.claude/projects/. Native Swift, universal, ~1.2MB.",
      "version": "1.0.0",
      "status": "live",
      "category": "developer",
      "tags": [
        "swift",
        "github"
      ],
      "websiteUrl": "https://reclaude-nu.vercel.app",
      "downloads": {
        "arm64": "https://github.com/siddharthbulia/tinytools-reclaude/releases/download/v1.0.0/Reclaude-1.0.0.dmg",
        "x64": "https://github.com/siddharthbulia/tinytools-reclaude/releases/download/v1.0.0/Reclaude-1.0.0.dmg"
      }
    },
    {
      "slug": "claude-sessions",
      "name": "Claude Sessions",
      "tagline": "Every Claude Code session in one searchable ledger.",
      "description": "Every Claude Code session in one searchable ledger: files each session produced, artifact-style viewer, ask-in-plain-English search (headless claude), one-click resume. Python + PyInstaller, ~8MB.",
      "version": "1.1.2",
      "status": "live",
      "category": "developer",
      "tags": [
        "python",
        "vercel-dmg"
      ],
      "websiteUrl": "https://claude-sessions-lake.vercel.app",
      "downloads": {
        "arm64": "https://claude-sessions-lake.vercel.app/downloads/ClaudeSessions-1.1.2.dmg",
        "x64": "https://claude-sessions-lake.vercel.app/downloads/ClaudeSessions-1.1.2.dmg"
      }
    },
    {
      "slug": "digital-pat",
      "name": "Digital Pat",
      "tagline": "A pixel kitten who lives on your Mac and quietly remembers your day.",
      "description": ": a cute pixel companion that reacts to your active app (browser = domain only), purrs when patted — and, opt-in, REMEMBERS YOUR DAY in a local-only memory you can ask in plain language (\"what was I doing this morning?\"), plus opt-in morning/evening check-ins and approve-first local actions. ALL social/multiplayer REMOVED (friend graph, presence pets, command bus, Composio, accounts, realtime). Backend = 4 stateless Edge Functions (thin proxy, claude-opus-5 / gpt-image-1). Native Swift.",
      "version": "3.0.0",
      "status": "live",
      "category": "delight",
      "tags": [
        "swift",
        "free",
        "pixel-art",
        "local-memory",
        "ask-my-day",
        "rituals",
        "auto-update",
        "vercel"
      ],
      "websiteUrl": "https://digital-pat.vercel.app",
      "downloads": {
        "arm64": "https://digital-pat.vercel.app/downloads/DigitalPat-3.0.0.dmg",
        "x64": "https://digital-pat.vercel.app/downloads/DigitalPat-3.0.0.dmg"
      }
    },
    {
      "slug": "clipnotch",
      "name": "ClipNotch",
      "tagline": "Your last five copies, hiding in the notch.",
      "description": "Your clipboard, in the notch. At rest, just a quiet teal dot to the right of the notch means you have an unpasted copy; ⌘V clears it. Hover the notch to open your last 5 copies (text or image), click any to re-copy; empty clipboard shows a cute note. Resting overlay is fully click-through — nothing under the notch is ever blocked. The lightweight notch-native counterpart to ClipStack. Native Swift/AppKit, universal, ~1.4MB DMG, free.",
      "version": "1.1.1",
      "status": "live",
      "category": "capture",
      "tags": [
        "swift",
        "free",
        "clipboard",
        "history",
        "notch",
        "auto-update",
        "vercel"
      ],
      "websiteUrl": "https://clipnotch.vercel.app",
      "downloads": {
        "arm64": "https://clipnotch.vercel.app/downloads/ClipNotch-1.1.1.dmg",
        "x64": "https://clipnotch.vercel.app/downloads/ClipNotch-1.1.1.dmg"
      }
    },
    {
      "slug": "findhere",
      "name": "FindHere",
      "tagline": "⌘F in Finder that searches only the folder you’re in.",
      "description": "⌘F in Finder searches ONLY the current folder — no subfolders. Nonactivating native panel (Name/Size/Kind/Date), Enter opens, ⌘Enter reveals, ⌘⌥F hands off to Finder's recursive search. Native Swift/AppKit, universal, ~1.6MB DMG, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "capture",
      "tags": [
        "swift",
        "free",
        "finder",
        "event-tap",
        "auto-update",
        "vercel"
      ],
      "websiteUrl": "https://findhere-sigma.vercel.app",
      "downloads": {
        "arm64": "https://findhere-sigma.vercel.app/downloads/FindHere-1.0.0.dmg",
        "x64": "https://findhere-sigma.vercel.app/downloads/FindHere-1.0.0.dmg"
      }
    },
    {
      "slug": "markdown-viewer",
      "name": "Markdown Viewer",
      "tagline": "Double-click a .md file, read it rendered in under a second.",
      "description": "The default .md app that isn't Xcode: double-click → rendered GitHub-style in <1s; ⌘E raw editor with live preview. Native Swift, universal, ~3MB, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "capture",
      "tags": [
        "swift",
        "free",
        "auto-update",
        "vercel"
      ],
      "websiteUrl": "https://markdown-viewer-pied.vercel.app",
      "downloads": {
        "arm64": "https://markdown-viewer-pied.vercel.app/downloads/MarkdownViewer-1.0.0.dmg",
        "x64": "https://markdown-viewer-pied.vercel.app/downloads/MarkdownViewer-1.0.0.dmg"
      }
    },
    {
      "slug": "ondeck",
      "name": "OnDeck",
      "tagline": "A tiny always-on-top today list, pinned above every Space.",
      "description": "A tiny always-on-top today list pinned top-right, above every window on every Space. Summon by double-tapping ⌥ (Accessibility-gated, tap-detector never fires mid-typing) or ⌃⌥T; click to cycle open → in progress (\"now\" badge, floats to top) → done (sinks to bottom); archive all & start fresh. v2 dropped the 1.0 Linear/claude -p agentic layer per owner directive (\"keep it simple\"); fully free. Native Swift/AppKit, universal, ~1.8MB DMG.",
      "version": "2.2.0",
      "status": "live",
      "category": "system",
      "tags": [
        "swift",
        "free",
        "always-on-top",
        "todo",
        "auto-update",
        "vercel"
      ],
      "websiteUrl": "https://ondeck-two.vercel.app",
      "downloads": {
        "arm64": "https://ondeck-two.vercel.app/downloads/OnDeck-2.2.0.dmg",
        "x64": "https://ondeck-two.vercel.app/downloads/OnDeck-2.2.0.dmg"
      }
    },
    {
      "slug": "volt",
      "name": "Volt",
      "tagline": "Battery alerts at any percentage, real health, per-app energy.",
      "description": "Battery alerts at any percentage (not just macOS's 10%/5%), shown as a floating capsule Focus can't swallow plus an optional screen-edge glow. Real health (capacity vs design, cycles, condition), live watts/voltage/current/temperature, per-app energy now and over 24h/7d/30d, level history, and every paired device (AirPods per earbud + case, Magic Mouse/Keyboard/Trackpad). Functional clone of getjuicy.app with original code, name, icon and copy — no monetization, fully free . Native Swift/AppKit + SwiftUI, universal, 2.4MB DMG.",
      "version": "1.0.2",
      "status": "live",
      "category": "system",
      "tags": [
        "swift",
        "free",
        "notarized",
        "auto-update",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://volt-tinytools.vercel.app",
      "downloads": {
        "arm64": "https://volt-tinytools.vercel.app/downloads/Volt-1.0.2.dmg",
        "x64": "https://volt-tinytools.vercel.app/downloads/Volt-1.0.2.dmg"
      }
    },
    {
      "slug": "pdf-unlock",
      "name": "PDF Unlock",
      "tagline": "Right-click → remove PDF password. Never leaves your Mac.",
      "description": "Right-click a password-protected PDF in Finder → \"Remove PDF Password\" → type it once, file is decrypted in place (atomic, verified). 100% local via PDFKit — bank statements/payslips/Form 16 never uploaded. Onboarding with sample PDF + Quick Action fallback + translocation guard. Free single-file; Pro ($6) = Keychain password memory + batch. Native Swift/AppKit, universal, ~1.7MB DMG.",
      "version": "1.0.0",
      "status": "live",
      "category": "capture",
      "tags": [
        "swift",
        "free + pro",
        "finder-service",
        "auto-update",
        "vercel"
      ],
      "websiteUrl": "https://pdf-unlock-topaz.vercel.app",
      "downloads": {
        "arm64": "https://pdf-unlock-topaz.vercel.app/downloads/PDFUnlock-1.0.0.dmg",
        "x64": "https://pdf-unlock-topaz.vercel.app/downloads/PDFUnlock-1.0.0.dmg"
      }
    },
    {
      "slug": "pastesentry",
      "name": "PasteSentry",
      "tagline": "Stops ⌘V when you’re about to paste a secret into Claude — vaults it and pastes a file path instead.",
      "description": "Watches your clipboard for secrets (AWS/GitHub/Stripe/Anthropic/OpenAI/Slack keys, private-key PEMs, credential'd DB URLs, .env blobs, entropy heuristic) and stops ⌘V mid-keystroke in guarded apps — Enter vaults the clipboard to ~/.secrets/ (dir 700, file 600) and pastes the file path instead; ⌘Enter bypasses; Esc cancels. Guards Claude surfaces out of the box (Claude Desktop by bundle id; terminals incl. VS Code/Cursor/Zed guard-when-armed; browsers on Claude-titled tabs); Slack/Discord/WhatsApp/Telegram pre-listed Off. Secrets drawer (reveal/copy-path/copy-secret-concealed/delete), interception log + catches counter, per-type mutes (JWTs special-cased), \"not a secret\" hash allowlist, one-click Claude Code Read-deny hardening, Secure-Keyboard-Entry + macOS 26 pasteboard-privacy degraded states, two-grant onboarding with fake-key playground. 32-test classifier corpus. Native Swift/AppKit, universal, ~1.7MB DMG, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "developer",
      "tags": [
        "swift",
        "free",
        "event-tap",
        "clipboard",
        "security",
        "notarized",
        "auto-update",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://pastesentry.vercel.app",
      "downloads": {
        "arm64": "https://pastesentry.vercel.app/downloads/PasteSentry-1.0.0.dmg",
        "x64": "https://pastesentry.vercel.app/downloads/PasteSentry-1.0.0.dmg"
      }
    },
    {
      "slug": "shutter",
      "name": "Shutter",
      "tagline": "The camera app Photo Booth should have been: one window, one button — click, and the photo is a file on your Desktop, already on your clipbo",
      "description": "The camera app Photo Booth should have been: one window, one button — click, and the photo is a file on your Desktop, already on your clipboard (file + image on one pasteboard item). Un-mirrored files by default (preview stays a mirror); HEVC video with lazy-mic (photo users never see a mic prompt); 0/3/10s self-timer; any camera incl. iPhone Continuity Camera; drag-out last-capture thumbnail; ⌥⇧C global hotkey; camera hard-off when the window closes (green-dot hygiene). PRD'd + 2-reviewer gated. Native Swift/AppKit + SwiftUI (SwiftPM + Sparkle, OnDeck pattern), universal, ~2MB DMG, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "utility",
      "tags": [
        "swift",
        "free",
        "notarized",
        "auto-update",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://shutter-rho.vercel.app",
      "downloads": {
        "arm64": "https://shutter-rho.vercel.app/downloads/Shutter-1.0.0.dmg",
        "x64": "https://shutter-rho.vercel.app/downloads/Shutter-1.0.0.dmg"
      }
    },
    {
      "slug": "oncue",
      "name": "OnCue",
      "tagline": "The teleprompter that doesn't lose you.",
      "description": "The teleprompter that doesn't lose you. A voice-following strip under the MacBook camera, floating above every app on every Space — reads along via on-device speech recognition (SpeechAnalyzer on macOS 26+, SFSpeech on 14/15) through a tested fuzzy aligner: flub a line it stays, skip a paragraph it catches up, ad-lib it holds (trust dot: green locked / amber holding / gray not-hearing). Works over QuickTime/OBS/Riverside/anything. Three modes (voice/timed/manual), 3-2-1 countdown, camera-live take offers (TCC-free CoreMediaIO poll), 5 rebindable global hotkeys (Carbon), script library with autosave + per-section take timing + learned-pace runtime estimates, onboarding speech self-test with Dictation-assets recovery. PRD'd + 2-reviewer gated; 27-test aligner corpus. No capture-invisibility claims (macOS 15.4+ reality; camera-only recordings never see it by physics). Native Swift/AppKit + SwiftUI, universal, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "utility",
      "tags": [
        "swift",
        "free",
        "speech",
        "always-on-top",
        "notarized",
        "auto-update",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://oncue-delta.vercel.app",
      "downloads": {
        "arm64": "https://oncue-delta.vercel.app/downloads/OnCue-1.0.0.dmg",
        "x64": "https://oncue-delta.vercel.app/downloads/OnCue-1.0.0.dmg"
      }
    },
    {
      "slug": "ledge",
      "name": "Ledge",
      "tagline": "Screenshots with a shelf. Owns ⇧⌘4 — every capture lands where you can drag it.",
      "description": "Screenshots with a shelf. Owns the native shortcuts (⇧⌘3/4/5 via symbolichotkeys disable + Carbon re-register; captures shell out to screencapture so crosshair/window-picker/sounds are the real thing). Every capture lands on a floating dark-glass shelf — right edge or under the notch — to drag out, copy (file + image on one pasteboard item), or trash. Folder-watches the save dir so even system-taken screenshots appear. ⌥⇧6 records screen. Shelf now anchors to the screen under your cursor (was silently landing on the wrong display once a second monitor was connected), closes via an × button or by swiping the header/footer right like dismissing a notification, and per-thumbnail hover state re-syncs after scrolling so the copy/trash buttons no longer randomly fail to appear. Signed with personal Apple Development cert (NOT notarized — Gatekeeper right-click-open for anyone else); not on Sparkle. Native Swift/AppKit + SwiftUI, arm64, ~570KB DMG, free.",
      "version": "1.1",
      "status": "live",
      "category": "capture",
      "tags": [
        "swift",
        "free",
        "personal-signed",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://ledge-chi-gold.vercel.app",
      "downloads": {
        "arm64": "https://ledge-chi-gold.vercel.app/downloads/Ledge-1.1.dmg",
        "x64": "https://ledge-chi-gold.vercel.app/downloads/Ledge-1.1.dmg"
      }
    },
    {
      "slug": "scratchpad",
      "name": "Scratchpad",
      "tagline": "Double-tap Shift — a pad over everything, gone when you’re done.",
      "description": "A global scratchpad: double-tap Shift and a paper-white square pad appears on the right edge of the screen over whatever you're doing; double-tap again and it's gone — saved, focus handed back, caret exactly where you left it (⌥⇧S does the same with no permission). Live-styled Markdown in one NSTextView — no preview pane, explicit TextKit 1 — headings, bold/italic, code + fences, lists that continue themselves, clickable - [ ] checkboxes, quotes, rules. Chrome is two icons: drawer (off by default) and plus. Pads are plain .md in a folder you own (vault/iCloud/git), watched with FSEvents so external in-place edits land live and conflicts write a sidecar instead of overwriting. Uncapped, MRU drawer + ⌘F across everything + 30-day auto-archive; Services item \"Append to Scratchpad\" carries the source app. Only permission is Accessibility, optional, for the double-tap. PRD'd + 2-reviewer gated; 41 unit tests + a 29-check in-app integration self-test (--self-test) that caught three real data-loss bugs. Native Swift/AppKit + SwiftUI, universal, 2.1MB DMG, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "capture",
      "tags": [
        "swift",
        "free",
        "double-tap",
        "notarized",
        "auto-update",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://scratchpad-tinytools.vercel.app",
      "downloads": {
        "arm64": "https://scratchpad-tinytools.vercel.app/downloads/Scratchpad-1.0.0.dmg",
        "x64": "https://scratchpad-tinytools.vercel.app/downloads/Scratchpad-1.0.0.dmg"
      }
    },
    {
      "slug": "one-thing",
      "name": "One Thing",
      "tagline": "Declare one thing. A kind witness — your own Claude Code — tells you, hourly, whether you stayed.",
      "description": "A focus practice for your Mac. The Gate: every display asks *what's the one thing?* until you answer (kiosk presentation options, .screenSaver level, honest off-duty exits, hold-Esc bail; after a break it asks *still on it?* — one Return). The strip: your one thing under the notch at 30% opacity, click-through, hover for the card (hour dots, switches, Done/Switch/Off duty). The witness: a 784 px frame every 10 min (ScreenCaptureKit, private apps blanked + skipped, camera/lock/idle skips, kCGWindowName captions); every hour and on Done/Switch six frames go inline over claude -p --input-format stream-json --tools \"\" to the user's own Claude Code with a JSON schema → app-side thresholds → sage/apricot dot + one ≤18-word tentative sentence; two away hours keep three quiet choices up; never blocks anything. Journal: Today (hour dots, threads, what the witness saw, one-tap corrections fed forward) + Practice (focus score, threads/hour, longest stretch, switches/day, 8-week line, trend word needs ≥15 h / ±8). Off duty, quiet hours, resume-on-relaunch, switches-only mode when claude is absent. PRD'd + 2-reviewer gated; 3 phase-0 probes; 18 core tests + headless --self-test (real capture + real witness call). Native Swift/AppKit + SwiftUI, macOS 14+, universal, free.",
      "version": "1.0.0",
      "status": "live",
      "category": "focus",
      "tags": [
        "swift",
        "free",
        "screen-recording",
        "claude-code",
        "notarized",
        "auto-update",
        "github",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://one-thing-tinytools.vercel.app",
      "downloads": {
        "arm64": "https://one-thing-tinytools.vercel.app/downloads/OneThing-1.0.0.dmg",
        "x64": "https://one-thing-tinytools.vercel.app/downloads/OneThing-1.0.0.dmg"
      }
    },
    {
      "slug": "blink",
      "name": "Blink",
      "tagline": "Automated eye breaks — the 20-20-20 rule, on autopilot.",
      "description": "Automated eye-break reminders (the 20-20-20 rule) from the menu bar. Calm full-screen breathing overlay across every display; custom intervals & break length, long stretch breaks, work-hours scheduling, strict mode, daily stats & streaks — 100% free, every feature unlocked. Signed + notarized; auto-updates from a Vercel-hosted feed. Electron (lives in electron-factory).",
      "version": "1.0.2",
      "status": "live",
      "category": "system",
      "tags": [
        "electron",
        "free",
        "notarized",
        "auto-update",
        "installed-locally",
        "vercel"
      ],
      "websiteUrl": "https://blink-sb0210s-projects.vercel.app",
      "downloads": {
        "arm64": "https://blink-sb0210s-projects.vercel.app/downloads/Blink-1.0.2-arm64-mac.zip"
      }
    }
  ]
}
