Most projects don't need a dedicated content management platform.
Recently, I experimented with using a Notion database as a lightweight CMS for a Next.js application. The objective was simple: allow content to be managed in Notion while keeping the website statically generated.
The architecture ended up being much simpler than I expected.
Architecture
Notion Database
↓
Notion API
↓
Next.js App Router
↓
Static Pages
↓
Deployment
Content authors work entirely in Notion, while Next.js fetches the data during build time and generates static pages.
Why Use Notion?
The biggest advantage is that Notion already provides an interface that people are comfortable with. There's no admin dashboard to build, no authentication layer to maintain, and no additional infrastructure to manage.
For many projects, that's enough.
What Works Well
Simple Content Management
Content editors don't need access to the codebase. Everything is managed from Notion.
Fast Development
Instead of spending time building internal tooling, development can focus on the actual product.
Static Generation
Using generateStaticParams() with the App Router allows pages to be generated ahead of time, resulting in good performance and SEO.
Low Operational Cost
The stack remains minimal:
- Next.js
- Notion API
- Vercel
For smaller projects, this is often sufficient.
Where It Falls Short
API Performance
The Notion API is noticeably slower than dedicated headless CMS platforms. Caching becomes important as content grows.
Limited Querying
Complex filtering and relationships are possible, but they aren't particularly elegant.
Build Times
Large databases can increase build times because content is fetched during static generation.
Content Discipline Matters
Without clear conventions, databases can quickly become inconsistent. Naming standards and property definitions are important.
When I'd Use This
I think this approach works well for:
- Blogs
- Documentation sites
- Portfolios
- Landing pages
- Small business websites
- Internal knowledge bases
When I Wouldn't
I probably wouldn't choose it for:
- E-commerce applications
- Large editorial teams
- Complex relational data models
- High-frequency content updates
- Real-time applications
In those cases, platforms like Sanity, Contentful, or Strapi provide much better tooling.
Final Thoughts
Not every problem requires a sophisticated CMS.
Sometimes a Notion database and a few API calls are enough to deliver a clean and maintainable solution.
The combination of Notion and Next.js isn't the most powerful content architecture available, but for the right use case, it's difficult to argue against its simplicity.
Top comments (0)