Nassila (ناسيلا) is a Windows desktop app that helps you clean and check a reference list before you submit — not a full reference manager, but a quality pass on citations you already have.
Verify your references. Ground your claims.
The last check before you submit — bibliography, registries, and source-backed writing.
Import or paste your bibliography, fix common errors, verify rows against Crossref / PubMed / OpenAlex, flag predatory journals, remove duplicates, and export in thousands of CSL styles.
| Download (Windows) | v1.2.1 · Latest release |
| Sanad models (HF) | nassila-sanad-e4b · nassila-sanad-12b — setup on the website |
| Website & docs | nassila-web.vercel.app — How-to · User guide · Changelog |
| Documentation (repo) | How-to guide · User guide · Brand · Changelog |
| License | MIT |
End users: install from Releases (v1.2.1) or visit the website. Developers: clone this repo and see Getting started.
The name Nassila is coined, inspired by the idea of a sanad (سند): a clear chain from what you write to where it came from.
- Audit in-progress panel — cited-sources table grows during the run; detail panel stays locked until the audit finishes.
- DOI↔title conflict — manual-only — verify no longer auto-patches conflict rows; choose keep-title (find DOI) or keep-DOI (update title).
- Shortcuts — Ctrl/Cmd+Enter runs audit; Copy evidence and Jump to Bibliography on findings.
- Icon polish (I2) — toast, network, dropdown, toolbar, and source-link affordances.
Full notes: CHANGELOG.md · v1.2.1 release notes.
- Students and researchers preparing a thesis or manuscript reference list
- Anyone exporting from Zotero, Mendeley, or EndNote who wants validation and registry checks before submission
- Editors who need a quick predatory-journal screen and duplicate detection on a batch of references
- Import or paste — BibTeX, RIS, CSL-JSON, plain text, DOCX/PDF reference sections, or manager exports
- Validate — missing fields and style-specific issues (works offline)
- Autocorrect — DOI formats, capitalization, page ranges, medRxiv/bioRxiv DOI canonicalization, and more
- Verify references — one action: resolve each row to Crossref, PubMed, or OpenAlex (L1), then compare your metadata to the canonical record (L2), with safe auto-patches when registries agree (up to 200 prioritized rows per run)
- Predatory journal scan — match journal titles against bundled and updatable predatory/pseudo-journal lists
- Deduplicate and export — formatted bibliography in APA, IEEE, Vancouver, Chicago, Harvard, MLA, Nature (bundled), or any style from the Zotero CSL repository
- Manuscript loop (Ouroboros) — upload or paste a manuscript, verify cited references (L1/L2), fetch open-access source text where available, and optional Sanad passage grounding (L3) — manuscript guide
Privacy: list editing and validation work offline. Registry verification, DOI lookup, predatory-list sync, and manuscript source fetch use the network only when you run those actions.
| Area | Capability |
|---|---|
| Parsing | BibTeX, RIS, CSL-JSON, plain text, URL-only webpages, DOCX/PDF reference extraction (PDF uses column-aware layout) |
| Resolution | DOI, ISBN, PMID, URL → Crossref, PubMed, Open Library |
| Verification | Unified L1+L2 registry check (main-process IPC in packaged app), up to 200 rows per run |
| Integrity | Predatory/suspicious journal flags, duplicate groups with merge |
| Manuscript | Ouroboros loop: L1/L2 verify, OA source fetch, optional Sanad L3 (HF models) |
| Output | CSL formatting, undo/redo, dark/light mode, EN/AR UI |
- Node.js 18+
- npm 9+
npm install
npm run devnpm run icon:raster # once: generates build/icon.png
npm run build
npm run build:win # → dist/Nassila Setup <version>.exeOther targets: npm run build:mac, npm run build:linux, npm run build:unpack (unpacked Windows folder for testing).
npm testElectron · React 19 · TypeScript · Tailwind · citeproc-js · Zustand · Vitest
