Show HN: CrabCamera – Cross-platform camera plugin for Tauri desktop apps

Hacker News (score: 29)
Found: September 07, 2025
ID: 1306

Description

API/SDK
Show HN: CrabCamera – Cross-platform camera plugin for Tauri desktop apps After building several Tauri desktop apps, I kept hitting the same wall: there's no reliable way to access cameras across Windows, macOS, and Linux. Every project meant reinventing camera integration, dealing with platform-specific APIs, and debugging permission issues.

  So I built CrabCamera – a Tauri plugin that handles all the camera complexity for you.

  What it does:

  - One API, three platforms: Same Rust code works on Windows (DirectShow), macOS (AVFoundation), and Linux (V4L2)
  - Permission handling: Automatically requests camera permissions on each platform
  - Format conversion: Takes care of the messy bits between platform formats and what your app needs
  - Error handling: Proper Rust error types instead of mysterious crashes
  - Hot-plugging: Detects when cameras are connected/disconnected

  The problem it solves:

  Before CrabCamera, adding camera support to a Tauri app meant:
  1. Writing separate native code for each platform
  2. Managing three different permission systems
  3. Handling format conversions manually
  4. Debugging platform-specific edge cases
  5. Maintaining it all as OS APIs change

  Now it's just:
  use crabcamera::Camera;

  let camera = Camera::new()?;
  let frame = camera.capture_frame().await?;

  Why I built it:

  I was working on a plant monitoring app (botanica) that needed reliable camera access for time-lapse photography. Existing solutions were either abandoned, platform-specific, or required complex native
  bindings.

  The Tauri ecosystem is growing fast, but camera support was this obvious gap. Every desktop app eventually needs camera access – video calls, document scanning, AR features, security monitoring.

  Technical highlights:

  - Uses nokhwa for the heavy lifting but wraps it in Tauri-friendly APIs
  - Proper async/await support throughout
  - Memory-efficient streaming for video capture
  - Built-in image processing pipeline
  - Extensible plugin architecture

  What's next:

  - WebRTC integration for video calls
  - Built-in barcode/QR code scanning
  - Face detection hooks
  - Performance optimizations for 4K streams

  The crate is MIT licensed and available on crates.io. I'd love feedback from other Tauri developers who've wrestled with camera integration.

  Links:
  - Crates.io: https://crates.io/crates/crabcamera
  - GitHub: https://github.com/Michael-A-Kuykendall/crabcamera
  - Documentation: https://docs.rs/crabcamera

More from Hacker

Show HN: Docker.how – Docker command cheat sheet

Show HN: Docker.how – Docker command cheat sheet

Show HN: Shellock, a real-time CLI flag explainer for fish shell

Show HN: Shellock, a real-time CLI flag explainer for fish shell

Show HN: Hover – IDE style hover documentation on any webpage

Show HN: Hover – IDE style hover documentation on any webpage I thought it would be interesting to have ID style hover docs outside the IDE.<p>Hover is a Chrome extension that gives you IDE style hover tooltips on any webpage: documentation sites, ChatGPT, Claude, etc.<p>How it works: - When a code block comes into view, the extension detects tokens and sends the code to an LLM (via OpenRouter or custom endpoint) - The LLM generates documentation for tokens worth documenting, which gets cached - On hover, the cached documentation is displayed instantly<p>A few things I wanted to get right: - Website permissions are granular and use Chrome&#x27;s permission system, so the extension only runs where you allow it - Custom endpoints let you skip OpenRouter entirely – if you&#x27;re at a company with its own infra, you can point it at AWS Bedrock, Google AI Studio, or whatever you have<p>Built with TypeScript, Vite, and the Chrome extension APIs. Coming to the Chrome Web Store soon.<p>Would love feedback on the onboarding experience and general UX – there were a lot of design decisions I wasn&#x27;t sure about.<p>Happy to answer questions about the implementation.

Show HN: I created a tool to design and create foamcore inserts for boardgames

Show HN: I created a tool to design and create foamcore inserts for boardgames As a holiday project to test out spec first development using Codex CLI, I ended up creating <a href="https:&#x2F;&#x2F;boxinsertdesigner.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;boxinsertdesigner.com&#x2F;</a><p>It lets you design a box insert in 2D and spits out a cutting list.<p>I&#x27;m looking for feedback, bugs, feature ideas etc and figured this would be a good place to find it :)

No other tools from this source yet.