Bento-grid layout with Hero, person image, projects, about, and contact sections
bentofolio — Next.js Portfolio Template
By mkhoirulwafa18
Bentofolio is an animated bento-grid personal portfolio template built with Next.js 15, React 19, Tailwind CSS v4, and Motion, with content centralized in the src/lib/constants directory for easy modification.
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 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Uses Next.js 15 (Turbopack), React 19, Tailwind CSS v4, and Motion animations
Content is centralized in the src/lib/constants directory, making it easy to replace personal information and project data
Customize theme colors and spacing via CSS variables in src/app/globals.css
Uses next/font to load the local Gilroy font and supports replacing font files in public/fonts
The README lists ARIA accessibility features and SEO metadata configuration notes
Template Details
Bentofolio is a personal portfolio website template that uses a bento-grid layout, and the README describes it as aimed at developers and designers who want to showcase their work. The template uses Next.js 15 (Turbopack), React 19, Tailwind CSS v4, Motion (Framer Motion API), Lucide React icons, and the clsx and tailwind-merge utility libraries. The page structure includes components such as HeroSection, PersonImageSection, ProjectsSection, AboutContactSection, Navbar, MobileNav, HamburgerButton, and ContactModal, with navigation state managed by the useNavigation hook. The README lists responsive layout, Next.js-based SEO optimization, CSS variable theme customization, next/font local font optimization, and ARIA accessibility features. Content is centralized under src/lib/constants in siteContent.ts, contact.ts, socials.ts, projects.ts, and navItems.ts; style variables are in src/app/globals.css; font files are in public/fonts; and images are in public/person2.jpg and public/projects. The README does not specify deployment platform configuration, the meaning of environment variables, or actual production behavior, and only provides script commands such as npm run build and npm run start.
Is it right for your project?
Use Cases
- Developers or designers building a personal portfolio page to showcase projects and contact information
- A static personal homepage that needs a bento-grid layout and Motion animation effects
- Projects that want to separate content from components and centrally manage personal data through constants files
- Front-end practice for secondary development based on Next.js 15 and Tailwind CSS v4
Suitable For
- Front-end developers familiar with Next.js and React
- Personal portfolio users who need customizable themes and content structure
- Learners who want to reference bento-grid layout and Motion animation implementation approaches
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 18 or higher, plus npm or yarn
- 2
After cloning the repository, run npm install or yarn install to install dependencies
- 3
Copy .env.example to .env.local and edit the configuration as needed
- 4
Run npm run dev to start the development server, accessible by default at http://localhost:3000
- 5
Run npm run build to build the production version, and npm run start to start the production server
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete 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 and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
https://github.com/mkhoirulwafa18/bentofolio/blob/master/LICENSEhttps://github.com/mkhoirulwafa18/bentofolio/blob/master/README.mdPermission is hereby granted, free of charge
Original License Text
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 · 82 / 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
- 2025-09-10
- 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: 49b62366ca37a472394a36da6cb07440508f7d5c311cf1dc3d302ec36b3a3b6e
2026-10-14T11:38:13.591Z
Source file / repository<div align="center"> # 🍱 Bentofolio [](https://opensource.org/licenses/MIT) [](https://nextjs.org/) [](https://reactjs.org/) [](https://tailwindcss.com/) A modern, animated bento-style portfolio template built with cutting-edge web technologies. Perfect for developers and designers who want to showcase their work with style. [View Demo](https://lavanya-bentofolio.vercel.app) · [Report Bug](https://github.com/mkhoirulwafa18/bentofolio/issues) · [Request Feature](https://github.com/mkhoirulwafa18/bentofolio/issues) </div> ## ✨ Preview <p align="center"> <video src="docs/preview/lavanya-bento-preview.webm" autoplay loop muted playsinline alt="Bentofolio — homepage overview"></video> </p> ## 📸 Screenshots <p align="center"> <img src="docs/preview/lavanya-bento-desktop.png" alt="Home Desktop" width="40%" /> <img src="docs/preview/lavanya-bento-desktop-contact.png" alt="Contact modal Desktop" width="40%" /> </p> <p align="center"> <img src="docs/preview/lavanya-bento-tab.png" alt="Home Tab" width="28%" /> <img src="docs/preview/lavanya-bento-tab-contact.png" alt="Contact modal Tab" width="28%" /> <img src="docs/preview/lavanya-bento-mobile.png" alt="Home Mobile" width="18%" /> <img src="docs/preview/lavanya-bento-mobile-contact.png" alt="Contact modal Mobile" width="18%" /> </p> ## 🚀 Features ### Core Features - 📱 Fully responsive bento-grid layout - 🎯 SEO optimized with Next.js - 🎨 Modern UI with Tailwind CSS - ✨ Smooth animations powered by Motion - 📦 Zero-config deployment ### Technical Highlights - 🔥 Server-side rendering with Next.js 15 - 🎭 Animated interactions via Motion variants - 📱 Mobile-first responsive design - ♿ ARIA-compliant accessibility features - 🎨 Custom theming with CSS variables - 🔤 Local font optimization with `next/font` ## 🛠️ Tech Stack - **Framework:** Next.js 15 (Turbopack) - **UI Library:** React 19 - **Styling:** Tailwind CSS v4 - **Animation:** Motion (Framer Motion API) - **Icons:** Lucide React - **Utilities:** clsx, tailwind-merge ## 📦 Getting Started ### Prerequisites - Node.js 18 or later - npm or yarn package manager ### Installation 1. Clone the repository ```bash git clone https://github.com/mkhoirulwafa18/bentofolio.git cd bentofolio ``` 2. Install dependencies ```bash npm install # or yarn install ``` 3. Set up environment variables ```bash cp .env.example .env.local ``` Then edit `.env.local` with your configuration 4. Start the development server ```bash npm run dev # or yarn dev ``` 5. Open [http://localhost:3000](http://localhost:3000) in your browser ### Build for Production ```bash npm run build # or yarn build ``` ## 📁 Project Structure ``` bentofolio/ ├── public/ │ ├── fonts/ # Local Gilroy font files │ ├── projects/ # Project thumbnail images │ ├── svgs/ # SVG icons and graphics │ └── person2.jpg # Profile image ├── src/ │ ├── app/ │ │ ├── globals.css # Global styles and CSS variables │ │ ├── layout.tsx # Root layout with metadata │ │ └── page.tsx # Home page composition │ ├── components/ │ │ ├── AboutContactSection.tsx │ │ ├── ContactModal.tsx │ │ ├── HamburgerButton.tsx │ │ ├── HeroSection.tsx │ │ ├── MobileNav.tsx │ │ ├── Navbar.tsx │ │ ├── PersonImageSection.tsx │ │ └── ProjectsSection.tsx │ ├── hooks/ │ │ └── useNavigation.ts # Navigation state management │ └── lib/ │ ├── animation/ # Motion variants and animations │ ├── constants/ # Centralized data (contact, projects, etc.) │ └── utils/ # Utility functions ├── .gitignore ├── eslint.config.mjs ├── next.config.ts ├── package.json ├── postcss.config.mjs ├── README.md └── tsconfig.json ``` ## 🔧 Available Scripts - `npm run dev` - Start development server with Turbopack - `npm run build` - Build for production with Turbopack - `npm run start` - Start production server - `npm run lint` - Run ESLint for code quality ## 🎨 Customization ### Content Management All content is centralized in `src/lib/constants/` for easy customization: - **Hero Content**: Edit `src/lib/constants/siteContent.ts` - **Contact Info**: Edit `src/lib/constants/contact.ts` - **Social Links**: Edit `src/lib/constants/socials.ts` - **Projects**: Edit `src/lib/constants/projects.ts` - **Navigation**: Edit `src/lib/constants/navItems.ts` ### Styling & Theming - **CSS Variables**: Modify `src/app/globals.css` for colors and spacing - **Fonts**: Replace files in `public/fonts/` and update `src/app/layout.tsx` - **Images**: Replace `public/person2.jpg` and project images in `public/projects/` ### SEO & Metadata Update metadata in `src/app/layout.tsx` for: - Page title and description - Open Graph tags - Twitter card settings - Author information ## 🤝 Contributing Contributions are welcome! Please follow these steps: 1. **Fork the repository** ```bash git clone https://github.com/mkhoirulwafa18/bentofolio.git ``` 2. **Create a feature branch** ```bash git checkout -b feature/amazing-feature ``` 3. **Install dependencies** ```bash npm install ``` 4. **Make your changes** - Follow the existing code style - Add comments for complex logic - Test your changes locally 5. **Commit your changes** ```bash git commit -m "feat: add amazing feature" ``` 6. **Push to your branch** ```bash git push origin feature/amazing-feature ``` 7. **Open a Pull Request** ### Development Guidelines - Use TypeScript for type safety - Follow the existing component structure - Maintain responsive design principles - Test on multiple screen sizes - Ensure accessibility standards ## 📄 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ### MIT License Summary - ✅ Commercial use - ✅ Modification - ✅ Distribution - ✅ Private use - ❌ Liability - ❌ Warranty ## 🙏 Acknowledgments - [Next.js](https://nextjs.org/) - The React framework for production - [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework - [Motion](https://motion.dev/) - Animation library - [Lucide React](https://lucide.dev/) - Beautiful & consistent icons - [Vercel](https://vercel.com/) - Deployment platform --- <div align="center"> <p>Made with ❤️ by <a href="https://github.com/mkhoirulwafa18">Wafastarz</a></p> <p>⭐ Star this repo if you found it helpful!</p> </div>
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
