The Problem
Private meetings require accurate note-taking without compromising confidentiality. Traditional AI notetaking solutions either transmit audio to cloud services or require intrusive bot participation, creating compliance risks for sensitive discussions. Teams needing offline operation or custom model integration have had limited options that balance functionality with privacy.
What This Does
Hyprnote is a local-first AI notetaking application designed for private meetings. The codebase spans 200 files across four primary applications: apps/ai (Rust-based AI processing, 3 Rust files including main.rs and auth.rs), apps/api (TypeScript/Hono server with 53 TypeScript files handling routing, middleware, and observability), apps/bot (GitHub integration and automation), and apps/desktop ( Electron-based client). Key features include realtime transcript capture without bot injection, offline LM Studio/Ollama operation, customizable note templates, and Bring Your Own LLM support via apps/api/src/integration/ files for Posthog, Stripe, and Supabase. The API layer at apps/api/src/middleware/ includes observability, sentry, and Slack integration middleware, while apps/ai/src/env.rs manages environment configuration for model endpoints.
How To Use It
Setup: The repository uses Cargo for the AI component (apps/ai/Cargo.toml) and npm for the API (apps/api/package.json). Dockerfiles exist for AI (apps/ai/Dockerfile), API (apps/api/Dockerfile), and bot (apps/bot/Dockerfile). A Taskfile.yaml root file suggests build automation is available.
Configuration: Environment variables are defined in apps/api/src/env.ts and apps/ai/src/env.rs. The API requires connection settings for selected LLM providers - the integration layer at apps/api/src/integration/ provides examples for Ollama, Gemini, Claude, and Azure-hosted models. No API keys are documented in the root, suggesting they must be supplied at runtime.
Running it: Entry points are apps/ai/src/main.rs for the AI inference service and apps/api/src/index.ts for the HTTP server. The README references brew install --cask fastrepl/hyprnote/hyprnote@nightly for macOS public beta, with Windows and Linux availability tracked in issues #66 and #67.
Real-World Use
A knowledge worker joins a private strategy session and launches Hyprnote, selecting an Ollama-hosted local model. The app captures audio directly from the system input without transmitting to external services, transcribes in realtime, and after the meeting generates a summary grounded in the user's handwritten notes. The user can then query the transcript via the AI chat interface: "What were the action items?" or "Rewrite this in simpler language." The resulting text can be exported to Obsidian via the planned integration.
Code Health & Issues
Security - apps/bot/test/fixtures/mock-cert.pem appears committed to the repo. This test fixture should be moved to .gitignore or a secure secrets manager; credentials in test fixtures risk exposure in pull requests. CI/CD - 35+ GitHub Actions workflows indicate mature deployment pipelines, but the high volume (aicd.yaml, aici.yaml, apicd.yaml, apici.yaml, plus environment-specific workflows) suggests build and test execution may be slow for contributors. Test coverage - 6 test files exist across apps/bot/test/ and API integration tests; coverage for the AI inference path and middleware is unverified. Dependency hygiene - Cargo.lock and package.json files are present, but no npm audit or cargo audit configuration is visible in the workflow files. Separation of concerns - The API (apps/api/src/) handles routing, billing, webhooks, and integrations within a single folder; extracting domain-specific logic into separate modules would improve maintainability.
The Bottom Line
Hyprnote delivers on its core promise of local, bot-free meeting transcription with genuine offline capability via LM Studio or Ollama. The codebase is functional and well-structured for a small team, though the committed test certificate and limited test surface area warrant remediation before production use. It is well-suited for individual practitioners or privacy-conscious teams who need realtime transcription without cloud dependency, particularly those already invested in local LLM hosting. Teams requiring out-of-the-box Notion or Slack integration may need to wait for planned features or build custom connectors.