{
  "slug": "notion-to-siyuan",
  "title": "Notion Plus to self-hosted SiYuan",
  "summary": "SiYuan runs on almost nothing. At one seat, that still may not be enough to beat paying Notion.",
  "publishable": true,
  "block_reason": null,
  "freshness": {
    "state": "fresh",
    "publishable": true,
    "oldest_input_days": 46.5,
    "problems": []
  },
  "incumbent": {
    "vendor": "Notion",
    "vendor_id": "notion",
    "plan": "Plus",
    "plan_id": "plus",
    "amount": 10,
    "period": "month",
    "per_seat": true,
    "billed": "annual",
    "seats": 1,
    "quote": "Plus $10 per member / month",
    "caveat": null,
    "source_url": "https://www.notion.com/pricing",
    "verified_at": "2026-10-19",
    "needs_reverification": false
  },
  "alternative": {
    "name": "SiYuan (self-hosted)",
    "repo": "siyuan-note/siyuan",
    "project": {
      "full_name": "siyuan-note/siyuan",
      "url": "https://github.com/siyuan-note/siyuan",
      "homepage": "https://b3log.org/siyuan",
      "description": "An open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间，让人与智能体在此协作",
      "stars": 46835,
      "forks": 3076,
      "open_issues": 12,
      "license": "AGPL-3.0",
      "archived": false,
      "pushed_at": "2026-10-19T10:13:22Z",
      "days_since_push": 0,
      "latest_release": {
        "tag": "v3.8.7",
        "published_at": "2026-10-14T03:24:20Z",
        "url": "https://github.com/siyuan-note/siyuan/releases/tag/v3.8.7"
      },
      "days_since_release": 5,
      "health": "active",
      "recommended": true,
      "verified_at": "2026-10-19T10:53:54.530Z"
    },
    "box": {
      "provider": "Linode",
      "name": "Nanode 1GB",
      "id": "linode:g6-nanode-1",
      "vcpu": 1,
      "ram_gb": 1,
      "disk_gb": 25,
      "bandwidth_tb": 0.98,
      "monthly_usd": 5,
      "url": "https://www.linode.com/pricing/",
      "verified_at": "2026-10-19T10:53:42.716Z"
    },
    "storage": {
      "id": "backblaze-b2",
      "name": "Backblaze B2",
      "usd_per_gb_month": 0.00695,
      "egress": "free up to 3x stored volume per month, then $0.01/GB",
      "pricing_url": "https://www.backblaze.com/cloud-storage/pricing",
      "quote": "the amount of data stored per byte-hour over the last month at a rate of $6.95/TB/30-day",
      "verified_at": "2026-09-03",
      "verified_by": "human",
      "affiliate": true,
      "gb": 15,
      "monthly_usd": 0.1
    },
    "requirements": {
      "ram_gb": 1,
      "vcpu": 1,
      "disk_gb": 20
    },
    "box_alternatives": [
      {
        "provider": "Vultr",
        "name": "vc2-1c-1gb",
        "monthly_usd": 5,
        "vcpu": 1,
        "ram_gb": 1,
        "disk_gb": 25,
        "url": "https://www.vultr.com/pricing/",
        "chosen": false
      },
      {
        "provider": "Linode",
        "name": "Nanode 1GB",
        "monthly_usd": 5,
        "vcpu": 1,
        "ram_gb": 1,
        "disk_gb": 25,
        "url": "https://www.linode.com/pricing/",
        "chosen": true
      },
      {
        "provider": "DigitalOcean",
        "name": "1 vCPU · 1 GB",
        "monthly_usd": 6,
        "vcpu": 1,
        "ram_gb": 1,
        "disk_gb": 25,
        "url": "https://www.digitalocean.com/pricing/droplets",
        "chosen": false
      }
    ],
    "migration_hours": 6,
    "maintenance_hours_per_month": 0.4
  },
  "result": {
    "computable": true,
    "inputs": {
      "seats": 1,
      "horizon_months": 36,
      "hourly_rate": 50
    },
    "incumbent": {
      "cash_monthly": 10,
      "time_monthly": 0,
      "monthly": 10,
      "one_time": 0,
      "annual": 120
    },
    "alternative": {
      "cash_monthly": 5.1,
      "time_monthly": 20,
      "monthly": 25.1,
      "one_time": 300,
      "cash_one_time": 0,
      "time_one_time": 300,
      "annual": 301.25
    },
    "delta": {
      "monthly": -15.1,
      "upfront_to_switch": 300,
      "annual": -181.25
    },
    "break_even_month": null,
    "break_even_hourly_rate": 8.64,
    "totals": {
      "at_12_months": {
        "incumbent": 120,
        "alternative": 601.25
      },
      "at_36_months": {
        "incumbent": 360,
        "alternative": 1203.75
      },
      "at_horizon": {
        "incumbent": 360,
        "alternative": 1203.75
      }
    },
    "savings": {
      "year_1": -481.25,
      "year_3": -843.75,
      "at_horizon": -843.75
    },
    "verdict": "stay"
  },
  "managed": null,
  "curve": [
    {
      "month": 0,
      "incumbent": 0,
      "alternative": 300
    },
    {
      "month": 1,
      "incumbent": 10,
      "alternative": 325.1
    },
    {
      "month": 2,
      "incumbent": 20,
      "alternative": 350.2
    },
    {
      "month": 3,
      "incumbent": 30,
      "alternative": 375.3
    },
    {
      "month": 4,
      "incumbent": 40,
      "alternative": 400.4
    },
    {
      "month": 5,
      "incumbent": 50,
      "alternative": 425.5
    },
    {
      "month": 6,
      "incumbent": 60,
      "alternative": 450.6
    },
    {
      "month": 7,
      "incumbent": 70,
      "alternative": 475.7
    },
    {
      "month": 8,
      "incumbent": 80,
      "alternative": 500.8
    },
    {
      "month": 9,
      "incumbent": 90,
      "alternative": 525.9
    },
    {
      "month": 10,
      "incumbent": 100,
      "alternative": 551
    },
    {
      "month": 11,
      "incumbent": 110,
      "alternative": 576.1
    },
    {
      "month": 12,
      "incumbent": 120,
      "alternative": 601.2
    },
    {
      "month": 13,
      "incumbent": 130,
      "alternative": 626.3
    },
    {
      "month": 14,
      "incumbent": 140,
      "alternative": 651.4
    },
    {
      "month": 15,
      "incumbent": 150,
      "alternative": 676.5
    },
    {
      "month": 16,
      "incumbent": 160,
      "alternative": 701.6
    },
    {
      "month": 17,
      "incumbent": 170,
      "alternative": 726.7
    },
    {
      "month": 18,
      "incumbent": 180,
      "alternative": 751.8
    },
    {
      "month": 19,
      "incumbent": 190,
      "alternative": 776.9
    },
    {
      "month": 20,
      "incumbent": 200,
      "alternative": 802
    },
    {
      "month": 21,
      "incumbent": 210,
      "alternative": 827.1
    },
    {
      "month": 22,
      "incumbent": 220,
      "alternative": 852.2
    },
    {
      "month": 23,
      "incumbent": 230,
      "alternative": 877.3
    },
    {
      "month": 24,
      "incumbent": 240,
      "alternative": 902.4
    },
    {
      "month": 25,
      "incumbent": 250,
      "alternative": 927.5
    },
    {
      "month": 26,
      "incumbent": 260,
      "alternative": 952.6
    },
    {
      "month": 27,
      "incumbent": 270,
      "alternative": 977.7
    },
    {
      "month": 28,
      "incumbent": 280,
      "alternative": 1002.8
    },
    {
      "month": 29,
      "incumbent": 290,
      "alternative": 1027.9
    },
    {
      "month": 30,
      "incumbent": 300,
      "alternative": 1053
    },
    {
      "month": 31,
      "incumbent": 310,
      "alternative": 1078.1
    },
    {
      "month": 32,
      "incumbent": 320,
      "alternative": 1103.2
    },
    {
      "month": 33,
      "incumbent": 330,
      "alternative": 1128.3
    },
    {
      "month": 34,
      "incumbent": 340,
      "alternative": 1153.4
    },
    {
      "month": 35,
      "incumbent": 350,
      "alternative": 1178.5
    },
    {
      "month": 36,
      "incumbent": 360,
      "alternative": 1203.6
    }
  ],
  "sensitivity": [
    {
      "hourly_rate": 0,
      "verdict": "switch",
      "break_even_month": 0,
      "savings_at_horizon": 176.25
    },
    {
      "hourly_rate": 25,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -333.75
    },
    {
      "hourly_rate": 50,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -843.75
    },
    {
      "hourly_rate": 75,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -1353.75
    },
    {
      "hourly_rate": 100,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -1863.75
    },
    {
      "hourly_rate": 150,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -2883.75
    },
    {
      "hourly_rate": 200,
      "verdict": "stay",
      "break_even_month": null,
      "savings_at_horizon": -3903.75
    }
  ],
  "tradeoffs": {
    "you_lose": [
      "Notion databases, relations and rollups",
      "Real-time collaboration — SiYuan is built for one person",
      "A polished web app; SiYuan is a desktop-first tool with a server mode"
    ],
    "you_gain": [
      "Block-level linking and backlinks that Notion does not do as well",
      "Local Markdown files you own outright",
      "A binary small enough to run on the cheapest box any provider sells"
    ]
  },
  "caveats": [
    "We expect this page to say stay, and it is here for that reason. One seat of Notion Plus is $120 a year, which is very hard to beat once your own hours are counted.",
    "SiYuan is single-user by design. If anyone else needs access, this comparison does not apply to you.",
    "Some SiYuan features are behind a paid cloud subscription of its own. The self-hosted core does not include them."
  ],
  "category": "docs-wiki",
  "updated_at": "2026-10-19"
}