On your computer
Nothing is uploaded, there is no account, and the analysis runs offline. Your manuscript never leaves the machine.
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.
Four choices shape every number and every screen.
Nothing is uploaded, there is no account, and the analysis runs offline. Your manuscript never leaves the machine.
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.
Each figure links to the paragraph behind it. You read, judge, and leave a note where you read.
Short chapters are marked "not comparable" instead of ranked. Signals support your review; they are not a quality score.
From install to your first reviewed passage.
uv tool install --python 3.12 --managed-python lixity, then lixity service start --open. Installation guide
Choose your manuscript folder. Lixity reads Markdown and keeps everything in place.
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 →
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 resultsThe 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 mapThe 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 listThe 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.
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 projectEvery 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.
Open an image to see it at full size. Examples use public-domain literature or synthetic project records. More views and capture details
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.
Two public-domain novels analysed offline: an interactive excerpt of the opening chapters plus the complete PDF report. No installation, no account, no upload.
Theodor Fontane's novel in German; the complete work ships as a PDF report.
Jane Austen's novel in English; the complete work ships as a PDF report.
Six invented chapters to explore every panel and interaction.
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.
Set up Lixity, create a report and return to an existing project.
Read language signals with their text requirements and limitations.
Grammar checkers, corpus tools, stylometry packages and Lixity — which fits which job.
Retain selected evidence, work with PDF scans and test a backup.
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.
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
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.
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.
Analysis describes patterns and links to passages. It does not rewrite prose. Review notes and research decisions are actions you choose yourself.
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.
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.
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.