Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Full-stack Next.js 13 portfolio template with Supabase CMS, Flowbite UI, and step-by-step tutorial

Free responsive one-page HTML5 template from HTML5 UP for full-screen portfolio and photography showcases.

Minimal animated portfolio and blog theme built with Astro, Tailwind, and TypeScript.

A static HTML portfolio template for developers, optimized for SEO and hosted on GitHub Pages.

Ego is a one page portfolio site template developed with Gatsby + TinaCMS.

Simple and convenient profile & project theme based on Jekyll
Simple Portfolio with CMS (CWNTFS) is a full-stack Next.js 13 portfolio starter that combines a public portfolio site with a Supabase-powered content management system, delivered as a step-by-step tutorial by saikise.
This template is a GitHub repository that demonstrates how to build a portfolio with an integrated CMS using the Next.js App Router, Tailwind CSS, Flowbite UI components, and Supabase for database, storage, and authentication. It takes project records stored in a Supabase PostgreSQL database and renders them as a portfolio; whitelisted admin users can sign in and add or edit projects through the same app. The project runs on Node.js 16.8 or later and is deployable to Vercel, with a live demo linked in the documentation.
/sign-up and /sign-in, plus portfolio views; routing and data fetching follow App Router conventions.Sidebar.tsx) intentionally omits auth navigation buttons.app/auth/sign-in/route.ts and app/auth/sign-up/route.ts.npx supabase start.gh repo create <repo-name> --public --template=saikise/simple-portfolio-with-cms-cwntfs.npm i to install dependencies.npx supabase login, then npx supabase start to launch local Supabase services (config is already set up).npm run dev to start the development server.Yes, the repository is public on GitHub with no license or payment requirement. You will need your own Supabase project and hosting (such as Vercel) to run it in production.
Yes, Docker Desktop is listed as a prerequisite because npx supabase start runs local Supabase services in containers.
Yes, the whitelist logic is in app/auth/sign-in/route.ts and app/auth/sign-up/route.ts. Editing those files changes which email addresses can gain admin access.
The README states that auth links are intentionally left out of Sidebar.tsx because authentication is exclusive to the portfolio owner. Users must visit /sign-up and /sign-in manually via the address bar.
