I wanted a writing platform that felt calmer than a CMS dashboard but still had the real pieces: auth, editor, drafts, published posts, and public SEO pages.
How I fixed it
I built public blog pages and an admin area in Next.js, with Supabase for auth and data, Tiptap for the editor, category filters, and a dark minimal UI.
What it can do
✓Public blog index and detail pages
✓Category filtering
✓Supabase Auth
✓Admin post dashboard
✓Tiptap rich-text editor
✓Draft and publish flow
The stack that shipped it
Next.js handled public pages and admin routes cleanly. Supabase made auth and RLS straightforward, while Tiptap gave enough editor power without building one from scratch.
What changed
Writly demonstrates an end-to-end content product, from writing and publishing to reading and filtering posts.
What I learned
I learned that editor UX is full of small edges: empty states, formatting control, saved content shape, and how public pages render rich text safely.