Keep the researcher in control.
Family records can include living people and disputed relationships. ForeLoom keeps each tree in a separate local SQLite database. Import, editing, review, and backup work without a cloud account. Outside research sends a query only when the user starts a search and chooses a source. Optional explanations use a locally running Ollama model; the model does not edit the tree.
Import. Review. Undo.
I replayed the flow with a small fictional GEDCOM. Its one person, Mara Vale, has two birth entries: “ABT 1880” in Eastford and “1881” in Westford, each attributed to a fictional source label. These are demonstration records, not historical evidence.
Preview and import
The native preview reported one person, no relationships, and two sources. Import created a separate tree and retained the original GEDCOM. The UI showed completion while other trees remained available.
Inspect the conflict
A deterministic rule flagged the two birthplace entries and displayed both places and dates. It invited review because historical names or boundaries might explain the difference.

Make a bounded decision
I selected Eastford as the display place and classified Westford as an unresolved conflict. Neither source fact was deleted or declared true. The reviewer could also dismiss the issue without changing the records.

Review and reverse
Marking the variation reviewed cleared it from the open queue. Change history recorded the decision and offered Undo. I used Undo and confirmed the same issue returned to Review.


This is a before-and-after research decision, not a discovery of Mara Vale’s true birthplace.
Local first, reversible by design.
The path is React UI → typed Tauri commands → Rust rules and transactions → per-tree SQLite. Import and backup use local files. Costly import and tree-loading commands run off the command runtime, with progress or loading states in the UI.
- Rules before AI. The issue queue works offline and is reproducible. AI can optionally explain a flag but cannot silently rewrite the tree.
- Preserve uncertainty. “ABT 1880” stays approximate, and classifying a birthplace conflict keeps both recorded facts.
- Protect imported data. Preview warns about unsupported data; import creates a new tree and preserves the input instead of publishing a partial failed import.
- Guard undo. Approval checks current tree state, and undo avoids overwriting later edits.
Responsiveness on very large trees remains an evaluation task.
What the evidence supports.
The fictional GEDCOM imported; the birthplace conflict was reviewed and undone in the demonstrated flow.
Selected automated fixtures cover import preservation, conservative date checks, and safe undo. They are not a real-world compatibility benchmark.
RootsMagic, Gramps, FamilySearch, and MyHeritage document features overlapping the proposed paid position. This was a source-based review, not a hands-on quality comparison.
A narrower record-location task might support a paid product. Buyer demand and paid conversion have not been validated.
On November 11, 2026, the desktop repository recorded 49 passing JavaScript tests, a passing build with a large-chunk warning, and 33 passing Rust tests with one ignored real-export audit. These checks do not establish Windows readiness, representative GEDCOM compatibility, cross-machine backup recovery, screen-reader quality, Ollama model quality, or customer impact.
Why I paused monetization.
RootsMagic documents problem searches, Gramps documents detailed source management, FamilySearch offers AI-assisted full-text search, and MyHeritage says GAIA weighs conflicting evidence. Their documented claims weakened the proposed paid cleanup and generic AI positions; they do not establish how well each product works for every researcher.
Ancestry’s GEDCOM guidance says media files are absent and uploading a corrected file creates another tree rather than updating the original. That made a seamless round trip a poor promise. I withdrew the proposed price, checkout, and launch work and kept ForeLoom noncommercial while investigating a narrower record-location problem. No candidate has yet passed a demand, workflow, data-access, and paid-intent validation gate.