Skip to content
  • Unlock Pro
  • Log in with GitHub
Challenge
Step 1: Start challenge
Premium
  • HTML
  • CSS
  • JS
5guru

Link-sharing app

In this project, you'll build a fully-functional link-sharing app for developers! You'll practice working with image uploads, repeater fields, drag-and-drop, and more!

Premium challenges are available with Pro.

Join 1,536 people who have taken this challenge

📝Brief

Your challenge is to build out this link-sharing app and get it looking as close to the design as possible.

You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.

Your users should be able to:

  • Create, read, update, delete links and see previews in the mobile mockup
  • Receive validations if the links form is submitted without a URL or with the wrong URL pattern for the platform
  • Drag and drop links to reorder them
  • Add profile details like profile picture, first name, last name, and email
  • Receive validations if the profile details form is saved with no first or last name
  • Preview their devlinks profile and copy the link to their clipboard
  • 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
  • Bonus: Save details to a database (build the project as a full-stack app)
  • Bonus: Create an account and log in (add user authentication to the full-stack app)

Download the project and go through the README.md file. This will provide further details about the project and help you get set up.

Want some support on the challenge? Join our community and ask questions in the help channel.

🗃Assets provided

  • Figma design files
  • Mobile, tablet & desktop layouts
  • Professional design system for colors, fonts, etc.
  • Optimized image assets
  • README file to help you get started
  • HTML file with pre-written content

💡Ideas to test yourself

  1. Build the project out as a full-stack application
  2. Train your eye for detail by getting your solution as close to the design as you can
  3. Use a JavaScript framework/library to practice templating and/or building using components
  4. Try estimating the time it will take for you to build the project. Then see if the time taken matches up to your estimate. Project estimations are a skill that is often overlooked but is important for professional developers

Challenge FAQs

  • How can I get help if I'm stuck on a challenge?
  • How do I submit my solution?
  • Is there an official solution I can take a look at?
  • Do I get a code review when I post my solution?
  • Can I use libraries/frameworks on these projects?
  • Can I use these projects in my portfolio?
  • How often are new challenges added?
  • What is the difference between the desktop-design, mobile-design, and desktop-preview images in my starter code?
  • Can I use these challenges within my own free or commercial content/tutorials/projects?

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

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

Frontend Mentor

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

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