If this is useful, a ❤️ helps others find it. Everything I keep looking up when building Tauri v2 apps — in one place. // Define #[tauri::command] fn greet(name: String) -> String { format!("Hello, {}!", name) } // With error handling #[tauri::command] fn read_file(path: String) -> Result { std::fs::read_to_string(path).map_err(|e| e.to_string()) } // Async #[tauri::command] async fn fet
Repo: https://github.com/richer-richard/socratic-council Stack: Tauri 2 (Rust + React/TypeScript), pnpm monorepo, Apache-2.0 Latest release: v2.0.0 If you ask one frontier model a hard question, you get a confident answer. If you ask sixteen, you get an argument. Socratic Council is a desktop app that runs a structured seminar between sixteen LLM agents drawn from eight providers — OpenAI, Anthr
All tests run on an 8-year-old MacBook Air. The default: Tauri commands When commands aren't enough: events Targeting specific windows The channel API for streaming data async fn stream_data(on_event: Channel) -> Result<(), AppError> { What I don't use The pattern I follow User action → invoke command → return result Three patterns. That's the whole IPC layer. If this was useful, a ❤️ helps more t
All tests run on an 8-year-old MacBook Air. Most AI integration tutorials assume you're paying for API access. HiyokoLogcat is built entirely on Gemini's free tier — and designed so users bring their own free API key. Here's what's possible, what the limits are, and how to design around them. Gemini 2.5 Flash Preview: 15 requests per minute (RPM) 1,000,000 tokens per day 250 requests per day For a
Some time ago, I was building a chat application using AWS Websocket API gateway. Things were going smoothly. I created a WebSocket API Gateway, added $connect, $disconnect, and sendMessage/addGroup routes. From the frontend (React) side, everything was fire-and-forget. You send a message, and the onMessageHandler takes care of it 💪🏼 But then a new requirement of uploading files using S3 signed