Privacy-first AI meeting assistant for local capture, live transcription, and meeting summaries. Friday is a native desktop app that records and summarizes meetings without shipping your raw audio or transcripts to the cloud. The product is built on a privacy-first local-first architecture with a Tauri desktop shell, Rust audio/transcription services, and a Next.js interface.
- What Friday is for
- Core capabilities
- Project structure
- Architecture overview
- Requirements
- Running Friday in development
- Building from source
- Repository links
- Contributing
- License
Friday is meant for teams and professionals who need accurate meeting notes while retaining full control of their data. It is designed for:
- Local-first transcription and storage
- Real-time transcript updates
- AI summaries with configurable providers
- Meeting export and editing workflows
- Stronger privacy controls than cloud-only assistants
- Local-first by default
Meetings are recorded and processed in local pipelines on your machine. - Professional audio mixing
The audio layer synchronizes microphone and system audio with voice-activity-based processing for transcription quality. - Live transcripts + summaries
See transcriptions as they are produced and generate meeting summaries after meetings end. - Cross-platform desktop app
Built with Tauri for macOS, Windows, and Linux targets. - Flexible AI provider support Gemini (primary), with support for local and external providers for summary generation.
- Privacy-first defaults
No raw audio/notes upload required for core operation.
frontend/
Desktop shell, UI, and all local Rust audio/transcription glue.backend/
FastAPI service for meeting persistence, summarization endpoints, and deployment helpers.docs/
Operational and build documentation.
Frontend (Next.js UI) <-> Tauri command bridge <-> Rust services
|
+-> Audio pipeline + recording
+-> Whisper integration
+-> Local file outputs
Frontend HTTP/WebSocket <-> FastAPI backend <-> SQLite + LLM providers
|
+-> Whisper server for transcription orchestration
- Rust (stable toolchain)
- Node.js 20+ and pnpm
- Python 3.8+ (for backend workflows)
- On macOS: microphone + screen recording permission for full system-audio capture
- GPU support depends on platform:
- macOS: Metal/CoreML
- Windows/Linux: CUDA/Vulkan where available
- Install frontend dependencies:
cd frontend
pnpm install- Start frontend in Tauri mode:
pnpm run tauri:dev- Start backend (recommended for full stack features):
cd backend
./clean_start_backend.sh # macOS/LinuxWindows users can use the PowerShell workflow documented in backend/README.md.
Default local ports:
- Frontend dev server:
3118 - Backend API:
5167 - Whisper server:
8178
- Backend docs are available at
http://localhost:5167/docs.
If you only need to test frontend rendering, you can run pnpm run dev from frontend for the Next.js app alone.
-
Frontend scripts (from
frontend):pnpm run tauri:devfull app development modepnpm run tauri:dev:cpuCPU-only development buildpnpm run tauri:dev:metalApple Silicon/Metal pathpnpm run tauri:dev:cudaCUDA pathpnpm run tauri:dev:vulkanVulkan pathpnpm run tauri:buildproduction app build
-
Backend scripts and deployment options:
- Docker-based and native setup instructions in
backend/README.md - Whisper model options:
tiny,base,small,medium,large-v3and more
- Docker-based and native setup instructions in
- Website documentation:
tinyurl.com/2nvsk8ek - Architecture details:
docs/architecture.md - Build details:
docs/BUILDING.md - Linux build notes:
docs/building_in_linux.md - Backend setup:
backend/README.md - Frontend notes:
frontend/README.md
Contributions are welcome.
- Keep PRs focused and scoped.
- Update docs when behavior or command flow changes.
- Use existing Rust and TypeScript patterns in the codebase.
- See
CONTRIBUTING.mdfor full project process.
MIT License. See LICENSE.

