This is a solution to the Multi-step form challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
- Complete each step of the sequence
- Go back to a previous step to update their selections
- See a summary of their selections on the final step and confirm their order
- View the optimal layout for the interface depending on their device's screen size
- See hover and focus states for all interactive elements on the page
- Receive form validation messages if:
- A field has been missed
- The email address is not formatted correctly
- A step is submitted, but no selection has been made
- Solution URL: solution URL
- Live Site URL: live site URL
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- Mobile-first workflow
- Accessibility
- Responsive design best practises
- React - JS library
- Tailwind - CSS framework
This project was a great learning experience that challenged me in several ways. Building a multi-step form allowed me to work with React’s useReducer hook, which proved to be an efficient tool for managing complex state logic. I also leveraged the Context API to pass data through deeply nested components, effectively avoiding prop drilling. Ensuring accessibility presented a technical challenge, but it helped me write cleaner, more inclusive code and strengthened my understanding of accessibility guidlines and best practises. Additionally, I learned to use Framer Motion to implement smooth, visually appealing animations throughout the form.





