Show HN: CrabCamera – Cross-platform camera plugin for Tauri desktop apps
Hacker News (score: 29)Description
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/crabcameraMore 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's permission system, so the extension only runs where you allow it - Custom endpoints let you skip OpenRouter entirely – if you'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'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://boxinsertdesigner.com/" rel="nofollow">https://boxinsertdesigner.com/</a><p>It lets you design a box insert in 2D and spits out a cutting list.<p>I'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.