ContentKit
Blog starter with headless CMS integration, draft previews, and scheduled publishing
ContentKit is a freemium SvelteKit 5 starter for blog projects. Built with postgres-other, prisma, tailwind, vercel. 280 GitHub stars. Actively maintained.
ContentKit bridges the gap between developer blogs (markdown in a repo) and enterprise CMS platforms (WordPress, Ghost). It gives content editors a visual editing interface through Sanity Studio while keeping the frontend a fast, type-safe SvelteKit app.
The Sanity integration goes deeper than most tutorials show. Draft previews render unpublished content in a side-by-side view. Scheduled publishing sets a future publish date and automatically triggers a Vercel rebuild. Content relations (categories, tags, authors) are all structured and queryable.
What stands out
The editorial workflow. Editors get a proper writing environment — rich text, image uploads, drag-and-drop block reordering, and inline previews. They can save drafts, request reviews, and schedule publications without touching code or understanding Git.
GROQ queries (Sanity’s query language) are type-safe throughout. The starter generates TypeScript types from your Sanity schema, so content queries in your SvelteKit load functions catch type errors at build time.
Where it could improve
Sanity’s free tier includes 100K API requests/month and 500MB of assets. For a popular blog, you’ll hit those limits within months. The paid plan ($99/month for the Team tier) changes the economics significantly — budget for it.
The ISR (Incremental Static Regeneration) setup is tightly coupled to Vercel. If you want to deploy to Cloudflare Pages or Netlify, you’ll need to rework the revalidation strategy. A more portable approach would strengthen this starter.
Tech Stack
Strengths
- Sanity Studio embedded in the app — editors never leave the site
- Draft preview mode shows unpublished changes in real-time
- Scheduled publishing with automatic deployment triggers
- GROQ queries are type-safe with generated TypeScript types
Weaknesses
- Sanity has a learning curve for non-technical editors
- Free tier limits make Sanity expensive at scale
- Vercel-specific ISR setup doesn't port to other hosts easily
Best for
Content teams that need a CMS with editorial workflow while keeping the developer experience in SvelteKit
Not ideal for
Solo developer bloggers — markdown files are simpler if you're the only author