Style Transfer AI.
Before asking a model to write in a particular voice, it helps to describe what that voice actually does.
Writing has a fingerprint.
Style Transfer AI takes text samples and builds a structured writing profile. It explores linguistic patterns rather than image style transfer.
A few decisions.
Local inference is an option
Ollama supports running the analysis locally. Optional OpenAI and Gemini integrations offer a different deployment choice; privacy depends on the provider selected.
Make the output portable
TXT reports are readable without the tool, while JSON profiles can be used by other programs. Named, timestamped outputs make runs easier to revisit.
Separate analysis from storage
Profiles can stay local. Optional Firestore backups are a separate capability, rather than a requirement to analyze a piece of writing.

Read the demo walkthrough
- In Windows PowerShell, a package-install command reports that Style Transfer AI and its dependencies are already installed, and the command-line program is launched.
- A stored profile summary shows the user name adon, model gemma3:1b, enhanced mode, three files analyzed and zero total words. When the readable report is requested, the program says that report is not available in this profile. These are prototype limitations, not successful analysis results.
- Returning to the main menu shows writing-style analysis, saved profiles, content generation and transfer, comparison, report cleanup, model selection, configuration and exit options. The recording ends at the menu prompt.
Work, with context.
The public project documents a Python CLI with statistical and model-assisted analysis, profile management and report export. The existing recording captures the terminal workflow, including incomplete reports; it is a prototype demonstration, not an accuracy benchmark.
CLI documentation and sourceThere’s more to figure out.
A useful next step is evaluation: compare profiles across samples from the same writer and test whether the descriptions remain stable. Model-generated observations should be treated as hypotheses.