Built with Next.js App Router, Tailwind CSS, and shadcn/ui
minimal-portfolio-template — Next.js Portfolio Template
By SublimeAli
A minimal portfolio template for designers and developers, built on Next.js, Tailwind CSS, and shadcn/ui, organized as a Turborepo monorepo, with content driven by portfolio.ts and MDX.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Uses MDX to manage blog and project content
Turborepo monorepo structure with apps/web and packages/ui workspaces
Landing page content maintained in a single file: apps/web/data/portfolio.ts
Supports quickly creating a new project via degit or GitHub Use this template
Released under the MIT license and available as a free download
Template Details
This is a template for building a personal portfolio website. The README states it is aimed at designers and developers, designed and developed by Ali Madjaji, and available as a free download. The stack is Next.js (App Router), Tailwind CSS, and shadcn/ui; blog and project content uses MDX; the whole thing is organized as a Turborepo monorepo containing two workspaces: apps/web and packages/ui.
There are two ways to use it: create a new repository via GitHub's Use this template button, or pull a clean working tree with degit and then run npm install and npm run dev. It requires Node.js 20 or later and uses npm (npm workspaces plus Turborepo). Local development starts at http://localhost:3000 by default.
Customization is concentrated in apps/web/data/portfolio.ts; almost all visible information on the landing page (name, role, bio, projects, contact details) is driven by that file. Images go in apps/web/public/images/, and the default hero visual is apps/web/public/ali.webp. Blog posts and projects are added via MDX files under apps/web/content/blog and apps/web/content/projects, and SEO metadata is edited in apps/web/app/layout.tsx. The README specifically notes that the bottom banner credits the template author and is part of the template; when publishing a portfolio, keep it visible. It can be edited in apps/web/components/banner.tsx.
For deployment, the README recommends zero-config Vercel deployment: push the repository, import it at vercel.com/new, and set the Root Directory to apps/web. Netlify, Cloudflare Pages, or self-hosting (running npm run build && npm start under apps/web) are also viable, and no environment variables are required. The template is released under the MIT license. The README does not provide information about performance, accessibility, browser compatibility, or test coverage.
Is it right for your project?
Use Cases
- Designers building a personal portfolio and project showcase page
- Developers organizing project case studies alongside an MDX blog
- Front-end projects that need a monorepo structure with reusable UI components
- Deploying to Vercel, Netlify, Cloudflare Pages, or a self-hosted server
Suitable For
- Front-end developers familiar with Next.js and React
- Designers who want to manage portfolio content centrally in a single file
- Blog and project showcase scenarios that need an MDX writing workflow
- Users who accept keeping the template author's credit banner
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 20 or later and uses npm (npm workspaces + Turborepo)
- 2
Recommended: use GitHub's Use this template button, or run npx degit SublimeAli/minimal-portfolio-template my-portfolio followed by git init, npm install, and npm run dev
- 3
After cloning the repository, run npm install and npm run dev, then visit http://localhost:3000
- 4
Edit content in apps/web/data/portfolio.ts, place images in apps/web/public/images/, and put blog and project MDX in apps/web/content/blog and apps/web/content/projects
- 5
For Vercel deployment, set the Root Directory to apps/web; for self-hosting, run npm run build && npm start under apps/web, with no environment variables required
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone is not sufficient to determine this.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
- The template's bottom banner credits the template author and is part of the template; if you publish a portfolio, keep it visible (it can be edited in apps/web/components/banner.tsx).
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
https://github.com/SublimeAli/minimal-portfolio-template/blob/main/LICENSEhttps://github.com/SublimeAli/minimal-portfolio-template/blob/main/README.md- **Banner** — the bottom banner credits the template author and is part of the template; please keep it visible if you publish your portfolio. You can edit it in `apps/web/components/banner.tsx`.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-14. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 80 / 100
- Technologies
- Next.js · React
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-04-09
- Screenshot last checked
- 2026-10-14
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: codex-user-requested-batch-review-20261015 · 2026-10-15
Inspect the recorded source material
SHA-256: d1993ada4bb3075f304f497e7d52511592425a89cad08e0e11d19294d02a124e
2026-10-14T18:36:53.172Z
Source file / repository# Minimal Portfolio Template A minimal portfolio template for designers and developers, built with Next.js, Tailwind CSS, and shadcn/ui in a Turborepo monorepo. Designed and developed by **[Ali Madjaji](https://www.alimadjaji.com)** — free to download at [alimadjaji.com/templates](https://www.alimadjaji.com/templates).  ## Stack - Next.js (App Router) - Tailwind CSS + shadcn/ui - MDX for blog and project content - Turborepo monorepo (`apps/web`, `packages/ui`) ## Use this template The fastest way is the green **Use this template** button at the top of this repo — it creates a fresh repository on your account with a clean commit history. Prefer the command line? `degit` strips the `.git` folder and gives you a pristine working tree: ```bash npx degit SublimeAli/minimal-portfolio-template my-portfolio cd my-portfolio git init npm install npm run dev ``` ## Requirements - Node.js **≥ 20** - npm (this repo uses **npm workspaces** + Turborepo) ## Getting started If you've cloned the repo directly instead of using one of the options above: ```bash npm install npm run dev ``` Then open [http://localhost:3000](http://localhost:3000). ## Customizing your portfolio - **Content** — edit `apps/web/data/portfolio.ts` to update your name, role, bio, projects, and contact info. Almost everything visible on the landing page is driven from this single file. - **Images** — drop your own assets into `apps/web/public/images/` (e.g. `hero.svg`, `project-01.svg`, `blog-01.svg`) and reference them as `/images/your-file.svg` from `portfolio.ts` and your MDX frontmatter. The default hero (`/ali.webp`) lives directly in `apps/web/public/` — replace it with your own photo and update `portfolio.heroImage`. - **Blog & projects** — add MDX files under `apps/web/content/blog` and `apps/web/content/projects`. - **SEO metadata** — update title, description, and OpenGraph tags in `apps/web/app/layout.tsx`. - **Banner** — the bottom banner credits the template author and is part of the template; please keep it visible if you publish your portfolio. You can edit it in `apps/web/components/banner.tsx`. ## Adding shadcn components ```bash npx shadcn@latest add button -c apps/web ``` Components are placed in `packages/ui/src/components` and imported via `@workspace/ui/components/<name>`. ## Deploy The fastest way is Vercel (zero config): 1. Push this repo to GitHub. 2. Go to [vercel.com/new](https://vercel.com/new) and import the repo. 3. Vercel auto-detects Next.js. Set the **Root Directory** to `apps/web`. 4. Click Deploy. Netlify, Cloudflare Pages, or self-hosting (`npm run build && npm start` from `apps/web`) all work too — no environment variables required. ## License Released under the [MIT License](./LICENSE). --- © [Ali Madjaji](https://www.alimadjaji.com) · [alimadjaji.com](https://www.alimadjaji.com)
Explore similar templates
Compare previews and descriptions within the same stack and category.

