{"id":50493463,"url":"https://github.com/DevEmperor/DictateKeyboard","last_synced_at":"2026-06-18T22:00:49.063Z","repository":{"id":242239605,"uuid":"807605392","full_name":"DevEmperor/DictateKeyboard","owner":"DevEmperor","description":"A powerful Whisper AI keyboard for reliable speech transcription","archived":false,"fork":false,"pushed_at":"2026-06-15T10:55:09.000Z","size":32839,"stargazers_count":215,"open_issues_count":34,"forks_count":56,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-06-15T12:21:56.515Z","etag":null,"topics":["ai","android","gpt","keyboard","openai","openai-api","transcription","whisper","whisper-ai"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=net.devemperor.dictate","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevEmperor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-29T12:25:55.000Z","updated_at":"2026-06-15T10:55:13.000Z","dependencies_parsed_at":"2024-06-01T17:03:45.331Z","dependency_job_id":"894c49eb-f01c-495f-b685-c4b2b5b1cb13","html_url":"https://github.com/DevEmperor/DictateKeyboard","commit_stats":{"total_commits":102,"total_committers":2,"mean_commits":51.0,"dds":0.009803921568627416,"last_synced_commit":"9db965373d47fa2be63cfb6d37590afde92b21dc"},"previous_names":["devemperor/dictate","devemperor/dictatekeyboard"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/DevEmperor/DictateKeyboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevEmperor%2FDictateKeyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevEmperor%2FDictateKeyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevEmperor%2FDictateKeyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevEmperor%2FDictateKeyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevEmperor","download_url":"https://codeload.github.com/DevEmperor/DictateKeyboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevEmperor%2FDictateKeyboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34508867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","android","gpt","keyboard","openai","openai-api","transcription","whisper","whisper-ai"],"created_at":"2026-06-02T05:00:36.702Z","updated_at":"2026-06-18T22:00:49.058Z","avatar_url":"https://github.com/DevEmperor.png","language":"Kotlin","funding_links":["https://paypal.me/DevEmperor"],"categories":["By Platform"],"sub_categories":["Android"],"readme":"\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://github.com/DevEmperor/Dictate/blob/legacy-java/img/Icon_512x512_2_round.png?raw=true\" alt=\"Dictate Keyboard logo\" width=\"70\"\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ch1\u003eDictate Keyboard\u003c/h1\u003e\n      \u003ci\u003eA powerful Whisper AI keyboard for reliable speech transcription\u003c/i\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://play.google.com/store/apps/details?id=net.devemperor.dictate\"\u003e\n        \u003cimg alt=\"Get it on Google Play\" height=\"48\" src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://paypal.me/DevEmperor\"\u003e\n        \u003cimg alt=\"Donate with PayPal\" height=\"48\" src=\"https://www.paypalobjects.com/webstatic/en_US/i/buttons/PP_logo_h_150x38.png\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n\u003e **Note:** This is a complete rebuild of Dictate as a full, standalone keyboard on top of\n\u003e [**FlorisBoard**](https://github.com/florisboard/florisboard), replacing the original Java\n\u003e app that powered Dictate v1–v3. The previous Java codebase is preserved on the\n\u003e [`legacy-java`](https://github.com/DevEmperor/Dictate/tree/legacy-java) branch.\n\n---\n\n## 📸 Screenshots\n\n\u003cimg src=\"img/presentation_graphic_en-EN.png\" alt=\"Dictate Keyboard\" width=\"720\"\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"img/banner_01_en-EN.png\" width=\"220\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"img/banner_02_en-EN.png\" width=\"220\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"img/banner_03_en-EN.png\" width=\"220\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"img/banner_04_en-EN.png\" width=\"220\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"img/banner_05_en-EN.png\" width=\"220\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"img/banner_06_en-EN.png\" width=\"220\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 📲 Installation\n\n**The app is available on [Google Play](https://play.google.com/store/apps/details?id=net.devemperor.dictate)**\n(for a small fee that supports continued development), giving you easy installation and free\nlifetime updates. Just tap the badge above or [this link](https://play.google.com/store/apps/details?id=net.devemperor.dictate).\n\n\u003e **Existing users:** the new keyboard keeps the same app identity and signing key, so your\n\u003e settings carry over on update — no reinstall, no lost configuration.\n\n## ✨ What is Dictate?\n\n**Dictate** is an easy-to-use keyboard for transcribing and dictating. It uses\n[OpenAI Whisper](https://openai.com/index/whisper/) in the background, which delivers\nextremely accurate results for\n[many different languages](https://platform.openai.com/docs/guides/speech-to-text/supported-languages),\ncomplete with punctuation — plus custom AI rewording powered by GPT models.\n\nInstead of pecking at keys, just tap the microphone, speak, and watch your words appear as\nclean, formatted text in any app. Need it more formal, translated, summarised, or\nfixed-up? Hand the text to a rewording prompt and let the model do the work.\n\n## 🎤 Features\n\n- **Voice dictation with Whisper AI** — highly accurate speech-to-text in dozens of languages, with automatic punctuation.\n- **AI rewording \u0026 rewriting** — turn a selection into something more formal, casual, translated, summarised, or anything you define with custom prompts.\n- **Custom prompts \u0026 snippets** — build your own reword actions; reusable text snippets are inserted instantly without an API call.\n- **Bring your own key** — works with your own OpenAI API key (and compatible endpoints), so you stay in control of usage and cost.\n- **A real, full keyboard** *(courtesy of the FlorisBoard base):*\n  - Huge variety of keyboard layouts and easy language/subtype switching\n  - Full theme customization with day/night presets and automatic switching\n  - Emoji keyboard, clipboard manager \u0026 cursor tools\n  - One-handed / compact mode, gesture actions, customizable key sound \u0026 vibration\n- **Privacy-respecting by design** — no tracking; your audio goes only to the AI provider you configure.\n\n## 🧱 Built on FlorisBoard\n\nDictate Keyboard is a fork of [**FlorisBoard**](https://github.com/florisboard/florisboard),\nan open-source, privacy-respecting keyboard created by\n[Patrick Goldinger](https://github.com/patrickgold) and\n[The FlorisBoard Contributors](https://github.com/florisboard/florisboard/graphs/contributors).\nTheir work provides the entire keyboard foundation — layouts, theming, gesture handling,\nclipboard tools and the IME plumbing — on top of which Dictate adds its voice-dictation and\nAI-rewording layer.\n\nHuge thanks to the FlorisBoard team. FlorisBoard is licensed under the Apache License 2.0;\nsee [`LICENSE`](LICENSE) and [`NOTICE`](NOTICE) for full attribution.\n\n## 🤝 Contributing\n\nThe best way to help right now is to **[open an issue](https://github.com/DevEmperor/Dictate/issues)**\nwith bug reports, ideas or feedback. Full contribution and community guidelines will be\npublished as the project matures. Thank you! 🙏\n\n## 📄 License \u0026 attribution\n\nDictate Keyboard is released under the terms of the\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n\n- This project is a fork of **FlorisBoard** — Copyright © The FlorisBoard Contributors,\n  licensed under Apache-2.0.\n- See [`LICENSE`](LICENSE) for the full license text and [`NOTICE`](NOTICE) for required\n  attribution notices.\n- Speech recognition is powered by [OpenAI Whisper](https://openai.com/index/whisper/).\n\n## ❤️ Support\n\nIf Dictate makes your day a little easier, you can support development by\n[buying the app on Google Play](https://play.google.com/store/apps/details?id=net.devemperor.dictate)\nor [donating via PayPal](https://paypal.me/DevEmperor). Every bit helps — thank you!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevEmperor%2FDictateKeyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDevEmperor%2FDictateKeyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevEmperor%2FDictateKeyboard/lists"}