Logo Lanfrica

Speechmoor/willa

Domaine:

natural language processing

Type de record:

software
Créateur:
Spe
Hôte:
Privacy-first, multilingual legal assistant for the South African Small Claims Court. Runs entirely on your own machine. # Willa Local-first drafting help for the South African Small Claims Court. One web page, a language selector, and a grounded letter of demand. No authentication, no database, no cloud. Everything runs on the machine it is installed on. After the initial fetch steps the application needs no network access. ## Quick start macOS or Linux. On Windows use WSL, or follow *Setup by hand* below, which works in PowerShell. You need Ollama, Python 3.11–3.13, and about 8 GB of free memory. 16 GB of RAM makes it comfortable. ```bash ollama serve # separate terminal, leave it running ./setup.sh --translate # drop --translate for English only ./run.sh # 127.0.0.1 ``` `setup.sh` creates the virtualenv, installs dependencies, pulls the models and builds the index. It is safe to re-run and skips anything already done. `./setup.sh --check` reports what is missing without changing anything, and `run.sh` calls it first so a missing dependency arrives as a checklist rather than as a traceback. Budget about 8.5 GB of model downloads, or 6 GB without `--translate`. After that the application needs no network access at all. **Drafting takes 40 to 60 seconds** on Qwen3-8B. That is the cost of running the model locally rather than calling an API, and it is discussed under *Known limitations*. The page shows progress; it has not hung. ## If you are evaluating this Start here, because it needs no models and finishes instantly: ```bash ./setup.sh --check # what is installed, what is not python scripts/check_rules.py # 26 statutory fixtures, 0.04 seconds ``` `check_rules.py` is the clearest thing in the repository. It exercises the jurisdiction gate in both directions: every rule fires when it should and stays silent when it should not, no letter is generated for a claim the court cannot hear, and every refusal carries a correction the claimant can act on. No model is involved, so the result is the same on ever …