Sunnyside

Sunnyside

A company profile website for a creative agency.

Short Explanation

Sunnyside is a company profile website created as part of a code challenge at Purwadhika Digital Technology School, where I completed a full-stack web development course. The challenge required building a multi-page website for a creative agency, adhering to Core Web Vitals metrics for performance. Sunnyside features a responsive design and provides an overview of the company, its team, and services, with data dynamically fetched for team members. This project helped solidify my front-end development skills and improve my understanding of performance optimization.

Project Goals

The primary goal of Sunnyside was to create a visually appealing and highly performant website that communicates the company’s mission, values, and services effectively. Key objectives included:

Tech Stack Used

Next.js and TailwindCSS were the technologies chosen for developing the Sunnyside company profile website, ensuring a balance between performance, modern design, and development speed.

This combination of technologies ensured that Sunnyside met both functional and performance requirements, delivering an engaging and smooth user experience.

Screenshots

ss1
ss2ss3ss4ss5ss6

Worth to Note

Real-World Use Case Implementation

The Sunnyside project demonstrated the ability to build a real-world company profile website. It required balancing design aesthetics with performance optimization to achieve a high Core Web Vitals score.

First Use of Core Web Vitals Metrics

This project was my first exposure to Core Web Vitals, which provided insights into website performance and user experience. By addressing metrics such as LCP, FID, and CLS, I learned how to optimize loading times, improve interactivity, and minimize layout shifts effectively.

Fetching and Rendering External Data

For the Teams Page, I integrated an external API, Random User API, to dynamically fetch and display team member information. This implementation demonstrated my ability to work with APIs and render data seamlessly.

Challenges and Solutions

Balancing Design and Performance

Creating a visually appealing website while maintaining high performance scores on PageSpeed Insights. I optimized images using responsive formats, and used TailwindCSS to implement lightweight, responsive designs.

Fetching Team Data from an API

The challenge was dynamically rendering team member data using the Random User API while ensuring performance and responsiveness, which I addressed by fetching the data using React's fetch, managing the API response with efficient state handling, and styling the output to align with the overall design aesthetics.

Lesson Learned

1. Optimizing for Core Web Vitals

This project introduced me to performance optimization techniques, enhancing my ability to create websites that not only look good but also load quickly and provide a smooth user experience.

2. Practical API Integration

Implementing the Teams Page helped me strengthen my understanding of API integration and dynamic rendering in React.

3. Focus on User Experience

Designing Sunnyside required a balance between aesthetics and usability. This project reinforced the importance of creating user-centric interfaces that are both functional and engaging.