VaultHost — Self-Hosted Obsidian Sync for iOS Users Who Refuse to Pay the Obsidian Tax
Obsidian Sync costs $4-10/month for what is essentially file hosting — VaultHost is a $3/month hosted alternative that speaks Obsidian's sync protocol natively, works on iOS, and stores your vault on your own S3 bucket.
Difficulty
intermediate
Category
Productivity
Market Demand
High
Revenue Score
6/10
Platform
Web App
Vibe Code Friendly
No
Hackathon Score
5/10
Validated by Real Pain
— sourced from real community discussions
Obsidian iOS users cannot sync with remote network vaults and are forced to pay for Obsidian Sync or use iCloud, which frequently causes conflicts and data loss on mobile.
What is it?
Obsidian's iOS sync gap is a years-long Reddit thread of frustrated power users who are forced into expensive Obsidian Sync or iCloud-only workflows that break constantly. VaultHost is a Node.js backend that implements Obsidian's LiveSync protocol, stores vault files in Cloudflare R2, and lets iOS users connect via the community LiveSync plugin — no iCloud, no Obsidian subscription. At $3/month it undercuts Obsidian Sync by 25-70% and targets users who are already willing to pay. Buildable in 1 week using CouchDB (which the LiveSync plugin already supports) hosted on a $6/month Fly.io instance per user tenant, with a Next.js management dashboard for non-technical users.
Why now?
The Obsidian LiveSync community plugin crossed 100k installs in early 2026, proving massive demand for CouchDB-based sync that any hosted provider can now serve with zero protocol work.
- ▸One-click CouchDB tenant provisioning per user on Fly.io (Implementation note: Fly.io Machines API to spin instance on signup)
- ▸Obsidian LiveSync plugin config pre-filled and downloadable in one click
- ▸Cloudflare R2 vault file backup with 30-day history
- ▸Stripe billing dashboard with vault storage usage display
Target Audience
Obsidian iOS power users — estimated 200k active mobile users, 40k+ of whom have complained about sync cost on Reddit and the Obsidian forum.
Example Use Case
Priya, an Obsidian daily-driver who uses iPhone and MacBook, sets up VaultHost in 10 minutes via the dashboard, installs the LiveSync community plugin, and her vault syncs seamlessly — for $1 less per month than Obsidian's own solution.
User Stories
- ▸As an Obsidian iOS user, I want managed CouchDB sync without self-hosting, so that my vault stays current across iPhone and Mac without technical setup.
- ▸As a frugal knowledge worker, I want Obsidian sync for $3/month instead of $10, so that I stop paying the official tax for a solved problem.
- ▸As an Obsidian power user, I want 30-day vault history, so that I can recover accidentally deleted notes without panic.
Done When
- ✓Provisioning: done when user completes Stripe checkout and dashboard shows a live CouchDB URL within 60 seconds.
- ✓Config download: done when user clicks download and gets a valid LiveSync JSON config that works when pasted into the Obsidian plugin without edits.
- ✓iOS sync: done when a note created on iPhone appears on the dashboard's vault file list within 30 seconds.
- ✓Backup: done when dashboard shows last backup timestamp and user can download a vault ZIP from the R2 backup.
Is it worth building?
$3/month × 500 users = $1,500 MRR. $7/month × 100 power users = $700. Realistic month-3 target: $1,800-2,500 MRR with low churn due to sync lock-in.
Unit Economics
CAC: $3 via Reddit organic posts. LTV: $108 (36 months at $3/month, high retention). Payback: 1 month. Gross margin: 82%.
Business Model
SaaS subscription, $3/month for 1 vault, $7/month for 3 vaults.
Monetization Path
14-day free trial. Paid gate triggers on first sync after trial. High retention expected — users do not migrate sync tools often.
Revenue Timeline
First dollar: week 2 via beta conversion. $1k MRR: month 2. $5k MRR: month 10 at steady community growth.
Estimated Monthly Cost
Fly.io per-tenant CouchDB: $6/user (batched to $0.012/user at scale), Cloudflare R2: $5 flat, Vercel: $20, Stripe fees: ~$15 at $500 revenue. Total at launch: ~$80/month.
Profit Potential
$2k-4k MRR at 600 users. Low churn makes this a durable small business.
Scalability
Medium — scale CouchDB instances per tenant on Fly.io, add team vault sharing in V2.
Success Metrics
Week 1: 20 beta signups from r/ObsidianMD. Month 1: 50 paying. Month 3: 200 paying with under 5% monthly churn.
Launch & Validation Plan
Post in r/ObsidianMD offering free 60-day beta, recruit 20 users willing to connect iOS, confirm sync works across devices before charging anyone.
Customer Acquisition Strategy
First customer: post a detailed setup comparison on r/ObsidianMD showing VaultHost vs Obsidian Sync vs iCloud with screenshots of the iOS experience. Ongoing: Obsidian forum, YouTube Obsidian tutorial channels, SEO on 'obsidian ios sync alternative'.
What's the competition?
Competition Level
Low
Similar Products
Obsidian Sync ($4-10/month) is the direct competitor but official. Self-hosted CouchDB requires technical skill. Remotely Save plugin uses S3 directly but has no managed option — VaultHost fills the managed non-technical gap.
Competitive Advantage
Obsidian LiveSync self-hosting requires technical setup that most users cannot complete — VaultHost is the managed version of the same protocol at a lower price.
Regulatory Risks
GDPR compliance required — user vault data is personal. Data processing agreement and deletion endpoint mandatory for EU users. No HIPAA required.
What's the roadmap?
Feature Roadmap
V1 (launch): CouchDB provisioning, LiveSync config, R2 backup, Stripe billing. V2 (month 2-3): 3-vault plan, version history browser. V3 (month 4+): end-to-end encryption, team shared vaults.
Milestone Plan
Phase 1 (Week 1): CouchDB provisioning and config generation working. Phase 2 (Week 2): Stripe billing, dashboard live, 10 beta iOS users syncing. Phase 3 (Month 2): 50 paying users, R2 backup running nightly.
How do you build it?
Tech Stack
Node.js, CouchDB on Fly.io, Cloudflare R2, Next.js dashboard, Stripe — build with Cursor for backend, v0 for dashboard UI.
Suggested Frameworks
Express.js, PouchDB, Fly.io CLI
Time to Ship
1 week
Required Skills
Node.js, CouchDB protocol, Fly.io deployment, Stripe billing.
Resources
Obsidian LiveSync plugin GitHub, CouchDB docs, Fly.io quickstart, Cloudflare R2 docs.
MVP Scope
app/page.tsx (landing), app/dashboard/page.tsx (vault management), app/api/provision/route.ts (Fly.io tenant spin-up), app/api/webhook/route.ts (Stripe webhook), lib/flyio.ts (Fly.io Machines API client), lib/db/schema.ts (user and vault schema), components/ConfigDownload.tsx (LiveSync config generator), .env.example (FLY_API_TOKEN, STRIPE keys, R2 keys).
Core User Journey
Sign up -> Stripe checkout -> dashboard shows pre-filled LiveSync config -> paste into Obsidian plugin -> vault syncs on iOS in under 10 minutes.
Architecture Pattern
User signs up -> Stripe creates subscription -> Fly.io Machines API provisions CouchDB tenant -> dashboard generates LiveSync config JSON -> user pastes into Obsidian plugin -> sync begins -> R2 backup runs nightly.
Data Model
User has one Vault. Vault has fly_instance_id, couch_url, couch_password, r2_bucket_path, storage_bytes_used. Subscription has stripe_customer_id, plan, status.
Integration Points
Fly.io Machines API for CouchDB tenant provisioning, Cloudflare R2 for vault backup, Stripe for subscriptions, Supabase for user records, Resend for onboarding email.
V1 Scope Boundaries
V1 excludes: team vault sharing, end-to-end encryption layer, mobile management app, Obsidian plugin fork.
Success Definition
A non-technical Obsidian iOS user sets up VaultHost without any founder help, syncs their vault across iPhone and Mac, and stays subscribed for 6+ months.
Challenges
Obsidian could officially improve their iOS sync at any time and cut demand — this is a platform-dependency risk that cannot be engineered away. First 100 users require trust-building in a community that has been burned by fly-by-night sync tools.
Avoid These Pitfalls
Do not build a custom sync protocol — use CouchDB and the existing LiveSync plugin which already has 100k+ installs and a trust track record. Do not launch without iOS testing on a real device with a real vault.
Security Requirements
Supabase Auth for dashboard login, CouchDB credentials unique per tenant and stored encrypted, Stripe webhook signature verified, GDPR data deletion removes Fly.io instance and R2 bucket.
Infrastructure Plan
Vercel for Next.js dashboard, Supabase for user data, Fly.io for per-tenant CouchDB, Cloudflare R2 for backups, GitHub Actions for deploy, Sentry for errors.
Performance Targets
50 DAU at launch, provisioning completes under 30 seconds, dashboard loads under 1s, sync latency under 5 seconds for typical vault size under 500MB.
Go-Live Checklist
- ☐iOS sync tested on real iPhone with 500+ note vault.
- ☐Stripe webhook provisioning verified end-to-end.
- ☐Sentry error tracking live.
- ☐Fly.io instance auto-restart on crash configured.
- ☐Custom domain with SSL live.
- ☐Privacy policy with GDPR terms published.
- ☐10 beta users confirmed stable sync for 7 days.
- ☐Rollback: Vercel instant rollback and Fly.io snapshot restore documented.
- ☐r/ObsidianMD launch post drafted with iOS screenshot proof.
First Run Experience
On first run: dashboard shows a demo vault card with fake CouchDB URL and a sample LiveSync config download button. User can immediately: download the sample config and see what the setup looks like. No manual config required: demo mode shows the full UI without completing payment.
How to build it, step by step
1. Define Drizzle schema for User, Vault, Subscription in lib/db/schema.ts. 2. Set up Fly.io account and test manual CouchDB deploy via flyctl. 3. Build Fly.io Machines API client in lib/flyio.ts that provisions a CouchDB instance per user. 4. Build Stripe Checkout API route and webhook handler that triggers provisioning on payment success. 5. Build LiveSync config JSON generator in components/ConfigDownload.tsx. 6. Build dashboard page showing vault status, storage usage, and config download button. 7. Set up Cloudflare R2 bucket and nightly backup script using rclone. 8. Add Resend onboarding email with setup video link sent on provisioning success. 9. Build landing page with Obsidian Sync price comparison table using v0. 10. Verify: complete signup, payment, provisioning, config download, and confirm iOS sync works end-to-end on a real iPhone.
Generated
May 16, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.