Nicolas Dominici

From Mockup to Live Site: A Frontend Developer’s Workflow

From Mockup to Live Site: A Frontend Developer’s Workflow

So, you’ve got a design mockup for a new website, and now it’s your job to bring it to life. But where do you even begin? Going from a static design to a fully functional website might sound intimidating, but with a clear workflow, it’s a pretty satisfying journey. Let’s walk through the typical steps a frontend developer takes to turn a mockup into a live site—along with a few tips to make the process smoother.

Step 1: Understanding the Mockup and Planning

First things first: take a good, close look at that mockup. This isn’t just about admiring the design—it’s about figuring out what you need to build.

  • Analyze the Layout: Notice how sections are arranged, what elements repeat, and where interactions (like buttons and links) are placed. This helps you decide on a structure and break down the design into components.
  • Check the Design Specs: Look at font sizes, colors, spacing, and other design details. If the mockup was created in tools like Figma, Sketch, or Adobe XD, they usually come with handy spec tools to grab these measurements easily.
  • Ask Questions: If anything’s unclear—like animations, transitions, or responsive behaviors—now’s the time to ask the designer or client. Trust me, it’ll save headaches down the line.

Once you’re clear on what needs to be built, you can map out a rough plan. Think of it as a recipe: list the “ingredients” (assets, fonts, libraries) and the steps you’ll take to get everything set up.


Step 2: Setting Up the Project

Now that you know what you’re building, it’s time to set up your workspace. Here’s what you typically need:

  • Project Folder Structure: Organize your files in a way that makes sense. A common structure looks like this:

    /project-root
      /assets
      /components
      /styles
      index.html
    
  • Version Control: Initialize a Git repository. Even if you’re the only one working on the project, version control helps you track changes and roll back if needed.

  • Choose Your Tools: Pick a CSS framework (if any), frontend libraries, or preprocessors like Sass. Setting these up now will save you a lot of time.

For simple static sites, you might get away with plain HTML, CSS, and JavaScript. But if you’re working on a larger project, consider frameworks like React, Vue, or even Astro for static sites.


Step 3: Writing the HTML Structure

With everything set up, it’s time to lay the groundwork. Start with the HTML structure. Think of this as the skeleton of your site.

  • Semantic HTML: Use meaningful tags (like <header>, <nav>, <section>, <footer>) to structure your content logically. This isn’t just good practice—it also helps with accessibility and SEO.
  • Dividing Sections: Break down the layout based on the mockup. Define your headers, main content areas, sidebars, and footers. This makes styling and positioning easier down the road.

Don’t worry about making it look pretty just yet—focus on getting the structure right.


Step 4: Styling with CSS

Now comes the fun part: making your site look like the mockup. Here’s where you dig into CSS.

  • Set Up Global Styles: Define global styles for things like fonts, colors, and base styling for elements (e.g., <p>, <h1>, <button>). You can use a CSS reset or normalize to ensure consistency across browsers.
  • Responsive Design: Start with a mobile-first approach. Begin with styles for the smallest screen size, then use media queries to adjust for larger screens.
  • CSS Frameworks: If you’re using a framework like Tailwind CSS or Bootstrap, now’s the time to apply those utility classes or components.

Tailwind CSS


Step 5: Adding Interactivity with JavaScript

With the layout and styles in place, it’s time to add some life to the site. Here’s where JavaScript comes in.

  • DOM Manipulation: Use JavaScript to handle things like dropdown menus, modals, and form validation. Libraries like jQuery can make this easier if you’re working on a legacy project, but vanilla JavaScript is usually enough.
  • Event Listeners: Set up event listeners for clicks, form submissions, and any other interactions the user can trigger.
  • Animations: If the mockup calls for animations or transitions, use CSS animations for simple effects or JavaScript libraries like GSAP for more complex animations.

Step 6: Testing and Debugging

Almost there! But before you go live, you need to make sure everything works as expected.

  • Cross-Browser Testing: Open your site in different browsers (Chrome, Firefox, Safari, Edge) and check for inconsistencies. Sometimes, CSS behaves slightly differently across browsers.
  • Responsive Testing: Resize your browser or use a tool like Chrome’s DevTools to check how the site looks on different devices.
  • Accessibility Checks: Use screen readers, check your color contrast, and make sure all interactive elements are accessible with keyboard navigation.

Responsive Testing


Step 7: Deployment

The finish line is in sight! Now it’s time to share your creation with the world.

  • Hosting: For small sites, platforms like Netlify or Vercel offer free and easy hosting. If it’s a larger project, you might need a more robust solution.
  • Domain Setup: Link a custom domain if you have one, or use a subdomain from your hosting provider.
  • Final Checks: Do a quick pass through the site one last time, testing all links, images, and interactive elements. It’s easy to miss something small.

Once you’re happy with everything, hit publish…and celebrate!


Wrapping It Up

Going from a design mockup to a live website might seem like a long process, but with a solid workflow, each step falls into place. Plus, there’s something deeply satisfying about seeing your code transform a static design into a fully interactive experience.

Remember, every developer has their own way of working—don’t be afraid to tweak this process to fit your style. And most importantly, enjoy the journey from concept to reality. Building websites isn’t just about writing code—it’s about creating something that people can