Solo Developer · Early 2025

Speak. Polish. Paste.

VoiceInk turns your voice into clean, polished text in under two seconds — and pastes it wherever your cursor is. No switching apps, no typing, no friction.

Case Study →

Built for: Developers, writers, and knowledge workers on macOS who produce large volumes of text and want to remove typing as a bottleneck.

The Why

The Problem

Typing is a bottleneck. You think faster than you type, and every time you context-switch to write something — a Slack message, a code comment, an email — you lose momentum. The Fn key on your Mac keyboard is sitting there doing nothing.

The Solution

VoiceInk hijacks the Fn key system-wide and turns it into a dictation trigger. Hold to record, release to transcribe — your words appear in whatever field you were focused on, already cleaned up by AI. The entire tool fits in 5MB, idles invisibly.

What it does

Key Features

🎙️

Global Fn-Key Dictation

Hold Fn to record, release to transcribe. Works system-wide in any app — browser, editor, Slack, email — with no window focus required.

Real-Time Transcription

Audio streams to Deepgram as you speak, returning live interim results. No waiting for the recording to finish — transcription starts mid-sentence.

AI Polish with Groq

Hold Shift+Fn to activate AI rewriting — Groq rewrites your raw speech into clean prose in under 400ms, fixing filler words and run-ons automatically.

📋

Universal Paste

Transcribed text is injected directly into whatever text field you were using. No clipboard conflicts, no switching focus — it just appears.

🔒

Offline Whisper Fallback

No internet? VoiceInk falls back to a local Whisper model, running entirely on-device. Full dictation functionality with zero network dependency.

🖥️

Native Menubar App

Built with Tauri v2 and Rust — idles under 20MB RAM with a sub-5MB binary. Lives quietly in your menubar until you need it.

Technology

Built with

Tauri v2RustReact 19TypeScriptDeepgram APIOpenAI WhisperGroq SDKWeb Audio APIcpal (Rust audio)Tokio async runtimeTailwind CSSVite

Results

Impact

<2s
average voice-to-text latency with Deepgram
< 5MB
binary size vs 150MB+ for Electron alternatives
2
transcription providers with automatic failover
100%
universal paste — works in any macOS text field

Interested in working together?

This is one of many projects by Mudassir Mohammed. See the full portfolio or get in touch.

View Portfolio ↗Get in Touch →