From manual text adaptation to automatic style replication: A tool for copying writing styles#

Adopting writing styles is tedious. Our Style Tool automates this process: It analyzes sample texts and applies their style to new content.

The tool arose from a question: Can AI language models copy not only grammar and vocabulary, but also structures, narratives, and sequences? We wanted to test how far this replication goes—from Goethe’s prose to comic book language.

What was the goal?#

We wanted to find out whether language models can capture complex stylistic dimensions.

Simple style instructions already work. But styles are more than just sentence structure. They have their own structures, sequences, and narrative patterns. The project was intended to show whether these deeper levels can also be replicated.

What can the tool do?#

The tool is a web application with four functions:

  • Transform: Converts texts according to style profiles (e.g., from technical text to Goethe style, from report to Obama speech, from prose to comic dialogue)
  • Analyze style: Extracts features from sample texts (linguistic patterns such as sentence length, lexical aspects such as technical terms, structural characteristics such as paragraph structure)
  • Fine-tuning: Learns from before-and-after comparisons (e.g., original AI text and manual revision)
  • Style overview: Displays profiles and exports them as a file

The tool processes common formats (TXT, Markdown, Word documents) and can process up to 250,000 text units at once.

This allows users to create their own style profiles and apply them to any text.

How was it developed?#

We put a lot of time into the preparation.

  • Concept phase (~60 minutes): Intensive discussion of functional areas and technical approaches
  • Specification (~30 minutes): Clarification of all details before the first code was written
  • Initial implementation (~90 minutes): Complete implementation with all four functions
  • Bug fixes (2x ~30 minutes): Two minor improvements

Total effort: Approximately 3 hours for a functional tool

Result: 2,140 lines of Python code in 6 files, plus separate instruction files for the AI

Why did it go so well?#

Because the specification was complete before coding began.

We only started programming once every detail had been clarified. The division into four functional areas, the data format, the architecture – everything was fixed. This clarity enabled implementation without any major corrections.

A detailed specification drastically reduced development time and avoided costly iterations.

Key insights#

1. Style is more than language – but it can still be copied

Initial tests show very good results. We created about ten style profiles: author styles such as Goethe, speech styles of Helmut Schmidt or Barack Obama, genres such as interviews or comics.

Particularly surprising: the comic style works excellently. The tool not only generates comic language (e.g., short dialogues, exclamations, onomatopoeia), but also describes individual panels. We were then able to convert these descriptions into graphic comics using AI image generators.

Style seems to be a cultural phenomenon that can nevertheless be replicated technically.

2. Hybrid data structures are the key

We combine two approaches: structured data (numbers, categories) and natural language instructions. Style profiles contain measurable characteristics (e.g., average sentence length: 15 words) and descriptions (e.g., “use lively verbs”).

This combination had already proven itself in earlier experiments. It combines precision with flexibility.

3. Fine-tuning through change analysis maps real workflows

The fine-tuning function uses an everyday pattern: you receive an AI response and adjust it manually. The tool analyzes these adjustments and derives rules from them.

This approach makes implicit decisions explicit. If someone regularly shortens AI texts or replaces technical terms, the tool recognizes this pattern and automatically applies it in the future.

What can others learn from this?#

  • Invest time in the specification before you write a line of code—it will save you a lot of time later on.
  • Proven technical patterns (e.g., structured data formats, token management) should be adopted from previous projects.
  • The KISS approach (Keep It Simple) applies especially to specifications—simple solutions are often the best.
  • Small projects (here: 6 files, 2,140 lines of code) remain manageable and can be implemented quickly.
  • User workflows should be mapped in tool functions (here: the pattern “receive AI response → manually adjust”).

Conclusion#

✔ Language models can capture and replicate complex stylistic dimensions – from syntax to cultural narrative patterns.

✔ A thorough specification drastically reduces development time (here: 90 minutes for the complete initial implementation).

✔ The combination of structured data and natural language is a viable approach for AI-powered text tools.

This is part of a series on experiments with language models. The focus is on what can be learned from such projects—not just on the results.