About ParrotFlow

ParrotFlow is an open source dictation app for macOS made by Nathan Zylbersztejn. This page says who he is, what the project aims for and how to take part.

Who makes it

Nathan Zylbersztejn makes ParrotFlow.

He has built natural language processing (NLP) applications since 2016. In 2017 he founded Botfront, a conversational AI startup. Botfront was sold to a leading Canadian telehealth company.

Since then he has worked as a senior AI engineering manager. He has also kept working on open source projects.

You can find him on GitHub and LinkedIn.

What the project aims for

ParrotFlow is built to be open. Anyone can change it to fit their own work, with their own rules and scripts.

It combines simple, classic NLP techniques with small language models that are very capable. The aim is dictation output that compares with cloud dictation services, while your privacy is respected. Your speech is transcribed on your Mac. See Privacy for what stays on your Mac and what does not.

How the project works

ParrotFlow is open source under the GPL-3.0 license. The code, the issues and the discussions are on GitHub at znat/parrotflow. One maintainer runs the project.

Report a bug

Open an issue on GitHub. The app can prepare it for you. In the menu bar, choose Report a Bug…. The app shows a report with the version, the config check and the end of the log. Read it before you paste it. The log can contain words you dictated.

Report a security problem privately, with a security advisory. Do not open a public issue for it.

Ask a question

Questions that are not bugs go in GitHub Discussions. You can also post a transform or a config you built there.

Contribute

Read CONTRIBUTING.md first. The main rules are short.

  • A good first contribution is a transform. It is one folder under built-in/transforms/, with its test cases next to it.
  • Sign off every commit with git commit -s. This certifies the DCO. Your change goes in under the GPL-3.0.
  • Start each commit subject with a type, such as feat: or fix:. Releases and the changelog are built from these subjects.
  • Do not change a prompt or a pattern without scoring it. Give the score before and after the change in the pull request.
  • Keep a pull request to one change.

See the changelog for what each release brought.