DEV Community

Lightning Developer
Lightning Developer

Posted on

Scaling Local-First AI: Running and Exposing Meetily Transcriptions

Meetily recently hit #3 on GitHub’s daily trending page, racking up over 2,500 stars in a single day. The project current sits at roughly 18,000 stars total. What makes this project compelling for developers is the pragmatic value proposition: it is a local-first AI meeting assistant that handles transcription and summarization entirely on your machine. No internal audio, transcripts, or API keys leave your hardware unless you explicitly authorize it.

Blog Image

The Architecture

Meetily is a Tauri-based desktop application written in Rust, which serves as a wrapper for a Next.js frontend. It excels at leveraging local hardware to replace proprietary cloud-based services like Otter or Fireflies. Here is the technical breakdown of the stack:

  • Transcription: It uses OpenAI’s Whisper or NVIDIA’s Parakeet. The Parakeet model is converted to ONNX and reportedly delivers 4x the performance of standard Whisper.
  • Summarization: Ollama is the default backend, though the app is compatible with arbitrary OpenAI-compatible endpoints.
  • Hardware Acceleration: Native support for Metal/CoreML (Apple Silicon), CUDA (NVIDIA), and Vulkan (AMD/Intel).
  • Data Layer: SQLite handles meeting state and transcript persistence.

From a security and architecture perspective, the application actually functions as a suite of local HTTP services. You can observe this by inspecting the Content Security Policy in frontend/src-tauri/tauri.conf.json:

  • 3118: The Next.js UI.
  • 11434: The Ollama endpoint.
  • 8178: The Whisper transcription server.
  • 5167: The internal coordinator API.

Blog Image

Getting Started

For macOS and Windows, binary installers are available via the project releases. Linux users, however, will need to build from source. Ensure you have Rust and Node/pnpm installed before running the following:

git clone https://github.com/Zackriya-Solutions/meeting-minutes
cd meeting-minutes/frontend
pnpm install
./build-gpu.sh
Enter fullscreen mode Exit fullscreen mode

If you are on macOS and running into issues with the cidre crate during compilation, you must install the full Xcode application rather than just the Command Line Tools, as it requires xcodebuild for system audio capture:

sudo xcode-select -s /Applications/Xcode.app
sudo xcodebuild -license accept
Enter fullscreen mode Exit fullscreen mode

Blog Image

Exposing Local Sessions with Pinggy

One common frustration with local-first tools is the isolation; if you need to access your transcript from a secondary device, you typically need to set up a proxy. You can expose your local Meetily server—which runs on port 3118—using a Pinggy SSH tunnel:

ssh -p 443 -R0:localhost:3118 free.pinggy.io
Enter fullscreen mode Exit fullscreen mode

This generates a temporary public HTTPS URL. To secure this session (preventing random access to your meeting history via the SQLite database), use HTTP basic authentication:

ssh -p 443 -R0:localhost:3118 a.pinggy.io -t "b:username:password"
Enter fullscreen mode Exit fullscreen mode

This approach is ideal for temporary needs, such as monitoring a transcript from a mobile device or sharing a summary with a stakeholder without deploying to a permanent server. Because the local dev server lacks granular ACLs, treat these tunnels as single-purpose, short-lived bridges rather than production deployments.

Reference

Meetily: A Self-Hosted AI Meeting Assistant Trending on GitHub

Meetily picked up 2,500+ GitHub stars in a day with a self-hosted AI meeting assistant. Here's what it does, how the Rust/Whisper/Ollama stack fits together, and how to share a running instance with Pinggy.

favicon pinggy.io

Top comments (0)