Model or dataset
AndraxDev/speak-gpt avatar
AndraxDev/speak-gpt

SpeakGPT: an Android assistant where your own API key is the whole business model

Your personal voice assistant based on OpenAI ChatGPT.

446 stars80 forksKotlinApache-2.0

At a glance

What is it?
The README spends as many words telling you not to expect free access as it does listing features. That constraint, an Apache 2.0 codebase whose release builds ship obfuscated, and a BSc thesis citation explain most of what this app is.
Who is it for?
SpeakGPT is a well documented Android client with a wide provider surface and an unusually direct author, and the directness includes a warning paragraph that tells people hoping for free flagship access to leave. Read three things before installing it.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 26 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The client is free, the model access is not

The warning paragraph near the top of the README is the most unusual thing in this repository, and it exists because the project attracts a specific kind of visitor. The claim is that free cheese could be only in a mousetrap, that this app is an open source client provided as is, that it does not itself provide completely free access to the premium features of API providers such as flagship models and special features, and that anyone arriving to use someone else's work for free and without credit should skip the app. The author also says outright that questions about an incorrect API key or about the app redirecting to an external site for a key will go unanswered.

What this amounts to is a clear statement of where the money is. The client is free and the inference bill is yours. The README supports that claim with a concrete API key safety section: keys are stored locally on the device, not shared with anyone, SpeakGPT collects no personal data, and using an API key is more secure than using a username and password because your personal information cannot be obtained with a key. The advice given for anyone worried is concrete too. Use a separate key for SpeakGPT, set a billing limit, enable usage monitoring so you can see what it costs, and revoke the key if you have concerns.

That is a better security posture than most client apps document, and the last line of it is the one people skip: the mitigation for every risk here is a separate key with a spending cap, not trust in the app.

Provider support is tiered, and OpenRouter is the workaround

The supported provider list is explicitly uneven. OpenAI has full support, GROQ and Azure have partial support, OpenRouter is text generation only and has been tested against Gemini, Claude, Perplexity, Llama, Gemma, Mistral and OpenAI models, and anything else has to be tested by the community.

The tiering is a more useful signal than the headline model list. A README that names gpt-4.1, gpt-4.5, o1, o3, o4 and gpt-image-1 is describing what the app can pass through, while the provider tiers describe what has actually been exercised. It also notes that some of those models may require identity verification with OpenAI, which means a model name being available in the picker does not guarantee the account can call it.

There is a specific section for people who want Google's models, and the answer is indirect. SpeakGPT does not support Google API keys directly, but you can still reach Gemini through OpenRouter. That is the pattern for the whole app: any provider without first class support becomes a custom endpoint, and the README says you can add your own API provider in Settings by selecting the API endpoint.

Voice input is listed as Whisper and Google, which follows the same rule. Anything the app does not have a native integration for is reachable through a provider that speaks the OpenAI shape.

The licence is the part to read twice

The repository metadata reports the licence as Apache 2.0, and the end of the README carries the standard Apache 2.0 grant.

code
Licensed under the Apache License, Version 2.0 (the "License");
+

Directly above that block, in a note at the top of the README, the project says it was part of the author's Bachelor Thesis, that attribution is required to use the work, that copyright runs from 2023 to 2026 to Dmytro Ostapenko with all rights reserved, and gives a citation to reference: Dmytro Ostapenko (2024), Review Program Automation Using Copilot Services, Bachelor Thesis, Technical University of Koice, 2024.

Those two statements do not sit together comfortably. Apache 2.0 grants broad rights including commercial use and modification, and an all rights reserved notice with an attribution requirement is a narrower grant than that. Both are in the same repository, so this is not a case of a stale badge; it is a live ambiguity in the project's own documentation.

If you only intend to install the app from Play Store, none of this touches you. If you intend to fork it, ship a modified build, or reuse the code in something of your own, the two statements need to be reconciled with the author rather than guessed at. The contact details are published for exactly that sort of question.

Obfuscation, VirusTotal and the malware warning

The README asks why production builds are obfuscated and answers in one paragraph: obfuscation and resource shrinking let the author optimize app size and performance, protect against reverse engineering and tampering, and keep credentials such as API keys in a safe place. A reader who wants to verify that claim is told they can request an unobfuscated build or compile the app themselves.

That is an honest answer with a real cost. If your threat model requires inspecting the shipped binary, your options are to build from source, which means setting up an Android toolchain and the Gradle wrapper in the repository, or to ask the author for a build. Neither is a five minute task.

The companion warning is about third party builds.

code
> BE AWARE OF MALWARE! You are allowed to compile SpealGPT and modify it but be very careful when someone offers you to install their build. Such build may contain malware. Official builds do not contain malware and are checked by more than 60 different antivirus engines using VirusTotal. You can find VirusTotal report for each release and compare the hash of the binary files.

The typos in that block are in the original. The substance is a verifiable claim rather than an assurance: a VirusTotal report per release, and a hash you can compare. Comparing the hash of the APK you installed against the published one is a stronger check than trusting a store badge, and it is the check this section is really asking for.

