modern-portfolio GitHub Details, Stars and Alternatives | OpenRepoFinder
al-husayn / repository
modern-portfolio
This is a modern, animated, and fully responsive portfolio built with Nextjs, TypeScript, Tailwind CSS, and Framer Motion. It's designed to be easily customizable and provides a great starting point for developers who want to create a stunning personal portfolio
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
72
Community adoption25% weight
0
Maintenance state20% weight
100
License clarity10% weight
100
Project information10% weight
100
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Modern & Animated Portfolio Template
This is a modern, animated, and fully responsive portfolio built with Next.js, TypeScript, Tailwind CSS, Framer Motion, Fumadocs MDX, and EmailJS. It includes a content-driven blog, project showcase, contact form, and centralized data structure for easy customization.
Features
Modern UI/UX: Clean and visually appealing design.
Smooth Animations: Engaging animations powered by Framer Motion.
Responsive Design: Looks great on all devices, from mobile to desktop.
Easy to Customize: All portfolio data is centralized in a single file for easy updates.
MDX Blog: Publish technical articles with frontmatter metadata, tags, reading time, and generated blog routes.
SEO Metadata: Blog posts generate article metadata from their MDX content.
Component-Based: Built with reusable React components.
Getting Started
Prerequisites
Node.js (v18 or higher)
pnpm
Installation
Clone the repository:
git clone https://github.com/al-husayn/modern-portfolio.git
cd modern-portfolio
Install dependencies:
pnpm install
Run the development server:
pnpm dev
The application will be available at http://localhost:3000.
Building for Production
To create a production build, run:
pnpm build
This will create an optimized Next.js production build.
Customization
All the data for the portfolio (personal information, projects, skills, etc.) is located in data/index.ts. You can easily customize the content by modifying this file.
data/index.ts
This file exports a DATA object that contains all the information for your portfolio. Here's a breakdown of the structure:
ALGORITHMICALLY RELATED
Similar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
This is a fast, responsive, and modern personal portfolio built using React + Vite with TypeScript for type safety. The UI is styled using Tailwind CSS for a clean and minimal design. The contact form is fully functional, powered by EmailJS to send emails directly without a backend. The site showcases my skills, projects, and resume in a profession
home: Content for the home page, including the hero section, skills overview, and testimonials.
about: Information for the about page, including your profile, education, experience, and technologies.
projects: A list of your featured projects, including details, images, and links.
contact: Contact information and the Google Maps source for the contact page.
pageHeaders: Professional heading content for the inner pages.
blog: Shared blog page copy used by the blog metadata and intro section.
navigation: The links for the main navigation menu.
footer: Content for the footer, including social links and services.
Simply update the values in this file to personalize your portfolio.
Blog
Blog posts are written in MDX and live in content/blog. Each post uses frontmatter for metadata such as title, description, date, author, readingTime, and tags.
This template uses Email.js for handling contact form submissions without a backend. To set it up:
Create an Email.js account: If you don't have one, sign up at Email.js.
Create a new Email Service: Go to Email Services and add a new service (e.g., Gmail, Outlook). Follow the instructions to connect your email account.
Create a new Email Template: Go to Email Templates and create a new template. You can use the default template or customize it. Make note of your Template ID.
Get your Public Key: You can find your Public Key under Account -> API Keys.
Configure Environment Variables: Create a .env.local file in the root of your project (if it doesn't exist) and add the following environment variables:
Replace your_service_id, your_template_id, and your_public_key with the values from your Email.js account.
In your EmailJS template settings:
Set From Name to {{sender_name}}
Set Reply-To to {{sender_email}}
Note: for Gmail/Outlook services, the actual From email address is usually your connected service account. Reply-To is what ensures replies go to the visitor's email.
Restart your development server: After adding the environment variables, restart your development server (pnpm dev) for the changes to take effect.
This is a personal portfolio website for Arjun Kadam, a Full Stack Developer. It's built with React, TypeScript, and styled with Tailwind CSS. The project includes animations using Framer Motion and a functional contact form powered by EmailJS.
Astro Artfolio Website is a visually stunning and responsive portfolio website built using the Astro Framework. This project showcases artwork in an elegant, modern design while ensuring fast performance and an excellent user experience.