Overview
This project was to create a dynamic, stylish, and functional website for MR4, a musician, composer, and audio engineer. The website serves as both a personal showcase and a platform for MR4’s music, with interactive elements such as a discography page and individual album pages.
Technologies used:
- Frontend: React, Next.js, CSS modules, and custom components.
- Backend: Next.js API routes (for dynamic album data).
- Design: Clean, minimalist, and dark theme inspired by the artist’s branding and style.
- Icons: Custom social media icons for integration.
- Responsive Design: Fully responsive design, optimized for both desktop and mobile views.
Main Features
- Homepage Design
The homepage features a bold and minimalist design, with MR4’s logo at the top, social media icons on the right, and a profile section introducing MR4.- Dynamic Social Media Icons: Icons change color on hover and provide direct links to MR4’s profiles across platforms (Spotify, YouTube, Twitch, Instagram, etc.).
- Discography: Display of MR4’s albums with titles that change dynamically as the user hovers over them.
- Album Links: Users can click on album covers to navigate to individual album pages.
- Discography Page
This page showcases all of MR4’s albums in a grid. The album titles dynamically change when hovering over an album, displaying the name of the album in real-time. - Album Pages
- Dynamic Album Data: Each album page displays a banner image, album cover, and a detailed description.
- Tracklist: A list of tracks with an optional feature for downloading.
- Interactive Layout: The page is designed with a visually engaging layout, matching the aesthetics of the music and MR4’s branding.
Design Process
- Dark Mode: Following the artist’s branding, the site uses a dark theme to give a sleek, modern look, with vibrant accents that highlight key areas such as album covers and links.
- Responsive Design: The design is responsive, ensuring an optimal viewing experience across all devices.
- User Experience (UX): The social media icons are arranged in a grid pattern and provide interactive hover effects, enhancing the user experience.
Challenges and Solutions
- Dynamic Content: One of the challenges was designing the dynamic album pages with unique content per album. We used Next.js with its dynamic routing and API routes to load album data from a central location and display it dynamically based on the URL.
- Image Handling: The album covers and banners had to be responsive and fit well in different screen sizes. We used
object-fitandmax-widthto ensure they scale properly without losing quality.
Screenshots
- Homepage
- Showcasing MR4’s profile and social media icons.
- Discography Page
- Grid of album covers with hover effects that display album titles.
- Album Page
- Banner and detailed album information with interactive elements.
Outcome
This website was designed to not only showcase MR4’s music but to provide an engaging, user-friendly interface for fans. The project successfully incorporated dynamic album pages, smooth hover interactions, and a seamless connection to MR4’s social media profiles.
Future Enhancements
- Add Album Streaming Integration: A feature where users can listen to the tracks directly on the website (via Spotify, Apple Music, etc.).
- E-commerce Integration: Potential to add a store page where users can purchase MR4’s music or merchandise.
Project Link and Contact Information
- MR4 Music Website
- Contact: You can reach out to me for web development, design, or other creative solutions through my Contact Page.
Reflection
This project not only allowed me to work with Next.js and React but also gave me an opportunity to experiment with dynamic content loading and hover interactions to create an engaging and interactive user experience. I thoroughly enjoyed working on the visual aesthetics to match the artist’s branding and ensure that the site was both functional and visually appealing.
Tags: Next.js, React, Web Design, Portfolio, Music Website, Responsive Design, Hover Effects

Welcome to the MR4 Music Website Built with NextJS
This project was to create a dynamic, stylish, and functional website for MR4, a musician, composer, and audio engineer. The website serves as both a personal showcase and a platform for MR4’s music, with interactive elements such as a discography page and individual album pages.
After discussing his needs, we decided to build his website using Next.js, leveraging its powerful features like dynamic routing and server-side rendering for optimal performance. This approach not only promises to improve the site’s functionality but also will provide the ability to easily scale as his music career grows.
Tech Stack Overview:
Dynamic Routing: Next.js’s dynamic routing is used to serve album pages based on the albumId in the URL.
Next.js: The project is built with Next.js, a React framework that enables server-side rendering and static site generation. This allows for fast page loads and better SEO.
React: Components are written in React, making it easier to manage the dynamic parts of the page (such as the Discography and Album Pages).
CSS Modules: For styling, we are using CSS modules, which scope styles to individual components, preventing global style conflicts.
React Hooks: We are using React hooks (useState, useRouter) to handle dynamic content and interactivity, such as changing album titles on hover.


General Program Structure:
The code behind this website is organized into several main sections:
Album.module.css: Used for styling the album detail pages.
Pages:
pages/index.js: The home page, where the main content is displayed (intro, discography, etc.).
pages/album/[albumId].js: Dynamic album pages that display album details based on the album selected in the Discography.
Components:
Header.js: Contains the MR4 logo and social media icons. It’s used across multiple pages to provide consistent navigation and branding.
MainContent.js: Displays the main content area of the homepage, including the artist’s bio and social media links.
Discography.js: Displays the albums and links to individual album pages.
Footer.js: If needed in the future, it can be used to add footer content (currently not used).
Styles:
Header.module.css: Styles for the header component, including the logo and social media links.
MainContent.module.css: Styles for the main content, including the bio and social media links.
Discography.module.css: Styles for the discography section, including grid layout for album covers.

This is the main page of the MR4 website, designed to promote the artist and showcase his music, albums, and social media.
