NoteShip - Shareable Public Pages From Obsidian Notes Instantly
Your Obsidian note is brilliant. Your client cannot open a .md file. NoteShip turns any Obsidian markdown paste into a shareable, readable public URL in one click — like Notion public pages but for people who actually write in Obsidian.
Difficulty
beginner
Category
Productivity
Market Demand
High
Revenue Score
7/10
Platform
Web App
Vibe Code Friendly
⚡ YesHackathon Score
6/10
Validated by Real Pain
— seeded from real developer complaints
Obsidian users on r/ObsidianMD regularly ask how to share notes with people who do not use Obsidian, describing the Obsidian Publish price as too high for occasional sharing and the plugin setup as too complex for non-technical colleagues.
What is it?
Obsidian has no native sharing or publishing feature without self-hosting Obsidian Publish at $20/month. When knowledge workers finish a research note or meeting summary, they hit a wall: the recipient needs a browser link, not a markdown file attachment. NoteShip solves this with a paste-to-publish flow: paste markdown, get a public URL with clean rendering in under 5 seconds. Optional password protection and expiry links make it professional enough for client use. Monetize at $5/month for unlimited links with custom slugs. Fully buildable with Next.js dynamic routes and Supabase in one weekend.
Why now?
Obsidian hit 1M users in early 2026 with sharing still requiring a $20/month plugin or CLI self-hosting — the gap between note creation and note sharing has never been wider or more complained about in the community.
- ▸Paste Obsidian markdown and receive a public shareable URL in under 5 seconds.
- ▸Optional password protection and link expiry for sensitive client-facing notes.
- ▸Clean rendered public page with Obsidian callout blocks and backlink display.
- ▸Dashboard showing all active links with view counts and expiry status.
Target Audience
Obsidian users who share research notes or meeting summaries with non-Obsidian collaborators — estimated 150k such users based on Obsidian Publish's limited adoption despite high demand.
Example Use Case
Marcus, a UX researcher, pastes his 1,200-word research synthesis into NoteShip, shares the link with his product team on Slack, and everyone reads it in their browser without needing an Obsidian vault.
User Stories
- ▸As an Obsidian user, I want to share a note
- ▸as a public URL without installing a plugin, so that my client can read it instantly in their browser.
- ▸As a researcher, I want my shared note to expire after 7 days, so that sensitive information does not remain public indefinitely.
- ▸As a paid subscriber, I want a custom slug like noteship.io/my-project-brief, so that my shared links look professional.
Acceptance Criteria
Publish Flow: done when a pasted note generates a working public URL in under 5 seconds. Public Rendering: done when all Obsidian callout types render correctly on the public page. Password Protection: done when a password-protected link prompts for password before showing content. Dashboard: done when user can see all their links with view counts and delete any link.
Is it worth building?
$5/month x 300 subscribers = $1,500 MRR at month 3. Math assumes 1% conversion from Obsidian subreddit and Discord with active posting.
Unit Economics
CAC: $0 via organic Reddit. LTV: $60 (12 months at $5/month). Payback: immediate. Gross margin: 93%.
Business Model
Freemium ($5/month for unlimited links, custom slugs, password protection)
Monetization Path
Free tier: 5 active public links. Paid: unlimited links, custom slugs, expiry dates, password protection.
Revenue Timeline
First dollar: week 2 via beta upgrade. $1k MRR: month 3. $3k MRR: month 7.
Estimated Monthly Cost
Vercel: $20, Supabase: $25, Resend: $10, Stripe fees: ~$15. Total: ~$70/month at launch.
Profit Potential
Lifestyle-business viable at $2k–$4k MRR.
Scalability
Medium — add team workspaces, custom domains, and analytics in V2.
Success Metrics
Week 1: 200 signups, 50 links created. Month 2: 100 paid subscribers, 85% monthly retention.
Launch & Validation Plan
Post a working demo link in r/ObsidianMD, measure clicks and return visits over 72 hours before adding payments.
Customer Acquisition Strategy
First customer: share a live demo note created with NoteShip in r/ObsidianMD and ask if people would pay $5/month for this — collect email signups before launch. Ongoing: Obsidian Discord, SEO on 'share obsidian notes online' (1,800 monthly searches), ProductHunt.
What's the competition?
Competition Level
Low
Similar Products
Obsidian Publish at $20/month requires vault sync. Notion public pages require content migration. HedgeDoc is self-hosted only — none offer paste-and-share with zero setup.
Competitive Advantage
No vault setup, no plugin required, works from any device including iOS, $15/month cheaper than Obsidian Publish.
Regulatory Risks
Low regulatory risk. GDPR: provide link deletion and data export. Moderate content moderation risk for public pages — add abuse reporting endpoint.
What's the roadmap?
Feature Roadmap
V1 (launch): paste-to-URL, password protection, expiry, link dashboard. V2 (month 2-3): view analytics, custom slugs, link theming. V3 (month 4+): custom domains, team workspaces, embed widget.
Milestone Plan
Phase 1 (Week 1): publish flow working, public render page live, deployed to Vercel. Phase 2 (Week 2): Stripe billing, dashboard, password protection, Reddit launch. Phase 3 (Month 2): 100 paid subscribers, expiry notifications via Resend.
How do you build it?
Tech Stack
Next.js, Supabase, marked.js, Stripe, Resend — build with Cursor for API routes, v0 for public note rendering page.
Suggested Frameworks
marked.js, Supabase JS, Stripe
Time to Ship
1 week
Required Skills
Next.js dynamic routing, Supabase CRUD, Stripe billing.
Resources
Supabase quickstart, marked.js docs, Next.js dynamic routes guide, Stripe billing docs.
MVP Scope
pages/index.tsx, pages/[slug].tsx (public note page), pages/api/publish.ts, pages/api/links.ts, lib/markdownParser.ts, lib/supabase.ts, components/NoteRenderer.tsx, supabase/schema.sql.
Core User Journey
Paste markdown -> click Publish -> copy shareable URL -> recipient reads clean note in browser in under 5 seconds.
Architecture Pattern
User pastes markdown -> Supabase inserts note row with generated slug -> public page at /[slug] fetches and renders -> optional password check middleware -> view count incremented on load.
Data Model
User has many Notes. Note has one slug, one markdown content, optional password hash, optional expiry date, and many ViewEvents.
Integration Points
Supabase for note storage and auth, Stripe for subscription billing, Resend for link expiry email notifications, Vercel for hosting.
V1 Scope Boundaries
V1 excludes: custom domains, team workspaces, embedded images, version history, and mobile app.
Success Definition
A stranger shares a NoteShip link with a colleague who has never heard of Obsidian, and the colleague reads and bookmarks the note without any confusion.
Challenges
Obsidian Publish ($20/month) is the obvious competitor and already has brand recognition — NoteShip must win on simplicity and price, not features. Distribution outside the Obsidian subreddit is unclear.
Avoid These Pitfalls
Do not build custom domain support before reaching 50 paid users — it triples complexity. Do not store raw markdown permanently without a clear deletion UX or you will get GDPR requests. Finding first 10 paying users will take longer than building — budget 3x more time on Obsidian community presence than on rendering features.
Security Requirements
Supabase Auth with Google OAuth. RLS on notes table — users read own rows only. Public page bypasses RLS via service role for slug lookup. Rate limit 10 publishes/hour per IP. Password stored as bcrypt hash.
Infrastructure Plan
Vercel for Next.js. Supabase for Postgres and auth. GitHub Actions for CI. Sentry for errors. No file storage in V1.
Performance Targets
50 DAU at launch, 200 public page views/day. Public note page load under 1s (static ISR). API response under 300ms. CDN caches all public note pages at edge.
Go-Live Checklist
- ☐Security audit complete
- ☐Payment flow tested end-to-end
- ☐Sentry live
- ☐Vercel analytics on
- ☐Custom domain with SSL
- ☐Privacy policy and terms published
- ☐5 beta users signed off
- ☐Rollback plan documented
- ☐Reddit and ProductHunt posts drafted.
How to build it, step by step
1. Run npx create-next-app noteship --typescript. 2. Install marked, @supabase/supabase-js, stripe, resend. 3. Create Supabase table: notes (id, user_id, slug, content, password_hash, expires_at, created_at). 4. Build paste UI with publish button in v0. 5. Create pages/api/publish.ts to insert note and return generated slug. 6. Build pages/[slug].tsx to fetch note, check password if set, and render with marked.js. 7. Add Supabase Auth with Google OAuth for account creation. 8. Integrate Stripe billing for unlimited links plan. 9. Build dashboard page listing user's active links with view counts. 10. Deploy to Vercel and post demo link in r/ObsidianMD.
Generated
April 9, 2026
Model
claude-sonnet-4-6