Skip to content

Commit 97ddea1

Browse files
committed
docs: add GOALS.md describing project goals
1 parent bcc473f commit 97ddea1

4 files changed

Lines changed: 59 additions & 3 deletions

File tree

.changelog/v0.8.4.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# v0.8.4
2+
3+
## Added
4+
- GOALS.md documenting project goals: local ancestry ownership, tree visualization, sparse trees, and cross-platform data curation

GOALS.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Goals
2+
3+
SparseTree exists to give genealogy researchers full ownership of their family tree data, free from the limitations of any single platform.
4+
5+
## Own Your Ancestry Data
6+
7+
Genealogy platforms like FamilySearch, Ancestry, WikiTree, and 23andMe each hold fragments of your family history. SparseTree downloads and normalizes data from all of them into a single local SQLite database, giving you a unified, offline-capable record of your direct lineage that you control.
8+
9+
- Download ancestors from any supported provider via browser automation
10+
- Store everything locally: people, relationships, life events, photos, sources
11+
- Canonical identity system (ULIDs) that maps to every provider's IDs
12+
- No vendor lock-in: your data lives on your machine in open formats (SQLite + JSON)
13+
14+
## Visualize Your Tree
15+
16+
Multiple visualization modes let you explore your ancestry in the way that makes the most sense for the question you're asking.
17+
18+
- **Fan Chart** -- radial view with paternal/maternal lineage coloring
19+
- **Horizontal Pedigree** -- classic left-to-right ancestor expansion
20+
- **Vertical Family** -- top-down generational layout
21+
- **Generational Columns** -- side-by-side generation comparison
22+
- **Focus Navigator** -- single-person deep dive
23+
- **Migration Map** -- plot ancestors on a world map with migration lines and time filtering
24+
25+
## Build Sparse Trees
26+
27+
Not every ancestor is equally interesting. The sparse tree feature lets you mark favorites (royalty, immigrants, revolutionaries, founders, notable figures) and generate simplified visualizations that skip uninteresting generations, showing only the lineage paths that matter to you.
28+
29+
- Tag ancestors with categories (royalty, immigrant, revolutionary, founder, notable)
30+
- Add personal notes explaining why someone is interesting
31+
- Generate pedigree views that collapse intermediate generations
32+
- Sparse tree migration maps showing only your curated ancestors
33+
34+
## Curate and Correct Data Across Platforms
35+
36+
Provider data is often incomplete, inconsistent, or wrong. SparseTree treats itself as the canonical source of truth and every provider as a downstream data source, letting you compare, correct, and push changes back.
37+
38+
- **Side-by-side comparison** of person data across all linked providers
39+
- **Field-level diff** showing matches, differences, and missing data per provider
40+
- **Local overrides** that survive re-downloads from providers
41+
- **Bidirectional sync** -- download from providers, upload corrections back via browser automation
42+
- **Explicit apply** -- downloaded provider data is never auto-applied; you choose what to accept
43+
- **Photo management** -- download, compare, and upload photos across platforms
44+
- **Parent discovery** -- automatically find and link provider-specific IDs for ancestors
45+
- **Hint automation** -- process free record hints on Ancestry automatically
46+
- **Data integrity dashboard** -- find orphaned edges, missing provider links, and stale records
47+
48+
## Non-Goals
49+
50+
- Replacing genealogy platforms -- SparseTree is a local toolkit, not a hosted service
51+
- Collaborative editing -- this is a single-user, local-first application
52+
- GEDCOM import/export -- not yet supported (may come later)

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sparsetree",
3-
"version": "0.8.3",
3+
"version": "0.8.4",
44
"private": true,
55
"description": "",
66
"main": "index.js",

0 commit comments

Comments
 (0)