Understand your manuscript.

Read the patterns in your writing. Keep the evidence behind your decisions.

Lixity is a local analysis tool for authors, editors and researchers. It shows where a chapter's sentence rhythm, vocabulary, dialogue or tense moves away from your own norm — and opens the passage behind every number, so you decide what to do with it.

Runs on your computer. No account, no upload, no AI rewriting your prose.

Current release: v0.4.9 · What's new. Built-in analysis runs locally; your editorial choices remain yours.

Lixity analysis view: review entry points, chapter map and measures, each linked to its passage
The analysis view: start your review, scan chapter differences, open any figure's passage. Mobile view · Dark theme.

What makes it different

Four choices shape every number and every screen.

On your computer

Nothing is uploaded, there is no account, and the analysis runs offline. Your manuscript never leaves the machine.

Your book is the yardstick

Chapters are compared against your manuscript's own middle values and spread — not against a corpus of classics. A short list keeps many simultaneous comparisons from inflating the noise.

Every number opens its passage

Each figure links to the paragraph behind it. You read, judge, and leave a note where you read.

Honest limits

Short chapters are marked "not comparable" instead of ranked. Signals support your review; they are not a quality score.

In three steps

From install to your first reviewed passage.

  1. Install

    uv tool install --python 3.12 --managed-python lixity, then lixity service start --open. Installation guide

  2. Open your project

    Choose your manuscript folder. Lixity reads Markdown and keeps everything in place.

  3. Read your first passage

    Start with the review panel, work the flagged list, and open the passage behind any figure. Three-minute first look

New in 0.4.8: comparable numbers with documented floors, evidence quotes that survive edits outside the quote, one consistent interface, and a findable log. What's new in Lixity →

Understand your writing

Sentence rhythm, vocabulary, readability, dialogue dynamics and tense — measured per chapter, with the data requirements stated where they matter.

Density values count word-pattern matches per 1,000 words; they are heuristic counts, not a grammatical analysis. Where a value cannot say something useful, the panel explains why instead of showing a number.

How to read the results
Style dimensions with chapter loadings, target ranges and flagged chapters
Style dimensions from the manuscript's own variation. Analysis overview · Terminal report.

Compare chapters in context

The chapter map shows where the book is noticeably different from itself. Colours give the direction; the tooltip names the measure and the value.

Comparisons use the book's own middle values and typical spread, with an adjustment for estimated sampling noise. Chapter comparisons need at least the documented sample size; the panel says so instead of guessing.

Open the chapter map
Chapter map showing language differences from the manuscript's own style
Watch the walkthrough: chapter cell, paragraph values, style dimensions. Chapter map · Style dimensions · Reference bands.

Keep review notes beside the text

The review loop starts at the flagged list: every paragraph that meets your severity threshold, sorted by strength and line. Click a row and the passage opens, with its source lines and measurements.

Notes you write stay in the manuscript as Markdown comments — invisible while reading, listed later in the work markers. Nothing is rewritten for you.

Open the flagged list
An opened paragraph with its measured values, source line and the note editor for a work marker
Watch the editorial loop: flagged passage, paragraph values, note. Flagged passages · Marker list · Paragraph view.

Connect sources, claims and decisions

The research workspace keeps sources, quotations and notes in a separate local archive. A dossier gathers notes on a topic; a claim records an assertion you can link to source passages; a decision explains what you chose for the book.

Bring sources from local files or Zotero Desktop. Zotero stays a catalogue: cards link back quietly, the type line explains the item, and tags filter the list. Saving a source does not establish that it is true.

The timeline is a view inside Claims & evidence. Edits outside a quote can be re-pinned explicitly; an edited quote stays in review, because only you can decide whether the meaning survived. Follow the research workflow.

Claim timeline placing dated claims on a shared axis
Watch the chronology walkthrough. Timeline · Claims and evidence · Review · Visual reference.

Choose a project and its settings

Lixity keeps manuscript analysis, research and project settings in three clear views. Open a folder, confirm the language, and adjust detection thresholds when you need to.

Project data, publication details and detection thresholds live with the project. The article's own decisions stay yours.

Set up your first project
Project and settings view with manuscript import, language, title and detection thresholds
Project and settings, including the language and threshold controls. Open project · Mobile.

Read a report in the terminal