Two release channels exist. The Play Store listing at org.teslasoft.assistant is the Android build, and SpeakGPT Web at assistant.teslasoft.org runs from a separate repository, speak-gpt-web.

A feature list that reads like a client app, not a framework

The checked feature list covers chat saved locally with import and export, image generation, image recognition, an activation prompt, a system message, voice input, an assistant mode, entries in the Android context menu and share sheet, function calling, a prompts library, alternative chat layouts, adaptive design, a pay as you go system, tips for newbies, custom fine tuned model support, an AMOLED dark mode, custom API providers, model parameter tuning, a playground, and access to current flagship models.

Two entries carry more weight than the rest. The model parameter list is explicit: temperature, topP, frequencyPenalty, presencePenalty and logit_bias. Exposing logit_bias in a mobile client is unusual and it is the parameter you need for suppressing a specific token, which makes the app usable as a constrained generator rather than only as a chat. And the playground plus custom fine tuned model support together mean you can point the same interface at a model you trained.

The planned list is short and reads as a roadmap rather than a promise: device routines such as setting an alarm or opening an app, chat history sync, a model exchange portal like a prompts store, and official browsing capabilities so the models can reach the internet. Item three implies the app deliberately does not have broad network access today, which is the safer default for a client that holds a paid key.

Android 9 to 11 are on the way out, for a stated reason

A caution block near the top says support for Android versions 9, 10 and 11 is being dropped soon, and gives the reason: recent changes in the SDK and security, plus the fact that older Android versions rely on deprecated and unstable features such as RenderScript. That is a concrete engineering reason rather than a market share one, and RenderScript is a good example, since Google deprecated it in favour of Vulkan and the compute APIs.

The repository structure supports the claim that this is a real application rather than a wrapper. Alongside the standard Gradle files, gradlew and gradlew.bat, and settings.gradle and gradle.properties, there is an app directory, a .idea directory checked in, a github directory, and a set of JSON files at the root whose names describe what they are.

code
MainActivity_robo_script.json
ai_sets.json
experiment.json
explore.json
hub-purge.sh
+

Those five names say a lot on their own. A script for automating the main activity, a set of AI configurations, experiment and explore presets, and a purge script for hub data. Together they describe an app that grew through experimentation, which matches a project that began as a thesis in 2024 and now has 446 stars, 77 forks and 10 open issues.

The last commit is dated 2026-09-13, which puts the code close to current while the licence question above is still open in the README. Those two facts together are the honest summary of this repository: actively developed, thoroughly documented, with one piece of paperwork that deserves a question rather than an assumption.

Editorial conclusion

SpeakGPT is a well documented Android client with a wide provider surface and an unusually direct author, and the directness includes a warning paragraph that tells people hoping for free flagship access to leave. Read three things before installing it. First, the licence. The repository metadata says Apache 2.0 and the README carries an Apache 2.0 block, but the note above the licence text states the work is part of a Bachelor Thesis, that attribution is required, and that all rights are reserved, which is a combination worth resolving yourself before you fork anything. Second, obfuscation. Release builds are deliberately obfuscated, and you have to ask for an unobfuscated build or compile it to inspect it. Third, provider coverage, which is tiered rather than uniform: OpenAI is full, GROQ and Azure are partial, and OpenRouter is limited to text generation. The last commit is dated 2026-09-13, so the codebase is current, and Android 9 through 11 support is being dropped because of deprecated platform APIs.

Frequently asked questions

Do I need a paid ChatGPT subscription to use SpeakGPT?

You need your own API key and billing set up, and you pay the provider directly rather than through the app. The README warns at length that the app does not provide free access to premium features of API providers, and the security advice is to use a separate key, set a billing limit and enable usage monitoring.

How do I use Google Gemini models in SpeakGPT?

SpeakGPT does not accept Google API keys directly. The README points you at OpenRouter, which is supported for text generation and has been tested with Gemini, Claude, Perplexity, Llama, Gemma, Mistral and OpenAI models. You can also add your own custom API provider in Settings.

Is the SpeakGPT source code safe to inspect before I install it?

Release builds are deliberately obfuscated to reduce size, protect against reverse engineering and keep API keys safer, and the author says you can request an unobfuscated build or compile it yourself. Official Play Store builds are checked by more than 60 antivirus engines on VirusTotal, and you can compare the hash of your installed binary against the published one.

Can I fork SpeakGPT and use it commercially?

Ask first. The repository reports Apache 2.0 and the README includes the Apache 2.0 licence text, but a note above it states the work is part of a Bachelor Thesis, that attribution is required and that all rights are reserved. Reconciling those two statements with the author is the safe route before shipping anything based on it.

Official sources

  1. AndraxDev/speak-gpt on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/andraxdev-speak-gpt.svg)](https://hysenlabs.com/projects/andraxdev-speak-gpt)