react-resume-template
A personal resume website template for software developers, built with Next.js, React, and TypeScript and styled with Tailwind CSS. Site content is driven by a single data file at /src/data/data.tsx, with types in dataDef.ts and images in src/images/.
Next.js · Portfolio

nxt-lnk
nxt-lnk is a Next.js-based bio link page template that manages personal information and links via BioData.js and LinksData.js, positioned as a self-hosted alternative to Linktree. It groups links by type, supports enabling/disabling individual links, and offers hexagonal or oval avatars.
Next.js · Portfolio

sylph
Sylph is a minimal portfolio and blog template built on Next.js, supporting MDX/Markdown writing, light/dark themes, and automatic OG image generation. It includes sitemap, robots.txt, metadata, and syntax highlighting, with automatic blog timestamps.
Next.js · Portfolio

sleek-portfolio
A modern, responsive portfolio template built with Next.js 15, TypeScript, Tailwind CSS, and Shadcn UI. It includes an MDX blog, project showcase, work experience timeline, and a contact form that receives messages via Telegram Bot.
Next.js · Portfolio

research-website-template
A React + Next.js template for research personal websites, aimed at PhD students and researchers. It centralizes publications, projects, and other content in src/data as arrays of objects, with optional fields automatically generating UI components.
Next.js · Portfolio

shadcn-portfolio
A developer portfolio template built with Next.js 15, shadcn/ui, Tailwind CSS, and Framer Motion, featuring an MDX blog, light and dark modes, responsive design, and SEO meta tags.
Next.js · Portfolio