Every dashboard view has a command-line counterpart: JSON for your own scripts, Markdown and PDF for reading, and a single-file HTML report you can send to others.

Use lixity about --json to inspect languages, features and thresholds; the Python API and the HTTP interface share the same contracts.

Browse the command reference
Terminal report with sentence lengths, readability and vocabulary measures
A terminal report excerpt. Style report · Research output.

Open an image to see it at full size. Examples use public-domain literature or synthetic project records. More views and capture details

Used while writing a debut novel.

Matthias Fahsold developed Lixity at ROST Services GmbH and used it while writing his own debut novel. He is the software architect and developer behind the product.

Product, JSON and archive versions are independent; research workflows and compatibility are documented separately, and the validation register states what the numbers do not establish.

Read a complete example

Two public-domain novels analysed offline: an interactive excerpt of the opening chapters plus the complete PDF report. No installation, no account, no upload.

Start with a practical guide

New here? The three-minute first look needs no setup. These guides assume no technical background; the developer reference for commands, JSON contracts and architecture is linked in the page footer and in the documentation map.

Compare analysis tools

Grammar checkers, corpus tools, stylometry packages and Lixity — which fits which job.

Install the current release

These terminal commands use uv to install the published package from PyPI with managed Python. No Git or separate Python install is needed; the installation guide covers Windows, macOS and Linux, the pinned release wheel with checksums, and updates or removal.

uv tool install --python 3.12 --managed-python lixity
uv tool update-shell

Open a new terminal, then verify and start the app:

lixity --version
lixity service start --open

The app starts an empty local workspace: choose Open Project or Analyze a manuscript, confirm the language and read a passage. English is the default; automatic detection is an explicit choice. Use lixity service status, lixity service restart or lixity service stop for the managed instance.

A scientific foundation, with stated limits

Lixity measures language patterns; it does not grade literary quality or prescribe a style. A deliberate change in voice, register or subject can explain a signal.

Chapter comparisons use the book's middle values and typical spread (median and MAD), with an adjustment for estimated sampling noise. Colours show the direction of a difference. Optional statistical checks mark a selection for review; you decide what the passages mean for the book.

German and English have the most extensive linguistic resources and language-specific fixtures. French, Spanish, Italian, Portuguese and Dutch also have localized interfaces and analysis resources, with narrower heuristic coverage and validation. Mathematical identifiers stay language-neutral.

Formulas and sources · Language support · Validation and limitations

Python API and automation contracts
from lixity import api

html = api.dashboard(text, language="de", project_config={})

Use api.analyze for metrics or api.fingerprint for a style reference. Each convenience call runs its own analysis; reuse analyze_document results when an integration needs several outputs. Analysis/profile JSON uses schema v2; style JSON uses v4. Pass explicit settings for each project. Interface contracts · Architecture.

Common questions

Does my manuscript leave my computer?

Built-in analysis and dashboard generation run on your computer without cloud calls. Optional integrations and separately configured workers have their own setup and data handling.

Will Lixity change my prose?

Analysis describes patterns and links to passages. It does not rewrite prose. Review notes and research decisions are actions you choose yourself.

Can a high score prove that a book is good?

No. A number describes one measured aspect of this text under particular assumptions. Read the affected passages and consider their purpose. Short texts, dialect, historical spelling and mixed languages need particular care.

License and contact

Open source under the AGPL-3.0-or-later. Use Lixity freely for private and commercial writing, research and teaching — including self-publishing your book; no extra permission is needed. If you distribute Lixity or a modified version, the AGPL requires that recipients receive the corresponding source under the same license.

A separate written commercial license is available for integrations that cannot meet the AGPL, for example embedding Lixity in a closed-source product or running a modified version as a network service without releasing its source.

Licensing guide · Full terms · Commercial enquiries

Maintainer: Matthias Fahsold, Hamburg, Germany. Project operator: ROST Services GmbH, Rümpel, Germany.

Legal notice

ROST Services GmbH
Dorfstraße 36
23843 Rümpel, Germany
Phone: 04531 6677725
Email: info@rost-services.de

Managing directors: René Fromhagen, Timo Helmsing.
Commercial register: Local Court of Lübeck, HRB 23529 HL.
VAT identification number: DE360042691.

We are neither required nor willing to participate in dispute resolution proceedings before a consumer arbitration board.