Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted 3 months ago

Responsive MeetLandingPage using React Tailwind CSS and Framer Motion

motion, react, tailwind-css
P
tasosbeast•150
@tasosbeast
A solution to the Meet landing page challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

I'm most proud of the smooth animations I created using Framer Motion that enhance the user experience without overwhelming the interface. The staggered entrance animations, particularly in the Footer section, create a natural flow that guides users through the content. I'm also pleased with how I implemented responsive design, adapting the layout seamlessly from mobile to desktop while maintaining visual harmony across breakpoints.

The typewriter effect in the hero section adds a dynamic element that draws attention to the key value proposition, and the step indicators with their growing vertical lines and pulsing effects create visual interest that helps users track their progress through the page.

For next time, I would approach the animation planning more systematically from the beginning. While I'm happy with the final result, I ended up using a mix of animate and whileInView properties that could be more consistent. I would also implement a more structured animation system with reusable variants to maintain better code organization.

Additionally, I would explore more performance optimizations, particularly for mobile devices. Some of the animations could be lighter weight for better performance on lower-end devices. I'd also consider implementing more interactive elements that respond to user actions beyond simple hover states to create an even more engaging experience.

What challenges did you encounter, and how did you overcome them?

One of the most significant challenges I encountered was implementing the hero section's responsive image strategy. On mobile, I needed to display a single centered image, while on desktop, the design required two separate images positioned on either side of the content.

I solved this by using the <picture> element combined with Framer Motion animations. This approach allowed me to seamlessly switch between the single tablet image and the split desktop layout without loading unnecessary resources:

What specific areas of your project would you like help with?

First, I'm looking for advice on the best approach for creating the hero image overflow effect. Currently, I'm using scaling techniques with scale-140 and negative translate classes to make the images appear to extend beyond the container

Second, I'm concerned about potentially overusing animations. I've implemented various effects including:

Fade-in and slide animations for content sections Parallax scrolling for hero images Growing vertical lines for step indicators Pulsing effects on numbered circles Staggered reveals for footer content Typewriter effect for hero heading Have I crossed the line into animation overload? I'm particularly interested in feedback on whether the parallax scrolling effect adds value or if it might be distracting to users. I'd also welcome input on which animations provide the most meaningful enhancement to the user experience versus those that could be simplified or removed to improve performance and focus.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Vladyslav Novikov•90
    @wtfkimi
    Posted 2 months ago

    Nice

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit all CSS, SCSS and Less files in your repository.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

How does the JavaScript validation report work?

When a solution is submitted, we use eslint to run an automated check on the JavaScript code.

The report picks out common JavaScript issues such as not using semicolons and using var instead of let or const, among others.

The report will audit all JS and JSX files in your repository. We currently do not support Typescript or other frontend frameworks.

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub