Skip to content

bdjben/PennyScribe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PennyScribe

PennyScribe is a native macOS app for recording or importing meetings, transcribing them with OpenAI diarization, and producing detailed meeting summaries.

It can:

  • Record microphone audio plus Mac system audio, including audio from apps like Zoom.
  • Import existing audio/video files for transcription.
  • Store multiple OpenAI API keys securely in macOS Keychain.
  • Transcribe with gpt-4o-transcribe-diarize using chunking_strategy=auto.
  • Summarize with a selectable model: GPT-5.4-mini, GPT-5.4, or GPT-5.5.
  • Save timestamped transcripts and summaries locally so past meetings can be reloaded.

The name is a nod to cheap API usage: pennies for transcripts and summaries.

Screenshot

PennyScribe app window

Release

Current release: v1.0

The recommended Mac installer is the signed, notarized, stapled DMG from the GitHub release:

PennyScribe-macOS.dmg

Install

Open PennyScribe-macOS.dmg, drag PennyScribe.app to Applications, then launch it.

The release DMG is Developer ID signed, notarized, and stapled.

First run permissions

macOS will ask for:

  • Microphone: needed to record your own voice.
  • Screen & System Audio Recording: needed for system audio, such as audio from Zoom.

If recording fails the first time, open System Settings → Privacy & Security and enable those permissions for PennyScribe, then restart the app.

API keys

The app can store multiple OpenAI API keys. Key labels are stored in app preferences; key secrets are stored in macOS Keychain. Select the key you want before transcription/summarization.

Recording or uploading media

Use either:

  • Start Recording / Stop to capture mic + Mac system audio.
  • Choose Audio/Video to import an existing media file, such as .m4a, .mp3, .wav, .mp4, .mov, or .webm.

Imported media is copied into a timestamped PennyScribe session folder before transcription so the transcript, summary, and source file stay together.

Local storage

Audio, imported media, transcripts, and summaries are stored locally under:

~/Documents/PennyScribe Recordings/

Each meeting folder and generated file is timestamped, for example:

  • PennyScribe-2026-04-30-013000-mixed.m4a
  • PennyScribe-2026-04-30-013000-transcript.txt
  • PennyScribe-2026-04-30-013000-summary.md

Completed transcripts and summaries can be reloaded from the Past Meetings section in the app sidebar.

Privacy notes

  • Recordings and imported media are stored locally before transcription.
  • Transcription sends the selected audio/video or mixed recording to OpenAI using the selected API key.
  • Summarization sends the transcript to OpenAI using the selected API key.
  • API key secrets are stored in macOS Keychain, not plaintext app preferences.

Build locally

swift test
python3 scripts/build_macos_app.py --sign-identity '[REDACTED]'
xcrun notarytool submit dist/PennyScribe-macOS.dmg --keychain-profile [REDACTED] --wait
xcrun stapler staple dist/PennyScribe-macOS.dmg

About

Native macOS meeting transcription and summarization app

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors