A new open-source project called My Study Notes is aiming to give developers a self-hostable alternative to Notion for building personal knowledge bases and blogs. Posted on Hacker News by developer terrydjony, the project lets you run a full-featured block editor with nested page hierarchies, real-time sync, and SEO-friendly publishing—all behind a single-owner authentication model that keeps editing locked to one account.
The Block Editor Experience
The app uses BlockNote for its rich text capabilities, supporting headings, lists, checkboxes, code blocks, images, and more. Slash commands let you quickly insert blocks by typing "/", while a custom page link command makes it easy to reference other notes inline. The sidebar supports drag-and-drop reordering via @dnd-kit, letting you organize notes into arbitrarily deep tree structures.
Real-Time Sync with Convex
Every change syncs instantly through Convex, the real-time database and serverless functions platform backing the app. This means multiple sessions stay in sync without polling or manual refreshes—a significant advantage over traditional CMS setups that rely on static generation. The backend also handles authentication verification server-side using Clerk's JWT template system.
Security Model: One Owner, Public Reads
The single-owner architecture is worth highlighting for anyone concerned about access control. Anyone can read published notes at /notes/
Image Storage and SEO Features
Cover images and inline uploads go to Cloudflare R2 using presigned URLs, meaning large files never touch your Next.js server. On the publishing side, each note can be exposed as a public page with auto-generated Open Graph and Twitter cards via Satori, JSON-LD structured data, canonical tags, sitemap.xml, and robots.txt—all the machinery you need for discoverability.
Tech Stack Breakdown
The project runs Next.js 16 with App Router and React Server Components, TypeScript throughout, Tailwind CSS plus shadcn/ui and Radix UI for components, Zustand for client state management, lucide-react for icons, sonner for toasts, zod for validation, emoji-picker-react for icon selection, and react-dropzone for file uploads. Deployment targets Vercel for the frontend with Convex handling production functions.
Getting Started Requirements
You'll need Node.js 18+, a Convex account, a Clerk application with Google OAuth enabled, and a Cloudflare R2 bucket configured with a public development URL or custom domain. The setup guide walks through cloning the repo, provisioning Convex dev deployment, configuring Clerk JWT templates, setting environment variables in both .env.local and Convex's dashboard, and finally running locally at localhost:3000.
Key Takeaways
- Self-hostable Notion alternative with full block editor via BlockNote
- Real-time sync powered by Convex eliminates manual refreshes
- Single-owner model keeps editing locked while allowing public reads
- SEO-ready publishing with OG cards, JSON-LD, sitemap.xml built in
- MIT licensed, deployable to Vercel with production Convex backend
The Bottom Line
My Study Notes hits a sweet spot for developers who want Notion's editing experience but need full data ownership and deployment flexibility. The single-owner constraint might feel limiting for team use cases, but it simplifies the security model considerably—and for personal knowledge bases, that's probably the right call anyway.