<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ figma - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ figma - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 19:38:52 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/figma/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Create and Use Checkboxes in Figma ]]>
                </title>
                <description>
                    <![CDATA[ Checkboxes are a fundamental part of modern UI design. They allow users to make multiple selections, confirm actions, and control features with ease. And while they may appear simple, designing intera ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-create-and-use-checkboxes-in-figma/</link>
                <guid isPermaLink="false">69c6a8f79aa3928a58bf4237</guid>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ checkbox ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Abhijeet Dave ]]>
                </dc:creator>
                <pubDate>Fri, 27 Mar 2026 15:57:43 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/uploads/covers/5e1e335a7a1d3fcc59028c64/895586d9-6b46-4974-858b-2caebdf8c9f1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Checkboxes are a fundamental part of modern UI design. They allow users to make multiple selections, confirm actions, and control features with ease.</p>
<p>And while they may appear simple, designing interactive and scalable checkboxes in Figma requires a clear understanding of components, variants, states, and properties.</p>
<p>This guide walks you through everything you need to know, from the purpose and variations of checkboxes to step-by-step instructions for building fully interactive components.</p>
<p>You’ll also learn best practices to improve usability and discover ways to speed up your workflow with ready-made components, helping you create more efficient and production-ready designs.</p>
<h2 id="heading-table-of-contents">Table of Contents:</h2>
<ol>
<li><p><a href="#heading-what-is-a-checkbox">What Is a Checkbox?</a></p>
</li>
<li><p><a href="#heading-checkbox-variations-in-ui-design">Checkbox Variations in UI Design</a></p>
</li>
<li><p><a href="#heading-states-of-a-checkbox">States of a Checkbox</a></p>
</li>
<li><p><a href="#heading-steps-to-create-an-interactive-checkbox-in-figma">Steps to Create an Interactive Checkbox in Figma</a></p>
</li>
<li><p><a href="#heading-checkbox-various-properties">Checkbox: Various properties</a></p>
</li>
<li><p><a href="#heading-best-practices-for-checkboxdesign-in-figma">Best Practices for CheckboxDesign in Figma</a></p>
</li>
<li><p><a href="#heading-speed-up-with-ready-made-checkbox-components">Speed Up with Ready-Made Checkbox Components</a></p>
</li>
<li><p><a href="#heading-conclusion">Conclusion</a></p>
</li>
</ol>
<h2 id="heading-what-is-a-checkbox">What Is a Checkbox?</h2>
<p>A checkbox is a user interface element that allows users to select one or more options from a set of choices. Each checkbox operates independently, allowing multiple selections at the same time.</p>
<p>In Figma, checkboxes are typically created as components with variants, allowing designers to represent different states, such as checked, unchecked, hover, or disabled, in prototypes.</p>
<h3 id="heading-what-is-the-purpose-of-a-checkbox-why-we-use-it">What Is the Purpose of a Checkbox? (Why We Use It)</h3>
<p>You can use checkboxes in your designs when users need to:</p>
<ul>
<li><p>Select multiple options</p>
</li>
<li><p>Confirm an action</p>
</li>
<li><p>Enable or disable a feature</p>
</li>
<li><p>Agree to terms or policies</p>
</li>
</ul>
<h3 id="heading-common-real-world-examples">Common real-world examples:</h3>
<ul>
<li><p>“I agree to the Terms &amp; Conditions.”</p>
</li>
<li><p>Choosing notification preferences</p>
</li>
<li><p>Selecting filters in e-commerce apps</p>
</li>
<li><p>Marking tasks as completed in to-do apps</p>
</li>
</ul>
<p>In Figma prototypes, interactive checkboxes help simulate real user behavior, making designs easier to validate before development.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770892845865/d6e00d87-1e44-4b3c-a6ad-92f02f17a9c0.png" alt="figma prototype example" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<h2 id="heading-checkbox-variations-in-ui-design">Checkbox Variations in UI Design</h2>
<h3 id="heading-different-checkbox-formats">Different Checkbox Formats</h3>
<p>Depending on your design system, checkboxes can appear in many formats:</p>
<p><strong>Card-Based Checkbox Selection</strong> – Uses cards as selectable elements with integrated checkboxes. This pattern improves visual clarity and is ideal for selecting rich content options.</p>
<p><strong>Simple To-Do List Checkboxes</strong> – Basic checkbox layout for task lists where users can mark items as complete. Commonly used for straightforward tracking and productivity flows.</p>
<p><strong>Status &amp; Completed Checkboxes</strong> – Represents different task states such as pending, in-progress, or completed. Helps users quickly understand progress and current status.</p>
<p><strong>Error State Checkboxes</strong> – Displays validation errors when a required checkbox is not selected. Often used in forms to guide users toward required actions.</p>
<p><strong>Chip-Style Checkbox Selection</strong> – Combines checkboxes with chip UI elements for compact, multi-select options. Ideal for filters, tags, or quick selections.</p>
<p><strong>Nested Checkbox Structures</strong> – Organizes checkboxes in parent-child relationships. Allows bulk selection and partial (indeterminate) states for better hierarchy control.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770893235721/92abda28-128c-47ec-a03e-cfdbc166a22e.png" alt="Checkbox Variations in UI Design" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p><strong>Design tip:</strong></p>
<ul>
<li><p>Use <strong>checkboxes</strong> when users can select multiple options.</p>
</li>
<li><p>Use <strong>radio buttons</strong> when only one option is allowed.</p>
</li>
</ul>
<h2 id="heading-states-of-a-checkbox">States of a Checkbox</h2>
<p>A well-designed checkbox should clearly communicate its current state to users.</p>
<h3 id="heading-common-checkbox-states">Common Checkbox States:</h3>
<p>In the below illustration, you can see examples of the various states of checkboxes – Unchecked, Checked, Indeterminate, Disabled Uncheck, and Disabled Check:</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770893274277/15b5e3f0-f097-4830-9cb3-2ef1b020d112.png" alt="States of a Checkbox" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p><strong>Unchecked (default):</strong> The default state where no selection has been made. It indicates that the option is available but not currently chosen.</p>
<p><strong>Checked:</strong> This state shows that the option has been selected by the user. It confirms an active choice and is typically represented with a checkmark.</p>
<p><strong>Hover:</strong> Appears when the user moves the cursor over the checkbox. It provides visual feedback to indicate that the element is interactive.</p>
<p><strong>Active / Pressed:</strong> Triggered when the user clicks or taps the checkbox. This state gives immediate feedback during the interaction before the final state is applied.</p>
<p><strong>Disabled:</strong> Indicates that the checkbox is not interactive and cannot be changed. It's usually dimmed to show that the option is unavailable.</p>
<p><strong>Indeterminate (partially selected):</strong> Represents a mixed or partial selection, often used in parent-child relationships. It shows that some, but not all, related options are selected.</p>
<h3 id="heading-how-figma-handles-these-states-using-variants">How Figma Handles These States (Using Variants)</h3>
<p>In Figma, these states are best managed using <strong>variants within a component</strong>, which allow you to group multiple versions of the same UI element into a single, organized component set.</p>
<p>Instead of creating separate checkbox designs for each state, variants let you define all states, like <strong>checked, unchecked, hover, and disabled</strong> inside one component. Each state becomes a <strong>variant</strong>, and you can switch between them using properties such as:</p>
<ul>
<li><p><code>State = Unchecked</code></p>
</li>
<li><p><code>State = Checked</code></p>
</li>
<li><p><code>State = Disabled</code></p>
</li>
</ul>
<p>This approach helps you maintain consistency across all checkbox instances and quickly switch states from the properties panel. It also lets you create interactive prototypes by linking variants (for example, click → change to checked), and scale design systems efficiently without duplicating components.</p>
<p>In simple terms, <strong>variants act as different “versions” of a component</strong>, and Figma allows you to connect these versions together to simulate real UI behavior – just like how a checkbox works in an actual product.</p>
<h2 id="heading-steps-to-create-an-interactive-checkbox-in-figma">Steps to Create an Interactive Checkbox in Figma</h2>
<p>Building interactive checkboxes from scratch is useful for learning. But in real projects, speed and consistency matter.</p>
<p>If you want production-ready checkbox components, check out Shadcn Studio.</p>
<p>It offers clean, scalable UI components inspired by modern design systems, helping designers move faster without sacrificing quality.</p>
<h3 id="heading-step-1-design-the-checkbox-ui">Step 1: Design the Checkbox UI</h3>
<p>Start by drawing a square (recommended size: 24 × 24 px). Then add a check icon to it for the checked state (recommended size: 20 × 20 px).</p>
<p>Next, add a text label (recommended size: 14 px medium). You can use Auto Layout for proper spacing (recommended spacing: 12).</p>
<p>It should look like this:</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770894656766/480d9c76-c6a2-4fde-a7db-47c6a5c86a3a.png" alt="Design the Checkbox UI" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<h3 id="heading-step-2-create-a-component">Step 2: Create a Component</h3>
<p>Convert your checkbox design into a reusable component to ensure consistency and scalability. By adding variants, you can manage different states efficiently within a single component set.</p>
<ul>
<li><p>Select the checkbox design</p>
</li>
<li><p>Convert it into a <strong>Component</strong></p>
</li>
<li><p>Create <strong>variants</strong> for different states:</p>
<ul>
<li><p>Unchecked</p>
</li>
<li><p>Checked</p>
</li>
<li><p>Indeterminate</p>
</li>
<li><p>Disable Check</p>
</li>
<li><p>Disable Uncheck</p>
</li>
</ul>
</li>
</ul>
<p>Name the variant properties clearly, for example:</p>
<ul>
<li><p><code>State = Unchecked</code></p>
</li>
<li><p><code>State = Checked</code></p>
</li>
</ul>
<p>And so on.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770894904170/37cc0971-7e01-487f-bdc3-8392a5c1cd65.png" alt="Create a Component" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<h3 id="heading-step-3-add-interactions-between-variants">Step 3: Add Interactions Between Variants</h3>
<p>Before setting up interactions, it’s important to understand what’s happening here.</p>
<p>In Figma, variants don’t automatically “know” how to switch between each other. You have to define how and when one variant transitions to another. This is done using prototype interactions.</p>
<p>Think of it like this:</p>
<ul>
<li><p>Each variant = a <strong>state</strong> (Unchecked, Checked, Hover, and so on)</p>
</li>
<li><p>Interactions = the <strong>rules</strong> that tell Figma when to switch states</p>
</li>
</ul>
<p>So when a user clicks a checkbox, you're essentially telling Figma: “When this happens (click), change from this state to that state.”</p>
<p>This is what creates the illusion of a working, interactive component, similar to how state changes work in real code.</p>
<p>Now let’s implement it:</p>
<ul>
<li><p>Switch to the <strong>Prototype</strong> tab</p>
</li>
<li><p>Select the <strong>Unchecked</strong> variant</p>
</li>
<li><p>Add an interaction:</p>
<ul>
<li><p><strong>Trigger:</strong> On click</p>
</li>
<li><p><strong>Action:</strong> Change to → Checked</p>
</li>
</ul>
</li>
</ul>
<p>Now, repeat the same steps to create the reverse interaction (so the checkbox can toggle back):</p>
<ul>
<li><p>Select the <strong>Checked</strong> variant</p>
</li>
<li><p>Add an interaction:</p>
<ul>
<li><p><strong>Trigger:</strong> On click</p>
</li>
<li><p><strong>Action:</strong> Change to → Unchecked</p>
</li>
</ul>
</li>
</ul>
<p>This two-way connection (Unchecked → Checked and Checked → Unchecked) is what creates the <strong>toggle behavior</strong> of a checkbox.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770894931100/08a7f258-04fa-4639-b96a-ff4e1a080f02.png" alt="Add Interactions Between Variants" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<h3 id="heading-step-4-test-the-checkbox">Step 4: Test the Checkbox</h3>
<p>Preview the component to ensure all interactions and states are working as expected. This step helps verify that the checkbox behaves correctly before using it in your designs.</p>
<ul>
<li><p>Click Present</p>
</li>
<li><p>Interact with the checkbox</p>
</li>
<li><p>It should toggle between checked and unchecked states</p>
</li>
</ul>
<h2 id="heading-checkbox-various-properties">Checkbox: Various Properties</h2>
<p>Before diving into specific properties, let’s understand what Figma variables are and why they matter.</p>
<h3 id="heading-what-are-variables-in-figma">What Are Variables in Figma?</h3>
<p><strong>Variables</strong> in Figma allow you to store and control values, such as visibility, text, colors, sizes, or states, and reuse them across your components. Similar to how variables behave in code.</p>
<p>Instead of manually updating every instance of a component, variables let you define a value once and control it dynamically.</p>
<p>Think of variables like:</p>
<ul>
<li><p><strong>Switches (Boolean)</strong> – Show / hide elements</p>
</li>
<li><p><strong>Options (Variants)</strong> – Change between states like checked or unchecked</p>
</li>
<li><p><strong>Scalable controls</strong> – Adjust sizes, styles, or themes across multiple components</p>
</li>
</ul>
<p>This makes your components more flexible, scalable, and easier to manage, especially in larger design systems.</p>
<h3 id="heading-why-use-variables-for-checkboxes">Why Use Variables for Checkboxes?</h3>
<p>Checkboxes often need to adapt based on context, like showing labels, changing sizes, or switching states. Variables help you manage all of this without creating separate components for every variation.</p>
<p>With variables, a single checkbox component can behave in multiple ways.</p>
<h3 id="heading-what-you-can-control-with-variables">What You Can Control with Variables</h3>
<p>With Figma variables, you can:</p>
<p><strong>Show or Hide Label</strong> – Controls whether the label is visible alongside the checkbox. Useful when space is limited or the context is already clear.</p>
<p><strong>State Variant</strong> – Defines interaction states like checked, unchecked, hover, and disabled to ensure consistent behaviour and feedback.</p>
<p><strong>Size Variant</strong> – Specifies checkbox sizes (small, medium, large) to maintain visual hierarchy across different UI contexts.</p>
<p><strong>Creating Different Variant</strong> – Combines state, size, and label visibility into structured variants for scalability and easier management in Figma.</p>
<p>First, let’s learn how to show and hide the label in a checkbox.</p>
<h3 id="heading-1-turn-it-into-a-component">1. Turn it into a component</h3>
<p>You can convert your checkbox into a reusable component so it can be used consistently across your designs. This also allows you to add properties and variants later.</p>
<ul>
<li><p>Select the entire checkbox, including the checkbox icon and the label text</p>
</li>
<li><p>Press Cmd / Ctrl + Alt + K to convert it into a Component</p>
</li>
<li><p>Rename the component to Check Box</p>
</li>
</ul>
<h3 id="heading-2-create-a-boolean-property-for-the-label">2. Create a Boolean property for the label</h3>
<p>You can use a Boolean property to control whether the label is shown or hidden. This makes the component more flexible for different use cases.</p>
<ul>
<li><p>Select the main component</p>
</li>
<li><p>In the Properties section on the right panel, click +</p>
</li>
<li><p>Choose Boolean</p>
</li>
<li><p>Name the property Label</p>
</li>
<li><p>Set the default value to True</p>
</li>
</ul>
<p>This Boolean property controls the label's visibility.</p>
<h3 id="heading-3-bind-the-boolean-to-the-label-visibility">3. Bind the Boolean to the label visibility</h3>
<p>You can associate the Boolean property with the label layer to enable dynamic visibility based on the property's value.</p>
<ul>
<li><p>Select only the label text layer</p>
</li>
<li><p>In the Appearance section of the right panel</p>
</li>
<li><p>Click the icon that is highlighted in the image with a red square</p>
</li>
<li><p>Choose Bind to property</p>
</li>
<li><p>Select the Label Boolean</p>
</li>
</ul>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770894971306/95ef0efe-8299-4ca8-9094-7b11a64bd753.png" alt="Boolean to the label visibility" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p>Now, we’re going to learn how to add properties for size, state, and variants.</p>
<p>We'll create all checkbox designs covering:</p>
<ul>
<li><p>States: Unchecked, Checked, Indeterminate, Disabled check, Disabled uncheck</p>
</li>
<li><p>Variants: Primary, Secondary, Info, Warning, Destructive</p>
</li>
<li><p>Sizes: Sm, Md, Lg</p>
</li>
</ul>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770895088612/a08aac1e-160a-4a4e-b6eb-171f35d6d170.png" alt="how to add properties for size, state, and variant" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p>Then select all checkbox designs and convert them into components by selecting Create Multiple Components (<strong>Cmd / Ctrl + Alt + K</strong>)</p>
<p>With all components selected, click <strong>Combine as variants.</strong></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770895169444/5890e140-abdb-4de2-89cd-1c6443974853.png" alt="Grid of labeled checkbox icons in various colors and states. A dropdown menu on the right shows options like &quot;Create multiple components.&quot; Additional UI elements display selection information and a &quot;Combine as variants&quot; button." style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p>Select the main component set and rename properties:</p>
<ul>
<li><p>Rename <strong>Property 1 to state</strong></p>
</li>
<li><p>Add a <strong>Variant</strong> property and rename it to <strong>variant</strong></p>
</li>
<li><p>Add another <strong>Variant</strong> property and rename it to size</p>
</li>
</ul>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770895197034/65ec9280-cc35-495f-be4a-1dad60001331.png" alt="checkbox component creation" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p>Select all unchecked checkboxes and set:</p>
<ul>
<li><strong>state = Unchecked</strong></li>
</ul>
<p>Same for all state values.</p>
<ul>
<li><p>Select all primary checkboxes and set:</p>
<ul>
<li><strong>variant = Primary</strong></li>
</ul>
</li>
</ul>
<p>Same for all Variant values.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770895305294/9faa609f-afe2-4146-9cc0-c26acf80bbf5.png" alt="Design process involving checkboxes" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p>Then select all medium checkboxes and set:</p>
<ul>
<li><strong>size = md</strong></li>
</ul>
<p>Same for all Size values.</p>
<p>Drag any checkbox instance onto the canvas and verify that State, Variant, and Size properties work correctly:</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770895397620/65ba3b77-8d18-432e-b6e5-0f663a8fb8d6.png" alt="size values of checkbox" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<h2 id="heading-best-practices-for-checkboxdesign-in-figma">Best Practices for CheckboxDesign in Figma</h2>
<p><strong>Always include clear and readable labels</strong> – Clear labels help users quickly understand the purpose of each checkbox and reduce confusion during interaction.</p>
<p><strong>Maintain consistent spacing using Auto Layout</strong> – Consistent spacing ensures visual balance and alignment while keeping layouts scalable and structured.</p>
<p><strong>Ensure sufficient colour contrast for accessibility</strong> – Proper contrast improves visibility and ensures the checkbox is accessible to all users.</p>
<p><strong>Make the clickable area large enough</strong> – A larger clickable area enhances usability, especially on touch devices, and reduces misclicks.</p>
<p><strong>Keep interactions simple and predictable</strong> – Simple and predictable interactions help users easily understand behavior and build confidence while using the interface.</p>
<h2 id="heading-speed-up-with-ready-made-checkbox-components">Speed Up with Ready-Made Checkbox Components</h2>
<p>Building interactive checkboxes from scratch is useful for learning, but in real projects, speed and consistency matter.</p>
<p>If you want production-ready checkbox components, check out <a href="https://shadcnstudio.com/">Shadcn Studio</a>. It offers clean, scalable UI <a href="https://shadcnstudio.com/components">shadcn components</a> and blocks inspired by modern design systems, helping designers move faster without sacrificing quality.</p>
<h3 id="heading-why-use-shadcn-studio">Why use Shadcn Studio?</h3>
<ul>
<li><p>Save hours on repetitive UI work</p>
</li>
<li><p>Maintain consistent checkbox styles</p>
</li>
<li><p>Easy to integrate into existing design systems</p>
</li>
<li><p>Ideal for SaaS products, dashboards, and web apps</p>
</li>
</ul>
<p>You can explore <a href="https://shadcnstudio.com/docs/components/checkbox"><strong>Shadcn Checkbox</strong></a> components on Shadcn Studio. You'll also find animated checkbox components you can try out.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Checkboxes are small but essential UI elements that improve usability and help simulate real user interactions in Figma. By using components, variants, Auto Layout, and variables, designers can create scalable, accessible, and consistent checkbox systems.</p>
<p>Following best practices ensures clarity and better user experience, while ready-made component libraries can speed up workflows and maintain design consistency. Mastering interactive checkboxes ultimately helps designers prototype more effectively and deliver polished, production-ready interfaces.</p>
<p>I have prepared this article with the help of <a href="https://github.com/nirmiclevision">Nirmi Nagori</a>, a passionate Figma designer.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Build a Portfolio Website Using Figma and AI Tools – A Guide for Developers ]]>
                </title>
                <description>
                    <![CDATA[ Ever since my article on How to Become a Full Stack Developer and Get a Job in 2025 went viral, I’ve received countless DMs, emails, and even WhatsApp messages from readers. People have been asking about everything from learning to code and mastering... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-build-a-portfolio-website-using-figma-and-ai-tools/</link>
                <guid isPermaLink="false">691b93910ca13a7c59ae7a34</guid>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                    <category>
                        <![CDATA[ portfolio ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Prankur Pandey ]]>
                </dc:creator>
                <pubDate>Mon, 17 Nov 2025 21:28:49 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1763156337448/4d944077-b800-4bfd-bb70-645777eb00a2.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Ever since my article on <a target="_blank" href="https://www.freecodecamp.org/news/become-a-full-stack-developer-and-get-a-job/">How to Become a Full Stack Developer and Get a Job in 2025</a> went viral, I’ve received countless DMs, emails, and even WhatsApp messages from readers. People have been asking about everything from learning to code and mastering system design to web design and how AI fits into modern development.</p>
<p>I’ve been taking it one topic at a time. My last piece on system design principles received great feedback, and that encouragement has kept me going.</p>
<p>Lately, I’ve developed a deep interest in UI/UX design – not just out of curiosity, but because so many readers have been requesting a detailed guide. They want one that explains how to learn web design, how to apply it to real-world projects, and how AI is reshaping the field.</p>
<p>Looking back, my journey started six years ago as a software tester. From there, I transitioned into full-stack development, then DevOps. I also explored data analysis, and today I manage a full-time freelancing career alongside my farming work.</p>
<p>One thing I’ve learned along the way is that a strong portfolio can take you to places you’d never imagined.</p>
<p>I’ve had a portfolio for years, but now I’m completely rebuilding it from scratch to make it cleaner, smarter, and more reflective of who I’ve become as a developer.</p>
<p>In this tutorial, I’ll walk you through how I created my new portfolio and show you how you can build yours too – with the right structure, design, and a touch of copywriting magic to make it stand out.</p>
<h3 id="heading-what-well-cover">What We’ll Cover:</h3>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-is-a-portfolio-website-and-why-do-you-need-one">What is a Portfolio Website and Why Do You Need One?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-important-portfolio-website-components">Important Portfolio Website Components</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-make-your-portfolio-website-stand-out">How to Make Your Portfolio Website Stand Out</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-use-figma-to-design-your-own-portfolio">How to use Figma to Design Your Own Portfolio</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-tools-for-figma-to-code-generation">Tools for Figma to Code Generation</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-copywriting-for-your-portfolio">Copywriting for Your Portfolio</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-testing-benchmarks-for-a-portfolio-website">Testing Benchmarks for a Portfolio Website</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-hosting-your-portfolio">Hosting Your Portfolio</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-use-your-portfolio-effectively">How to Use Your Portfolio Effectively</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-qampa">Q&amp;A</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-final-notes">Final Notes</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<h2 id="heading-what-is-a-portfolio-website-and-why-do-you-need-one">What is a Portfolio Website and Why Do You Need One?</h2>
<p>A portfolio website is your own space on the internet where you can proudly show your best work, projects, and achievements. Think of it as your digital résumé, but far more visual and personal. Instead of just listing your skills or job titles, it lets people actually see what you’ve built, designed, or created, and this tells your story better than any document can.</p>
<p>It helps employers, clients, or collaborators understand your skills, experience, and creativity at a glance. While it’s beneficial for designers, developers, writers, and photographers, anyone who wants to share their work online can create one, from students and freelancers to business professionals.</p>
<p>Here’s why having a portfolio website matters:</p>
<ul>
<li><p><strong>A collection of your best work:</strong> like a gallery where you keep your most impressive projects, artwork, or achievements all in one place.</p>
</li>
<li><p><strong>Your online identity:</strong> It’s your personal brand, showing who you are, what you do, and what makes your work stand out.</p>
</li>
<li><p><strong>A way to showcase your skills:</strong> Through images, videos, and live demos, it give people a clear picture of your talent and creativity.</p>
</li>
<li><p><strong>An open door for opportunities:</strong> People can visit your site, explore your work, and contact you directly for jobs, collaborations, or freelance work.</p>
</li>
<li><p><strong>A tool for career growth:</strong> A well-built portfolio helps you attract clients, get noticed by employers, and open doors to new partnerships.</p>
</li>
</ul>
<p>In simple words, your portfolio website is your professional story told visually – a mix of your work, passion, and personality that helps the world see what you’re capable of.</p>
<h2 id="heading-important-portfolio-website-components">Important Portfolio Website Components</h2>
<p>Now that we know why a portfolio website matters, let’s look at the key components that make it stand out. Each part plays a role in showing who you are, what you can do, and how you can help others.</p>
<p>Since I’m a developer, and the people who have reached out to me are mostly tech enthusiasts, here I’ll give a technical portfolio example. But you can apply the learnings from this guide to build any type of portfolio for any niche/business.</p>
<h3 id="heading-1-home-page-the-first-impression">1. Home Page: The First Impression</h3>
<p>Your homepage is like the front door to your digital world. It should quickly tell visitors who you are, what you do, and why you’re worth hiring or collaborating with. Keep it clean, simple, and welcoming: just a few strong lines about your skills and what kind of projects you work on.</p>
<p>Tip: Use a short headline like “Hi, I’m Prankur – I build fast, user-friendly web apps.”</p>
<h3 id="heading-2-about-section-your-story">2. About Section: Your Story</h3>
<p>This is where you make your connection with the audience. Share your journey: how you started, what drives you, and what kind of problems you love solving. Keep it conversational and honest. People love working with real humans, not buzzwords.</p>
<p>Tip: Add a professional but friendly photo (optional) here to make it more personal.</p>
<h3 id="heading-3-projects-work-section-show-dont-just-tell">3. Projects / Work Section: Show, Don’t Just Tell</h3>
<p>This is the heart of your portfolio. List your best projects – the ones that represent your strongest skills and the kind of work you want to keep doing. Each project should include:</p>
<ul>
<li><p>A short description of what it is.</p>
</li>
<li><p>The tools or technologies you used.</p>
</li>
<li><p>The challenge you solved.</p>
</li>
<li><p>A screenshot or live demo link.</p>
</li>
<li><p>GitHub link so that people can see how you code</p>
</li>
</ul>
<p>Tip: 3–6 strong projects are better than 15 average ones. If you’re actively contributing to open source, you should add that to your portfolio, too.</p>
<h3 id="heading-4-case-studies-tell-the-story-behind-the-work">4. Case Studies: Tell the Story Behind the Work</h3>
<p>Case studies take your projects one step further. They explain your thinking process and how you understood the client’s problem, what steps you took, and what results you achieved. This helps potential employers or clients see your problem-solving skills, not just your designs or code.</p>
<p>Tip: Keep it short and focus on the “before → after” transformation.</p>
<h3 id="heading-5-skills-amp-tools-section">5. Skills &amp; Tools Section</h3>
<p>List your key technical and creative skills, like HTML, CSS, JavaScript, React, Figma, or AI.<br>You can group them as:</p>
<ul>
<li><p>Frontend Tools</p>
</li>
<li><p>Backend Tools</p>
</li>
<li><p>Design Tools</p>
</li>
<li><p>AI or Productivity Tools</p>
</li>
</ul>
<p>Tip: Keep the list focused and highlight the tools you actually use, not every tool you’ve ever tried.</p>
<h3 id="heading-6-testimonials-social-proof-optional">6. Testimonials: Social Proof (Optional)</h3>
<p>People trust people. Include a few quotes or short testimonials from clients, teammates, or mentors who can vouch for your skills and professionalism. It instantly builds trust and credibility.</p>
<p>If you are just starting, you can add this section later on, as initially you won’t have testimonials. Once you start working, you can politely ask your clients to give their feedback on your work. Just make sure to get their permission to add it to your site.</p>
<p>Tip: Ask for a 2–3 sentence testimonial right after finishing a project.</p>
<h3 id="heading-7-blog-or-articles-section-optional">7. Blog or Articles Section (Optional)</h3>
<p>If you write tutorials or share knowledge, add a blog section. It helps you stand out as someone who not only builds but also teaches and communicates ideas clearly. It also boosts SEO and keeps your site fresh.</p>
<p>Tip: Even 2–3 strong, educational articles can make a huge difference.</p>
<h3 id="heading-8-contact-section-make-it-easy-to-reach-you">8. Contact Section: Make It Easy to Reach You</h3>
<p>Your contact page should be simple, visible, and welcoming. Include your email, social links (LinkedIn, GitHub, X/Twitter), and maybe a contact form. You can also add a small call to action like:</p>
<blockquote>
<p>“Have a project in mind? Let’s connect.”</p>
</blockquote>
<p>Tip: Place your contact link in the main menu. Don’t hide it.</p>
<h3 id="heading-9-resume-downloadable-cv-optional">9. Résumé / Downloadable CV (Optional)</h3>
<p>If you’re job-hunting, include a link to download your latest résumé. You can also add a “quick summary” of your experience, education, and certifications directly on the website.</p>
<h3 id="heading-10-call-to-action-cta">10. Call to Action (CTA)</h3>
<p>Every great portfolio ends with a nudge – a simple next step for your visitor. It could be:</p>
<ul>
<li><p>“Let’s build something amazing together.”</p>
</li>
<li><p>“Hire me for your next project.”</p>
</li>
<li><p>“Check out my latest work.”</p>
</li>
</ul>
<p>A clear CTA can help turn a visitor into a lead or follower.</p>
<p>Your portfolio is not just a gallery. It’s a storytelling tool. It tells the world what you can do, how you think, and what makes you unique. Make sure every section serves a purpose, looks clean, and reflects your real personality.</p>
<h2 id="heading-how-to-make-your-portfolio-website-stand-out">How to Make Your Portfolio Website Stand Out</h2>
<p><strong>1. Showcase Your Best Work</strong><br>Only include your strongest and most relevant projects. Quality matters more than quantity. A few great examples of your work will create a much better impression than a long list of average ones.</p>
<p><strong>2. Use High-Quality Images and Videos</strong><br>Make sure your work looks clear and professional. Good visuals instantly catch attention and show that you care about presentation. Use clean screenshots, mockups, or short demo videos.</p>
<p><strong>3. Write Clearly and Keep It Short</strong><br>Explain your work and skills in simple, easy-to-read language. Avoid long paragraphs — most visitors just skim. A few lines that get straight to the point are enough.</p>
<p><strong>4. Tell Your Story</strong><br>Use your “About Me” section to share your journey — how you started, what you love building, and what kind of work you enjoy most. People connect more with stories than with just titles or resumes.</p>
<p><strong>5. Keep Navigation Simple</strong><br>Make sure visitors can easily find your projects, contact info, and other key details. A clean menu and clear layout help people focus on your work instead of figuring out where to click.</p>
<p><strong>6. Keep It Updated</strong><br>Whenever you finish a new project or learn a new skill, add it to your portfolio. An up-to-date portfolio shows that you’re active, learning, and growing in your field.</p>
<p><strong>7. Optimise for SEO</strong><br>Use the right keywords — the ones people might type when searching for your kind of work (like “frontend developer” or “Figma to code expert”). This helps your site appear in search results. Many AI-powered website builders can assist with basic SEO setup.</p>
<h2 id="heading-how-to-use-figma-to-design-your-own-portfolio">How to Use Figma to Design Your Own Portfolio</h2>
<p>Designing your own portfolio might sound intimidating at first, but tools like <strong>Figma</strong> make the process surprisingly intuitive – even if you’re not a professional designer. With Figma, you can visually plan every section of your portfolio before turning it into a live website.</p>
<p>I’ve been learning web design and using Figma for a long time for my client projects. But here, I didn’t build the entire portfolio from scratch. I used Figma’s design inspiration library to get some ideas, and I built the portfolio based on that.</p>
<p>Let’s walk through how you can do that, step by step, using the layout shown below as an example:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763135985349/8cb05eb4-7562-4845-992e-9829ebadf6a4.png" alt="example-portfolio" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h3 id="heading-1-start-with-a-wireframe">1. Start With a Wireframe</h3>
<p>Before adding colours or fancy visuals, begin with a simple wireframe. It’s basically a rough sketch of your portfolio layout.</p>
<p>In Figma, you can create frames for each section you want on your site:</p>
<ul>
<li><p>Hero section (your name, title, and call-to-action buttons)</p>
</li>
<li><p>“What I Do Best” or skills</p>
</li>
<li><p>Tech stack</p>
</li>
<li><p>Featured projects</p>
</li>
<li><p>Blog or article previews</p>
</li>
<li><p>Services and pricing</p>
</li>
<li><p>Contact form</p>
</li>
</ul>
<p>This helps you get the structure right before focusing on design. Don’t worry about fonts or images yet – just boxes and text placeholders are enough.</p>
<p>Here’s a sample wireframe I created to visualise how everything should look before moving into Figma. It’s always a good idea to sketch or plan your design on paper first, as it helps you get a clear picture of the layout and refine details like colours, fonts, and spacing early on.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762753167965/584a137e-6414-4ce6-ad1e-0408d040003f.png" alt="wireframe-figma" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Once the wireframe is ready, you can start adding your preferred colours, typography, and images to bring the design to life. If you want to go a step further and understand how to choose the right colour palettes and fonts, it’s worth exploring <strong>design psychology</strong> — it plays a huge role in how people perceive your work.</p>
<h3 id="heading-2-add-visual-hierarchy-and-colour">2. Add Visual Hierarchy and Colour</h3>
<p>Once your structure feels solid, start adding typography and colour to create a visual hierarchy. This helps the viewer’s eyes know where to focus first.</p>
<p>For example, in the sample design above, the <strong>hero section</strong> (at the top) instantly grabs attention with bold typography (“I build things for the web”) and a subtle background/hero image.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763135295720/87dfa444-1e80-45b2-8e57-7f88971a4742.png" alt="visual-hierachy-and-color-figma" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Use Figma’s colour styles to define a consistent palette. Try using about 3 to 4 shades that complement each other. Keep it minimal and professional. For text, you can choose neutral fonts like Poppins, Inter, or Roboto, which look great on both dark and light themes.</p>
<h3 id="heading-3-create-components-for-reuse">3. Create Components for Reuse</h3>
<p>Figma allows you to turn recurring UI elements like buttons, cards, and tags into components. In the portfolio example here, notice how every project card, article preview, and pricing box follows the same layout. By creating a single card component and reusing it, you can easily maintain consistency and update everything in one go later.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763135361258/41a8fdfe-d384-4039-8ab1-1a2499e58363.png" alt="components-reuse-figma" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>In this design, I will be using a blog featuring component multiple times, so instead of designing it again and again, I have made it once, and I am now using it multiple times.</p>
<h3 id="heading-4-add-your-content-and-images">4. Add Your Content and Images</h3>
<p>Now that your base design is ready, it’s time to make it personal. You can go ahead and replace placeholders with:</p>
<ul>
<li><p>Your best project screenshots (use mockups if needed),</p>
</li>
<li><p>Professional headshot or relevant visuals,</p>
</li>
<li><p>Real content, like your bio, skills, and service details.</p>
</li>
</ul>
<p>Make sure you keep the spacing clean. It ensures all sections stay neatly aligned, even when you adjust or add new elements later.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763135295720/87dfa444-1e80-45b2-8e57-7f88971a4742.png" alt="add-your-content-figma" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>In this hero section, I have used my name and colour and font of my choice on the left, and you can see the <strong>Styles</strong> showing all the colours I have used across the project.</p>
<h3 id="heading-5-create-interactive-prototypes">5. Create Interactive Prototypes</h3>
<p>Before exporting your design, use Figma’s <strong>Prototype Mode</strong> to link different pages together – for example, make “Projects” in the top navigation scroll smoothly to your project section. This gives you a working demo to test how users will experience your portfolio before you even write a single line of code.</p>
<p>You can also share this prototype with friends or mentors for quick feedback.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763135522546/1ef82103-13b6-4e9e-b102-b1c8cc20d03f.png" alt="create-interactive-prototype-figma" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h3 id="heading-6-export-or-hand-off-for-development">6. Export or Hand Off for Development</h3>
<p>After testing your design in Prototype Mode when you’re satisfied, the final step is the <strong>handoff</strong>. Use the Export panel to download all required assets (icons, logos, images) in their correct formats. Then share the Figma file and go to <strong>Dev Mode</strong>, where you can inspect typography, spacing, sizes, and colour values. These exported assets and inspected specs are what developers use to create the live HTML/CSS code.</p>
<p>Note: The Dev Mode in Figma allows you to inspect CSS and export your stuff easily. Since I don’t have a paid Figma plan, I can’t show inspecting and exporting.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763134948092/1f98417c-5120-48ac-b302-84d5234a7b95.png" alt="figma-handoff" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Designing your portfolio in Figma gives you full freedom over layout, colour choices, and how you present your personality. Keep it simple, prioritise usability, and design with clarity. Once the layout is complete and tested, converting it into a functional site becomes straightforward.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763138419092/978156ba-dbb3-4a6e-bcb8-3a0c7ff66e0d.png" alt="figma-auto-layout" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>You can also use auto layout just by right-clicking on the design section components.</p>
<p>Auto Layout allows designers to define rules for spacing, direction, padding, and alignment of elements. This ensures layouts like buttons, lists, and cards instantly adapt (scale/shrink) to content changes or different screen sizes without manual adjustments.</p>
<p>Once you’ve built and tested your Figma layout, converting it into code becomes the easy part.</p>
<h2 id="heading-tools-for-figma-to-code-generation">Tools for Figma to Code Generation</h2>
<p>By the time you’re done with the wireframe and colours, and your portfolio is live on Figma, it’s time to convert that Figma design into code. There are two ways to do so:</p>
<ul>
<li><p>Manual Method</p>
</li>
<li><p>AI Method</p>
</li>
</ul>
<h3 id="heading-how-to-manually-convert-figma-designs-to-code">How to Manually Convert Figma Designs to Code</h3>
<p>When you design a website or app in Figma, the next big step is turning that design into working code. Traditionally, developers have done this manually: inspecting each element, writing HTML, CSS, and then refining the layout in frameworks like React or Tailwind CSS.</p>
<p>It’s important to understand <strong>how this process is normally done by hand</strong>. This is the foundation that every frontend developer relies on — and it’s also what helps you evaluate and improve AI-generated code later.</p>
<p>When you design a website or app in Figma, the next step is to translate that visual layout into real HTML, CSS, and JavaScript. Developers usually start by examining each element in the design – its size, spacing, typography, colour, and layout rules – and manually rebuilding it in code.</p>
<h3 id="heading-exporting-visual-assets">Exporting Visual Assets</h3>
<p>Using Figma’s <em>Export</em> panel, you download only what needs to be recreated visually in code:</p>
<ul>
<li><p>icons</p>
</li>
<li><p>illustrations</p>
</li>
<li><p>logos</p>
</li>
<li><p>images or thumbnails</p>
</li>
</ul>
<p>Most structural elements (buttons, cards, sections, containers) are <strong>not</strong> exported – you’ll need to build them using HTML and CSS.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763127453427/38bbbdef-270c-4157-8a2d-8fd8591426ea.png" alt="figma-export-panel" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h3 id="heading-rebuilding-the-layout-with-html-and-css">Rebuilding the Layout with HTML and CSS</h3>
<p>You’ll recreate the page section by section:</p>
<ul>
<li><p>Setting up the HTML structure</p>
</li>
<li><p>Adding Flexbox or CSS Grid for layouts</p>
</li>
<li><p>Applying typography exactly as specified in Figma</p>
</li>
<li><p>Matching spacing using padding, margins, and gaps</p>
</li>
<li><p>Defining colours using the hex codes from the Figma Inspector</p>
</li>
</ul>
<p>If you’re using Tailwind CSS, this becomes a matter of applying the right utility classes, but the logic remains the same: <em>everything is recreated manually</em>.</p>
<p>Once you have your Figma layout ready, the real work happens inside your code editor (which for me is VS Code). Here’s how developers traditionally rebuild the UI one section at a time.</p>
<h3 id="heading-set-up-your-project-structure">Set Up Your Project Structure</h3>
<p>In VS Code, create your project structure. It’ll look something like this:</p>
<pre><code class="lang-plaintext">project/
 ├─ index.html
 ├─ styles.css
 ├─ /assets
 │    ├─ logo.svg
 │    ├─ hero-image.png
 │    └─ icons/
</code></pre>
<p>If you’re using React, this becomes the structure:</p>
<pre><code class="lang-bash">src/
 ├─ App.jsx
 ├─ components/
 ├─ index.css
 ├─ assets/
</code></pre>
<p>This structure mirrors what you saw in Figma: each major design section becomes a container or component.</p>
<h3 id="heading-write-the-html-structure-section-by-section">Write the HTML Structure Section-by-Section</h3>
<p>Now, you’ll look at the Figma frame and convert it to raw markup.</p>
<p>As an example, let’s look at the Hero Section.</p>
<p>Figma frame shows:</p>
<ul>
<li><p>a headline</p>
</li>
<li><p>subtext</p>
</li>
<li><p>a button</p>
</li>
<li><p>an illustration</p>
</li>
</ul>
<p>So your HTML becomes this:</p>
<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">section</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"hero"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"hero-content"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span>Modern UI for Everyone<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>Beautiful designs built for speed and accessibility.<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"cta-btn"</span>&gt;</span>Get Started<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
  <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>

  <span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"assets/hero-image.png"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Hero illustration"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"hero-img"</span> /&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">section</span>&gt;</span>
</code></pre>
<p>You're essentially mapping each Figma layer onto an HTML element.</p>
<h3 id="heading-build-layouts-using-flexbox-or-grid">Build Layouts Using Flexbox or Grid</h3>
<p>In Figma, layouts are visual. In HTML/CSS, you must <strong>translate</strong> the layout rules.</p>
<p>If Figma shows two columns (text + image), you’ll use Flexbox:</p>
<pre><code class="lang-css"><span class="hljs-selector-class">.hero</span> {
  <span class="hljs-attribute">display</span>: flex;
  <span class="hljs-attribute">align-items</span>: center;
  <span class="hljs-attribute">justify-content</span>: space-between;
}
</code></pre>
<p>If Figma has a 3-card layout, you’ll use Grid:</p>
<pre><code class="lang-css"><span class="hljs-selector-class">.features</span> {
  <span class="hljs-attribute">display</span>: grid;
  <span class="hljs-attribute">grid-template-columns</span>: <span class="hljs-built_in">repeat</span>(<span class="hljs-number">3</span>, <span class="hljs-number">1</span>fr);
  <span class="hljs-attribute">gap</span>: <span class="hljs-number">2rem</span>;
}
</code></pre>
<p>You literally reconstruct the layout <em>from scratch</em> by interpreting the Figma frame’s structure.</p>
<h3 id="heading-apply-typography-exactly-as-in-figma">Apply Typography Exactly as in Figma</h3>
<p>Next, you’ll go to Figma, select a text layer, and check the <strong>Inspector</strong>:</p>
<ul>
<li><p>Font family: Inter</p>
</li>
<li><p>Font size: 36px</p>
</li>
<li><p>Line height: 44px</p>
</li>
<li><p>Font weight: 700</p>
</li>
<li><p>Letter spacing: -1%</p>
</li>
</ul>
<p>Then recreate it like this:</p>
<pre><code class="lang-css"><span class="hljs-selector-class">.hero</span> <span class="hljs-selector-tag">h1</span> {
  <span class="hljs-attribute">font-family</span>: <span class="hljs-string">'Inter'</span>, sans-serif;
  <span class="hljs-attribute">font-size</span>: <span class="hljs-number">36px</span>;
  <span class="hljs-attribute">line-height</span>: <span class="hljs-number">44px</span>;
  <span class="hljs-attribute">font-weight</span>: <span class="hljs-number">700</span>;
  <span class="hljs-attribute">letter-spacing</span>: -<span class="hljs-number">0.01em</span>;
}
</code></pre>
<p>This is why developers need to know their fundamentals: AI tools often miss these fine details.</p>
<h3 id="heading-recreate-spacing-with-padding-margins-gaps">Recreate Spacing With Padding, Margins, Gaps</h3>
<p>In Figma, spacing is visual. But in code, you must <em>calculate and apply</em> it.</p>
<p>Example Figma spacing:</p>
<ul>
<li><p>Padding inside a button: 16px vertical / 32px horizontal</p>
</li>
<li><p>Margin below a heading: 24px</p>
</li>
<li><p>Gap between elements: 32px</p>
</li>
</ul>
<p>So you write this code:</p>
<pre><code class="lang-css"><span class="hljs-selector-class">.cta-btn</span> {
  <span class="hljs-attribute">padding</span>: <span class="hljs-number">16px</span> <span class="hljs-number">32px</span>;
}

<span class="hljs-selector-class">.hero</span> <span class="hljs-selector-tag">h1</span> {
  <span class="hljs-attribute">margin-bottom</span>: <span class="hljs-number">24px</span>;
}

<span class="hljs-selector-class">.hero-content</span> {
  <span class="hljs-attribute">display</span>: flex;
  <span class="hljs-attribute">flex-direction</span>: column;
  <span class="hljs-attribute">gap</span>: <span class="hljs-number">32px</span>;
}
</code></pre>
<p>Everything must match the design. And in this case, spacing is what makes UI look polished.</p>
<h3 id="heading-apply-colours-using-figma-hex-codes">Apply Colours Using Figma Hex Codes</h3>
<p>In Figma Inspector:</p>
<ul>
<li><p>Primary Blue → <code>#4A78FF</code></p>
</li>
<li><p>Background → <code>#F8FAFC</code></p>
</li>
<li><p>Text → <code>#1A1A1A</code></p>
</li>
</ul>
<p>In your CSS:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">body</span> {
  <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#F8FAFC</span>;
  <span class="hljs-attribute">color</span>: <span class="hljs-number">#1A1A1A</span>;
}

<span class="hljs-selector-class">.cta-btn</span> {
  <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#4A78FF</span>;
  <span class="hljs-attribute">color</span>: white;
}
</code></pre>
<p>You’ll need to manually copy each hex code into CSS, as this is where accuracy matters.</p>
<h3 id="heading-if-using-tailwind-apply-utility-classes-instead-of-writing-css">(If Using Tailwind) Apply Utility Classes Instead of Writing CSS</h3>
<p>Switching back and forth between your Figma design and a separate CSS file can slow down your whole workflow. Tailwind CSS solves this by letting you write styles right inside your HTML using small, reusable utility classes.</p>
<p>In this section, you’ll learn how to take the exact pixel values you see in the <strong>Figma Inspector</strong> and turn them into Tailwind utilities.</p>
<h4 id="heading-step-1-understand-tailwinds-spacing-scale">Step 1: Understand Tailwind’s Spacing Scale</h4>
<p>Tailwind doesn’t use raw pixel values. Instead, it uses a consistent spacing scale, usually based on a 4px grid.</p>
<p>Here’s the simple rule: Take the pixel value from Figma, divide by 4, and that number becomes your Tailwind utility.</p>
<p>Example:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Figma</td><td>Tailwind</td><td>Meaning</td></tr>
</thead>
<tbody>
<tr>
<td><code>margin-top: 32px</code></td><td><code>mt-8</code></td><td>32 ÷ 4 = 8 → so the class is <code>mt-8</code></td></tr>
</tbody>
</table>
</div><p>Prefixes you should know:</p>
<ul>
<li><p><code>m</code> = margin</p>
</li>
<li><p><code>p</code> = padding</p>
</li>
<li><p><code>t</code>, <code>b</code>, <code>l</code>, <code>r</code> = top, bottom, left, right</p>
</li>
<li><p><code>x</code> = horizontal (left + right)</p>
</li>
<li><p><code>y</code> = vertical (top + bottom)</p>
</li>
</ul>
<h4 id="heading-step-2-converting-complex-padding">Step 2: Converting Complex Padding</h4>
<p>If your Figma element uses different padding for X and Y, convert each side separately.</p>
<p>Example:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Figma</td><td>Tailwind</td><td>Meaning</td></tr>
</thead>
<tbody>
<tr>
<td><code>padding: 16px 32px</code></td><td><code>py-4 px-8</code></td><td>16 ÷ 4 = 4 → <code>py-4</code></td></tr>
<tr>
<td>32 ÷ 4 = 8 → <code>px-8</code></td><td></td></tr>
</tbody>
</table>
</div><h4 id="heading-step-3-converting-font-sizes">Step 3: Converting Font Sizes</h4>
<p>Tailwind doesn’t use pixel sizes for fonts. Instead, it uses semantic names – almost like T-shirt sizes.</p>
<p>Example:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Figma Font Size</td><td>Tailwind Class</td><td>Meaning</td></tr>
</thead>
<tbody>
<tr>
<td><code>36px</code></td><td><code>text-4xl</code></td><td>Tailwind’s <code>4xl</code> matches 36px in the default scale</td></tr>
</tbody>
</table>
</div><p>This encourages typography consistency, instead of manually choosing random font sizes.</p>
<h4 id="heading-why-this-method-is-so-fast">Why This Method Is So Fast</h4>
<p>Once you get used to it, the workflow becomes second nature:</p>
<pre><code class="lang-powershell">Figma value → divide by <span class="hljs-number">4</span> → apply Tailwind <span class="hljs-class"><span class="hljs-keyword">class</span></span>
</code></pre>
<p>No switching files. No naming CSS classes. No extra stylesheet bloat.</p>
<p>Just fast, direct, design-to-code translation.</p>
<h4 id="heading-try-it-yourself">Try It Yourself</h4>
<p>Open a Figma component (like a button or a card) and check its spacing, padding, and font size in the Inspector. Then convert everything using the simple rules above.</p>
<p>Before long, you’ll be turning Figma designs into clean Tailwind code in seconds.</p>
<p>You still translate Figma to code manually.</p>
<p>Alright, back to our workflow:</p>
<h3 id="heading-making-it-responsive">Making It Responsive</h3>
<p>You check how the design should behave on different screen sizes:</p>
<ul>
<li><p>stacking vs. side-by-side layouts</p>
</li>
<li><p>font scaling</p>
</li>
<li><p>spacing adjustments</p>
</li>
<li><p>collapsing navigation or rearranging grids</p>
</li>
</ul>
<p>This requires writing responsive styles and breakpoints, which AI tools can attempt but rarely perfect.</p>
<h3 id="heading-why-the-manual-way-is-important">Why the Manual Way Is Important</h3>
<p>Even though it takes more time, this approach teaches fundamentals that AI tools simply can’t replace:</p>
<ul>
<li><p>How spacing systems work</p>
</li>
<li><p>How components behave in real browsers</p>
</li>
<li><p>How layout changes across devices</p>
</li>
<li><p>How to optimise for performance and accessibility</p>
</li>
</ul>
<p>These skills allow you to <strong>inspect code intelligently</strong> and improve it wherever needed, which is <em>almost always necessary</em>, no matter which tool you use.</p>
<h3 id="heading-how-to-use-ai-tools-to-convert-figma-designs-to-code-optional">How to Use AI Tools to Convert Figma Designs to Code (Optional)</h3>
<p>To speed up this process, you can now use AI-powered and automated Figma-to-code tools. These tools analyse the Figma file and instantly generate code that you can integrate into your tech stack.</p>
<p>There are multiple tools available in the market, like V0, Builder.io, and Kombai.</p>
<ul>
<li><p><a target="_blank" href="https://v0.dev">V0</a> is A Vercel project focused on fast UI generation, integrated with Next.js workflows.</p>
</li>
<li><p><a target="_blank" href="https://Builder.io">Builder.io</a> is visual CMS with Figma integration and a visual editor that can export components for web apps.</p>
</li>
<li><p><a target="_blank" href="https://kombai.com">Kombai</a> is an IDE extension that converts selected Figma frames into React/NextJS/React Native code and offers repo-aware features.</p>
</li>
</ul>
<h4 id="heading-building-live">Building Live</h4>
<p>For demonstration purposes, I’ll be using Kombai, a VS Code extension. And since most of us developers spend a lot of time inside VS Code, it’s the perfect place to test it out.</p>
<p>To install it in VS Code, simply open the Extensions Marketplace, search for 'kombai', click 'Install' and open the extension.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761314891808/1e28092b-9011-476d-869d-08ce6b675766.png" alt="Kombai agent vs code install " class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Now, at the agent panel, click on the “Let’s get started” button and sign up or log in with your credentials.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762085091479/abb9f832-b66a-42f5-990c-0a070dc33fd9.png" alt="Kombai agent vs code " class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Now it’s time to test the agent for real work. To do so, I’ll be using the Figma file attached to build this portfolio.</p>
<p>A few things to keep in mind as you get going:</p>
<ul>
<li><p>You’ll need to enable WebGL if Figma is not working on your browser.</p>
</li>
<li><p>You need to know how to copy the Figma file link and how to export the design from Figma.</p>
</li>
</ul>
<p>To copy the Figma design file link, open your Figma design file and simply select your desired design, select copy/paste, and then select copy link to selection. It will copy the complete design file URL.</p>
<p>You can also copy the link of any Figma component and follow the same approach to get the desired outcome.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762935992593/08f6443d-4a62-42fc-8294-0c8f8000bef0.png" alt="figma-design-portfolio" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Open the agent extension in VSCode and select the Figma (icon) agent at the bottom of the agent toolbar. It will open a new pop-up. In it, paste the link you copied to the design file (check the screenshot below). Then you can prompt the agent with what you want it to do with this Figma file.</p>
<p>In my case, I wanted to replicate the same design, so I gave this prompt along with my Figma design link:</p>
<blockquote>
<p>“You are an expert UI/UX designer and your task is to build and replicate the entire Figma design in the HTML/CSS/JS code from the attached URL.“</p>
</blockquote>
<p>After confirming this, the agent will start working to replicate the same design as you’ve seen in the Figma file.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761456000444/a34b5abe-cb75-4634-b090-a53d1f4df026.png" alt="figma-to-code-kombai-agent" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>And here are the results:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763136179145/eb51a1ca-7d63-4a16-ba80-80854d715066.png" alt="figma-to-code-kombai-output" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>Now you have the full picture of both approaches and when to use each one.</p>
<p>Here is the live Project link - <a target="_blank" href="https://fcc-demo.netlify.app/">FCC FIGMA TO CODE</a></p>
<p>Here is the GitHub link for the project code - <a target="_blank" href="https://github.com/prankurpandeyy/fcc-demo-portfolio">Github Code</a></p>
<h3 id="heading-challenges-in-ai-generated-code-and-why-developer-oversight-is-essential">Challenges in AI-Generated Code (and Why Developer Oversight Is Essential)</h3>
<p>AI tools can speed up the design-to-code process, but the output is rarely production-ready. Most tools struggle with layout precision, accessibility, and responsiveness, especially in real-world designs. You should expect to review and improve various parts of the generated code, such as:</p>
<ul>
<li><p><strong>Spacing and alignment issues:</strong> AI may misinterpret padding, margins, or grid spacing, so layouts often need manual adjustment.</p>
</li>
<li><p><strong>Responsive breakpoints:</strong> Most tools generate layouts for a single screen size. You still need to add tablet/mobile breakpoints and test them across devices.</p>
</li>
<li><p><strong>Semantic HTML:</strong> AI tends to use too many <code>&lt;div&gt;</code> elements instead of meaningful tags like <code>&lt;header&gt;</code>, <code>&lt;nav&gt;</code>, <code>&lt;section&gt;</code>, or <code>&lt;button&gt;</code>.</p>
</li>
<li><p><strong>Accessibility gaps:</strong> Missing alt text, improper labels, weak colour contrast choices, and a lack of ARIA(HTML Tags) attributes are common issues.</p>
</li>
<li><p><strong>Utility class overload (in Tailwind-based code):</strong> AI outputs long, repetitive class lists that need cleanup for maintainability.</p>
</li>
<li><p><strong>Inconsistent component structure:</strong> AI may generate components that aren’t reusable or follow naming conventions, so refactoring is often required.</p>
</li>
<li><p><strong>Tokens and theming:</strong> Colours, font sizes, and spacing may not map to design tokens unless manually corrected.</p>
</li>
</ul>
<p>Because of these limitations, AI-generated code should be treated as a <strong>starting point</strong>, not a final product. You’ll still need to validate the logic, refine the structure, and ensure the final result meets real-world quality standards. AI reduces repetitive work, but you, as the developer, need to ensure the code’s correctness, accessibility, and long-term maintainability.</p>
<h3 id="heading-what-i-prefer">What I Prefer</h3>
<p>The manual method gives you complete control and teaches you the fundamentals, which are essential for understanding how layouts, spacing, and components actually translate into real code.</p>
<p>When you write the HTML, CSS, and component structure yourself, you build a deeper understanding of how layouts, spacing, responsiveness, typography, and accessibility truly work under the hood. These fundamentals are what make you a strong frontend developer, and no automated tool can replace that learning.</p>
<p>AI-assisted design-to-code tools can help with speed – especially in the early stages when you just want a quick starting point. They remove some of the repetitive setup work, but the output almost always needs refinement.</p>
<p>In real projects, the most dependable workflow is a combination of both approaches: Use automation only for the boilerplate, then rely on your own frontend knowledge to clean up, reorganise, and fine-tune the interface so it meets real-world standards.</p>
<p><strong>Personally, I still prefer coding my designs manually because it keeps me connected to the craft and helps me build muscle memory.</strong> It’s the only way to fully understand how the design translates into a live, responsive interface and how each decision affects performance and user experience.</p>
<p>AI tools don’t replace frontend developers. They simply support them. They handle repetitive tasks so you can focus on the skills that truly matter: clarity of structure, accessibility, responsive behaviour, and crafting an experience that feels polished and intentional.</p>
<h2 id="heading-copywriting-for-your-portfolio">Copywriting for Your Portfolio</h2>
<p>Now that your portfolio is designed and coded, let’s turn our attention back to what it actually says.</p>
<p>Copywriting is the art of using words to convince people to take a specific action, like buying a product, signing up for a service, or visiting a website. It’s a mix of creativity and marketing, where words are used to sell ideas or products smartly and emotionally.</p>
<p>A copywriter writes many types of content, from sales pages, website text, and social media posts to ad scripts and emails. The goal is simple: to make people take action.</p>
<p>So what makes copywriting effective?</p>
<ul>
<li><p><strong>Knowing your audience:</strong> A good copywriter understands what people need, what problems they face, and what motivates them.</p>
</li>
<li><p><strong>Using persuasive words:</strong> Words that spark emotions and make readers want to act.</p>
</li>
<li><p><strong>Clarity and impact:</strong> Keeping the message short, clear, and easy to understand.</p>
</li>
<li><p><strong>Consistent brand voice:</strong> Writing in a tone that matches the brand’s personality — whether it’s fun, professional, or inspiring.</p>
</li>
</ul>
<h3 id="heading-how-to-use-copywriting-in-your-portfolio">How to Use Copywriting in Your Portfolio</h3>
<p>Your portfolio isn’t just about showing your work – it’s about telling your story in a way that connects with people. That’s where copywriting comes in. Good copy turns your portfolio from a plain showcase into something that feels personal, clear, and convincing.</p>
<p>Here’s how you can use copywriting effectively while building your portfolio:</p>
<h3 id="heading-1-start-with-a-strong-headline">1. Start With a Strong Headline</h3>
<p>The first line people see should instantly tell them <em>who you are</em> and <em>what you do</em>. For example:</p>
<blockquote>
<p>“I build modern, responsive web apps that turn ideas into digital reality.”</p>
</blockquote>
<p>Your headline is like your elevator pitch: short, powerful, and clear.</p>
<h3 id="heading-2-tell-your-story">2. Tell Your Story</h3>
<p>In the About Me section, don’t just list your skills. You should also tell visitors about your journey. Write about how you got started programming, what you’ve learned along the way, and what drives you. Keep it conversational and real, like you’re talking to a friend.</p>
<blockquote>
<p>“I started coding six years ago with simple HTML pages. Today, I design full-stack apps and help startups bring their ideas to life.”</p>
</blockquote>
<h3 id="heading-3-write-benefit-focused-descriptions">3. Write Benefit-Focused Descriptions</h3>
<p>When you show your projects, don’t just describe <em>what</em> you built. Explain <em>why</em> it matters.</p>
<blockquote>
<p>Instead of: “I built a task manager app.”<br>Try: “A simple, clutter-free task manager that helps users stay productive without distractions.”</p>
</blockquote>
<p>This small change turns your project into a <em>problem-solving story</em>, not just a tech demo.</p>
<h3 id="heading-4-add-a-call-to-action-cta">4. Add a Call-to-Action (CTA)</h3>
<p>Every portfolio should guide visitors toward an action, like contacting you, checking your GitHub, or reading your blog.</p>
<p>Here are some examples:</p>
<blockquote>
<p>“Want to collaborate? Let’s build something amazing together.”<br>“Looking for a developer who writes clean and efficient code? Reach out!”</p>
</blockquote>
<p>A clear CTA shows confidence and gives people a direction.</p>
<h3 id="heading-5-keep-it-simple-and-authentic">5. Keep It Simple and Authentic</h3>
<p>Avoid fancy words or buzzwords. Write like a human, not a brochure. Use simple, clear sentences that sound like your real voice.</p>
<p>Good copywriting is not about being clever – it’s about being <em>clear and honest</em>.</p>
<h3 id="heading-6-maintain-a-consistent-tone">6. Maintain a Consistent Tone</h3>
<p>Whether your style is formal or friendly, keep it the same across all pages – home, about, projects, and contact. A consistent tone helps build your personal brand and makes your portfolio feel professional.</p>
<p>Copywriting is the invisible thread that ties your portfolio together. It helps people not just <em>see</em> your work, but <em>feel</em> your story.</p>
<h2 id="heading-testing-benchmarks-for-a-portfolio-website">Testing Benchmarks for a Portfolio Website</h2>
<p>Before your portfolio goes live, it’s important to test it so that you know it looks and works as it’s supposed to. A fast, responsive, and accessible site leaves a strong first impression, and benchmarks help you measure whether it’s up to your standards. And a well-tested site loads faster, ranks better, and gives users (and recruiters) a seamless experience.</p>
<p>Below are the key benchmarks you should always check, along with why they matter.</p>
<h3 id="heading-1-page-load-time">1. Page Load Time</h3>
<p>This is the time it takes for your page to fully load after someone visits it. A fast-loading site feels smooth and professional, while a slow one instantly turns people away.</p>
<p>This matters because most visitors leave if a site takes more than 3 seconds to load. Tools like <a target="_blank" href="https://gtmetrix.com">GTmetrix</a> or Pingdom can help you track and improve page load speed by optimising images and reducing unnecessary scripts.</p>
<h3 id="heading-2-core-web-vitals-lcp-inp-cls">2. Core Web Vitals (LCP, INP, CLS)</h3>
<p>Google uses <strong>Core Web Vitals</strong> to measure real-world user experience.</p>
<ul>
<li><p><strong>LCP (Largest Contentful Paint):</strong> How quickly your main content becomes visible.</p>
</li>
<li><p><strong>INP (Interaction to Next Paint):</strong> How fast your site responds when users interact.</p>
</li>
<li><p><strong>CLS (Cumulative Layout Shift):</strong> How stable your layout is while loading.</p>
</li>
</ul>
<p>These metrics directly affect how users perceive your site and also impact SEO ranking. You can test them on <a target="_blank" href="https://pagespeed.web.dev">PageSpeed Insights.</a></p>
<h3 id="heading-3-mobile-friendliness">3. Mobile Friendliness</h3>
<p>Most people will view your portfolio on their phones, so it needs to look and work perfectly on smaller screens.</p>
<p>A mobile-optimised site not only improves user experience but also ranks better on Google’s mobile search results. Use responsive layouts and flexible grids to ensure smooth viewing on all devices.</p>
<h3 id="heading-4-accessibility-compliance-wcag">4. Accessibility Compliance (WCAG)</h3>
<p>Accessibility means making your portfolio usable for everyone, including people with disabilities.</p>
<p>This is important because following WCAG standards (like proper colour contrast, keyboard navigation, and alt text for images) shows professionalism and inclusivity. Tools like Lighthouse or WAVE can help you check how your portfolio ranks for key accessibility metrics.</p>
<h3 id="heading-5-seo-best-practices">5. SEO Best Practices</h3>
<p>SEO isn’t just for businesses. It can also help your personal site appear when someone searches your name or skills.</p>
<p>If you add proper meta tags, structured headings (H1, H2, H3), and descriptive URLs, these features can help recruiters or clients find you more easily. A well-optimised portfolio often performs better on job searches and tech blogs.</p>
<h3 id="heading-6-responsiveness-interaction-delay">6. Responsiveness (Interaction Delay)</h3>
<p>Responsiveness measures how quickly your website reacts when users click or scroll. And a laggy interface feels unprofessional and hurts user engagement. By minimising heavy scripts and optimising animations, you ensure smooth, immediate feedback for every action.</p>
<h3 id="heading-7-security-checks-https">7. Security Checks (HTTPS)</h3>
<p>Even a simple portfolio needs <strong>HTTPS</strong>. It builds trust and protects both you and your visitors from data breaches. Browsers like Chrome now flag non-secure sites, so enabling SSL is a must.</p>
<h3 id="heading-8-resource-size-html-css-js-images">8. Resource Size (HTML, CSS, JS, Images)</h3>
<p>Heavy resources can slow everything down. Compressing files, minifying CSS/JS, and using next-gen image formats (like WebP) can dramatically improve speed and performance.</p>
<h3 id="heading-9-browser-and-device-compatibilityhttpspagespeedwebdev">9. Browser and Device Compatibilit<a target="_blank" href="https://pagespeed.web.dev">y</a></h3>
<p>Not everyone uses Chrome on a laptop. So make sure you test your portfolio across major browsers (Chrome, Firefox, Safari, Edge) and devices (desktop, tablet, mobile). Simulated testing tools like DebugBear or Basemark Web help catch layout issues early.</p>
<h3 id="heading-10-real-user-monitoring-rum">10. Real User Monitoring (RUM)</h3>
<p>Instead of just testing in a lab, RUM captures how real visitors experience your site. This helps you understand performance in real-world scenarios – on different devices, networks, and locations – and adjust your design based on real data.</p>
<h2 id="heading-hosting-your-portfolio">Hosting Your Portfolio</h2>
<p>Now it’s time to push your changes to GitHub and deploy them on a hosting provider of your choice. Hosting services play a crucial role in showcasing your work. Depending on the type of projects you build, here are some of the best free hosting options that I have used so far for my personal and professional projects.</p>
<ul>
<li><p><strong>Vercel</strong> – Best for Next.js/React projects, offering seamless deployment inside the Vercel ecosystem.</p>
</li>
<li><p><strong>GitHub Pages</strong> – Great for hosting static websites and personal portfolios.</p>
</li>
<li><p><strong>Netlify</strong> – Ideal for frontend-heavy projects with easy deployment and CI/CD integration.</p>
</li>
</ul>
<p>Your portfolio is ready, and you can share it anywhere with just a link.</p>
<h2 id="heading-how-to-use-your-portfolio-effectively">How to Use Your Portfolio Effectively</h2>
<p>Now that your portfolio is ready, it’s time to use it the right way. Whether you’re applying for a job, pitching to a freelance client, or simply networking with like-minded people, your portfolio is your strongest asset.</p>
<p>Think of it as your digital introduction. It not only shows what you’ve built but also how you think and work. The key is to use it smartly in the right context.</p>
<p>Let’s say you come across a job post or want to reach out directly to a recruiter or a company founder. Instead of just sending a plain résumé, you can make your message stand out by attaching your portfolio link. Here’s an example of how you can do it:</p>
<p>Example email/direct message:</p>
<blockquote>
<p><strong><em>Hi [Hiring Manager/CEO Name],</em></strong></p>
<p><strong><em>I’m Prankur, a Full Stack Developer from India with over 6 years of experience building mobile and web applications.</em></strong></p>
<p><strong><em>I came across the opening for [Job Title/Role] at your company and believe my skills align perfectly with what you’re looking for.</em></strong></p>
<p><strong><em>You can explore my work here: [Portfolio URL]</em></strong></p>
<p><strong><em>I’m available to start immediately and excited about the opportunity to contribute to your team and codebase.</em></strong></p>
<p><strong><em>Best regards,</em></strong></p>
<p><strong><em>Prankur Pandey</em></strong></p>
</blockquote>
<p>This small but professional touch – including your portfolio link in every email, proposal, or LinkedIn message – increases your chances of being noticed. A well-presented portfolio speaks louder than a résumé, and it helps recruiters or clients quickly understand your skills, design sense, and coding depth.</p>
<p>So, don’t just build your portfolio. <strong>Use it actively</strong>. Share it on job boards, LinkedIn posts, your GitHub bio, or even in casual conversations with potential collaborators. Every share is a new opportunity waiting to unfold.</p>
<h2 id="heading-qampa">Q&amp;A</h2>
<p><strong>1. Is building a portfolio really important?</strong><br>Absolutely. Instead of sending out a dozen links to your GitHub, Behance, and LinkedIn, it’s much more effective to combine all your work into one clean, accessible portfolio site. It makes you look organised, professional, and easy to evaluate.</p>
<p><strong>2. Is it worth buying a domain name?</strong><br>Yes, it is, if you’re serious about your career. Having your own domain (like <a target="_blank" href="http://yourname.dev"><em>yourname.dev</em></a> or <a target="_blank" href="http://yourname.com"><em>yourname.com</em></a>) gives a personal and professional touch,</p>
<p>But if you’re still learning or just experimenting, it’s fine to start with a free domain. Once you have solid projects to show, investing in your own domain is totally worth it.</p>
<p><strong>3. Can I use AI or no-code tools to build my portfolio?</strong><br>You can, but if you’re a developer, you should try coding it yourself first. It’s a great way to showcase your creativity and technical control over design and logic. Here’s a <a target="_blank" href="https://www.freecodecamp.org/news/build-a-simple-portfolio-website-with-html-and-css/">simple and straightforward guide</a> to help you get started with that.</p>
<p>Once your design is ready, you can always use AI or no-code tools to speed up the process or automate parts of it. Think of AI as a helper, not a replacement.</p>
<p><strong>4. How can I get AI tools for testing?</strong><br>It’s easy: visit the official websites of the tools you’re interested in and sign up. Most AI tools offer free trials or limited credits that you can use to explore and test their features based on your workflow and needs.</p>
<p><strong>5. I am just starting. What should I use: AI tools or the Manual Method?</strong><br>I strongly recommend using the Manual Method as it will help you to understand your craft well, and you will also build muscle memory about a technology and how it works.</p>
<p><strong>6. Which Platform should I use for hosting?</strong><br>Most of the hosting providers offer a free plan, so you can start with that. Then, when you feel the need to expand your portfolio, switch to a paid plan.</p>
<h2 id="heading-final-notes">Final Notes</h2>
<p>Building a strong portfolio requires time, effort, and attention to detail. But it’s one of the smartest investments you can make in your tech career.</p>
<p>Tools and templates can help speed up the process, but your creativity, skills, and storytelling are what truly make a portfolio stand out. A well-crafted portfolio not only shows what you can build, it reveals how you think and why your work matters.</p>
<p>While you can use design tools, frameworks, or even AI assistance to save time, make sure you understand the basics of design, structure, and usability. The goal isn’t to create something flashy; it’s to produce something clear, professional, and authentic.</p>
<p>Your portfolio is your digital identity, so treat it like your personal brand. Keep refining it as your skills grow and let it evolve alongside your career.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>A portfolio isn’t just a website. It’s your story told through your work. It helps employers, clients, and collaborators understand what you do best and why you stand out.</p>
<p>In this article, I’ve shared everything that helped me build and refine my own portfolio, from understanding design structure and copywriting to testing and optimisation benchmarks. My goal is to help you create a portfolio that not only looks great but also opens real opportunities for you.</p>
<p>In my next tutorial, I’ll explore something new for sure.</p>
<p><strong>Design + Creativity+Development + Execution = The Ultimate Developer Stack 🔥</strong></p>
<p>Keep learning, keep building, and most importantly — keep sharing your work.</p>
<p>If you found this article useful, feel free to let me know. I’m always open to learning, collaboration, and new opportunities.</p>
<p>Now it's your turn: what are you building next? Let me know by sending me a DM!</p>
<ul>
<li><p>Follow me on <strong>𝕏</strong>: <a target="_blank" href="https://x.com/prankurpandeyy">Prankur's</a> <strong>𝕏</strong></p>
</li>
<li><p>Connect with me on LinkedIn: <a target="_blank" href="https://linkedin.com/in/prankurpandeyy">Prankur's LinkedIn</a></p>
</li>
<li><p>Follow me on GitHub: <a target="_blank" href="https://github.com/prankurpandeyy">Prankur’s GitHub</a></p>
</li>
<li><p>View my Portfolio: <a target="_blank" href="https://prankurpandeyy.is-a.dev/">Prankur's Portfolio</a></p>
</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Replicate Figma Designs in Flutter — A Guide to Pixel-Perfect UI Replication ]]>
                </title>
                <description>
                    <![CDATA[ Successfully translating a Figma design into a Flutter application requires more than just placing elements on the screen. The objective is to achieve pixel-perfect fidelity, meaning that the Flutter app must precisely mirror the designer's original ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-replicate-figma-designs-in-flutter/</link>
                <guid isPermaLink="false">689533cf9f55ae375dcd160b</guid>
                
                    <category>
                        <![CDATA[ Flutter ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ handbook ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Atuoha Anthony ]]>
                </dc:creator>
                <pubDate>Thu, 07 Aug 2025 23:16:31 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1754608436544/1825df06-20a8-47a3-af5e-ae0c6d15a7c4.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Successfully translating a Figma design into a Flutter application requires more than just placing elements on the screen. The objective is to achieve pixel-perfect fidelity, meaning that the Flutter app must precisely mirror the designer's original vision. This involves paying close attention to every detail, from shadows and curve radii to line heights and spacing. A small discrepancy in any of these areas can alter the intended look and feel of the user interface.</p>
<p>This comprehensive guide provides actionable strategies and practical methods for developers. It covers the specific steps and considerations needed to bridge the gap between design files and functional code. By following the practices outlined here, you will be able to transform static Figma artboards into high-quality, fully functional Flutter UIs that exactly match the design specifications.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-table-of-contents">Table of Contents</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-prerequisites">Prerequisites</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-use-the-figma-inspect-panel-your-blueprint-for-precision">Use the Figma "Inspect" Panel: Your Blueprint for Precision</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-implement-a-consistent-spacing-amp-sizing-system-the-end-of-magic-numbers">Implement a Consistent Spacing &amp; Sizing System: The End of Magic Numbers</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-replicate-typography-with-absolute-fidelity-beyond-basic-fonts">Replicate Typography with Absolute Fidelity: Beyond Basic Fonts</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-deconstruct-layouts-with-flutters-primitives-column-row-stack-and-spacer">Deconstruct Layouts with Flutter's Primitives: Column, Row, Stack, and Spacer</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-master-boxdecoration-the-aesthetic-workhorse">Master BoxDecoration: The Aesthetic Workhorse</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-utilize-cliprrect-and-overflow-management-handling-the-intangibles">Utilize ClipRRect and Overflow Management: Handling the Intangibles</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-leverage-fittedbox-and-aspectratio-maintaining-proportions">Leverage FittedBox and AspectRatio: Maintaining Proportions</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-replicate-opacity-and-blending-modes-the-subtle-layers">Replicate Opacity and Blending Modes: The Subtle Layers</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-implement-vectors-and-icons-with-scalability-sharpness-at-any-scale">Implement Vectors and Icons with Scalability: Sharpness at Any Scale</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-master-componentization-and-reusability-building-scalable-uis">Master Componentization and Reusability: Building Scalable UIs</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-scrutinize-interactive-states-buttons-inputs-and-others">Scrutinize Interactive States: Buttons, Inputs, and Others</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-cross-reference-and-iterate-continuously-the-verification-loop">Cross-Reference and Iterate Continuously: The Verification Loop</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-understand-design-system-thinking-beyond-individual-components">Understand Design System Thinking: Beyond Individual Components</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-embrace-constraints-and-responsiveness-adapting-to-all-screens">Embrace Constraints and Responsiveness: Adapting to All Screens</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-handling-assets-efficiently-images-and-svgs">Handling Assets Efficiently: Images and SVGs</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-accessibility-considerations-designing-for-everyone">Accessibility Considerations: Designing for Everyone</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-performance-optimization-during-replication">Performance Optimization during Replication</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-version-control-and-collaboration-working-with-teams">Version Control and Collaboration: Working with Teams</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-handling-edge-cases-and-data-dynamics">Handling Edge Cases and Data Dynamics</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-implement-vectors-and-icons-with-scalability-achieving-visual-consistency-across-all-resolutions">Implement Vectors and Icons with Scalability: Achieving Visual Consistency Across All Resolutions</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-self-correction-and-learning-from-mistakes">Self-Correction and Learning from Mistakes</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-project-overview">Project Overview</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<h2 id="heading-prerequisites">Prerequisites</h2>
<p>To effectively follow and implement the strategies outlined in the comprehensive guide for pixel-perfect Figma to Flutter replication, you should ideally possess the following prerequisites:</p>
<h3 id="heading-i-foundational-programming-amp-framework-knowledge"><strong>I. Foundational Programming &amp; Framework Knowledge</strong></h3>
<ol>
<li><p><strong>Dart Programming Language:</strong></p>
<ul>
<li><p><strong>Core Concepts:</strong> Solid understanding of Dart's syntax, data types, variables, control flow (<code>if/else</code>, loops), functions, classes, objects, and asynchronous programming (Futures, <code>async</code>/<code>await</code>).</p>
</li>
<li><p><strong>Null Safety:</strong> Familiarity with Dart's null safety features.</p>
</li>
</ul>
</li>
<li><p><strong>Flutter SDK &amp; Development Environment:</strong></p>
<ul>
<li><p><strong>Installation &amp; Setup:</strong> Flutter SDK correctly installed and configured on your machine.</p>
</li>
<li><p><strong>IDE Proficiency:</strong> Familiarity with a Flutter-compatible IDE like VS Code or Android Studio, including running/debugging apps, using hot reload/restart.</p>
</li>
<li><p><strong>Basic Project Structure:</strong> Understanding of a typical Flutter project's directory structure (<code>lib</code>, <code>assets</code>, <code>pubspec.yaml</code>, etc.).</p>
</li>
</ul>
</li>
<li><p><strong>Fundamental Flutter Concepts:</strong></p>
<ul>
<li><p><strong>Widget Tree:</strong> A clear understanding of how Flutter's widget tree works, including parent-child relationships and widget composition.</p>
</li>
<li><p><strong>StatelessWidget &amp; StatefulWidget:</strong> Ability to differentiate and appropriately use <code>StatelessWidget</code> for static UI and <code>StatefulWidget</code> for dynamic/interactive UI.</p>
</li>
<li><p><strong>Build Context:</strong> Understanding of <code>BuildContext</code> and its role in the widget tree.</p>
</li>
</ul>
</li>
</ol>
<h3 id="heading-ii-essential-figma-knowledge"><strong>II. Essential Figma Knowledge</strong></h3>
<ol>
<li><p><strong>Figma Interface Navigation:</strong></p>
<ul>
<li><p>Ability to open and navigate Figma files and artboards.</p>
</li>
<li><p>Understanding of layers, groups, and frames.</p>
</li>
</ul>
</li>
<li><p><strong>Figma "Inspect" Panel Mastery:</strong></p>
<ul>
<li><p><strong>Crucial:</strong> Proficient use of the "Inspect" panel to extract precise values for:</p>
<ul>
<li><p>Dimensions (width, height)</p>
</li>
<li><p>Spacing (padding, margin, gap between elements)</p>
</li>
<li><p>Colors (hex codes, RGB, opacity)</p>
</li>
<li><p>Typography (font family, weight, size, line height, letter spacing)</p>
</li>
<li><p>Borders (radius, width, color)</p>
</li>
<li><p>Shadows (offset, blur, spread, color, opacity)</p>
</li>
<li><p>Gradients (colors, stops, angle)</p>
</li>
</ul>
</li>
<li><p><strong>Understanding Auto Layout:</strong> Basic comprehension of how Auto Layout works in Figma, as it often dictates Flutter's <code>Column</code>/<code>Row</code> and <code>Spacer</code>/<code>Expanded</code> usage.</p>
</li>
</ul>
</li>
<li><p><strong>Figma Asset Export:</strong></p>
<ul>
<li>Knowledge of how to select and export various assets from Figma (images, SVGs) in the correct formats and resolutions.</li>
</ul>
</li>
</ol>
<h3 id="heading-iii-general-development-practices-highly-recommended"><strong>III. General Development Practices (Highly Recommended):</strong></h3>
<ol>
<li><p><strong>Version Control (Git):</strong></p>
<ul>
<li>Basic understanding of Git commands (clone, add, commit, push, pull, branch). This is essential for collaborative development and managing code changes.</li>
</ul>
</li>
<li><p><strong>Debugging Skills:</strong></p>
<ul>
<li><p>Ability to use your IDE's debugger to inspect widget trees, variable values, and diagnose issues.</p>
</li>
<li><p>Familiarity with Flutter DevTools for UI inspection and performance profiling.</p>
</li>
</ul>
</li>
<li><p><strong>Problem-Solving:</strong></p>
<ul>
<li><p>A logical approach to breaking down complex problems into smaller, manageable parts.</p>
</li>
<li><p>Patience and persistence in troubleshooting visual discrepancies.</p>
</li>
</ul>
</li>
</ol>
<h2 id="heading-use-the-figma-inspect-panel-your-blueprint-for-precision">Use the Figma "Inspect" Panel: Your Blueprint for Precision</h2>
<p>The "Inspect" panel in Figma is your single most valuable resource. Before you write a single line of code, spend significant time dissecting every element here. Think of it as your precise blueprint.</p>
<ul>
<li><p><strong>Exact Dimensions:</strong> Don't approximate. Note down exact <code>width</code> and <code>height</code> values, even if they have decimals (for example, <code>123.45px</code>). Flutter's <code>double</code> values perfectly accommodate this precision.</p>
</li>
<li><p><strong>Granular Spacing:</strong> Examine <code>margin</code> and <code>padding</code> from all four sides. Are they uniform, or is there asymmetry? This dictates whether you use <code>EdgeInsets.all()</code>, <code>EdgeInsets.symmetric()</code>, or the more specific <code>EdgeInsets.fromLTRB()</code>.</p>
</li>
<li><p><strong>Positioning Logic:</strong> Understand if an element is absolutely positioned or part of an Auto Layout frame. This crucial distinction determines whether you'll employ <code>Positioned</code> widgets within a <code>Stack</code> or rely on <code>Column</code>/<code>Row</code> with <code>mainAxisAlignment</code> and <code>crossAxisAlignment</code>.</p>
</li>
<li><p><strong>Typographical Deep Dive:</strong> Extract the exact font family, weight (for example, "Inter Medium," "Inter Bold"), size, line height, letter spacing, and color. Every one of these properties has a direct counterpart in Flutter's <code>TextStyle</code>.</p>
</li>
<li><p><strong>Color Codes:</strong> Copy the hex codes exactly. Always use <code>Color(0xFFRRGGBB)</code> in Flutter to ensure exact color matching, including the alpha channel if specified.</p>
</li>
<li><p><strong>Borders &amp; Shadows:</strong> Extract border radius, color, width, and for shadows, the x/y offset, blur, spread, and color. These translate directly to <code>BoxDecoration</code> and <code>BoxShadow</code> properties.</p>
</li>
<li><p><strong>Gradients:</strong> If a gradient is present, meticulously note its angle, the precise colors involved, and their respective stops. Flutter's <code>LinearGradient</code> or <code>RadialGradient</code> will be your tools here.</p>
</li>
</ul>
<h2 id="heading-implement-a-consistent-spacing-amp-sizing-system-the-end-of-magic-numbers">Implement a Consistent Spacing &amp; Sizing System: The End of Magic Numbers</h2>
<p>Randomly hardcoding <code>16.0</code>, <code>8.0</code>, or <code>24.0</code> throughout your codebase is a recipe for inconsistency and maintenance headaches. Establish a design system for spacing and sizing.</p>
<ul>
<li><p><strong>Identify the Base Unit:</strong> Figma designs often implicitly use a base spacing unit (for example, all paddings are multiples of 4 or 8 pixels). Identify this consistent increment.</p>
</li>
<li><p><strong>Centralized Constants:</strong> Create a dedicated file, perhaps <code>lib/utils/app_dimensions.dart</code>, to store your spacing and sizing variables.</p>
<pre><code class="lang-dart">  <span class="hljs-comment">// lib/utils/app_dimensions.dart</span>
  <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">AppDimensions</span> </span>{
    <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingSmall = <span class="hljs-number">8.0</span>;
    <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingMedium = <span class="hljs-number">16.0</span>;
    <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingLarge = <span class="hljs-number">24.0</span>;
    <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> iconSizeMedium = <span class="hljs-number">24.0</span>;
    <span class="hljs-comment">// ... and so on for all consistent measurements</span>
  }
</code></pre>
</li>
<li><p><strong>Consistent Usage:</strong> Always refer to these constants in your widgets:</p>
<pre><code class="lang-dart">  Padding(
    padding: <span class="hljs-keyword">const</span> EdgeInsets.all(AppDimensions.spacingMedium),
    child: <span class="hljs-comment">// ...</span>
  ),
  SizedBox(width: AppDimensions.spacingSmall),
</code></pre>
</li>
<li><p><strong>Benefit:</strong> This approach not only ensures consistent visual rhythm but also simplifies global design adjustments.</p>
</li>
</ul>
<h2 id="heading-replicate-typography-with-absolute-fidelity-beyond-basic-fonts">Replicate Typography with Absolute Fidelity: Beyond Basic Fonts</h2>
<p>Text is a cornerstone of UI design. Achieving pixel-perfect typography means going beyond just selecting the right font family.</p>
<ul>
<li><p><strong>Custom Font Integration:</strong> If your Figma design uses custom fonts, you must correctly add them to your <code>pubspec.yaml</code> and ensure they load properly in your Flutter app.</p>
</li>
<li><p><strong>Precise Font Weights:</strong> Distinguish meticulously between <code>FontWeight.w400</code> (Regular), <code>w500</code> (Medium), <code>w600</code> (SemiBold), <code>w700</code> (Bold), and so on. The Figma inspect panel will provide the exact weight.</p>
</li>
<li><p><code>fontSize</code> Accuracy: Use the exact pixel size from Figma for your <code>fontSize</code> property in <code>TextStyle</code>.</p>
</li>
<li><p><strong>Line Height (</strong><code>height</code>): This is paramount for vertical text spacing. Figma's "Line Height" property, often expressed as a percentage or pixel value, needs conversion. If Figma states <code>24px</code> line height for a <code>16px</code> font size, your <code>TextStyle</code> <code>height</code> property should be <code>24 / 16 = 1.5</code>.</p>
</li>
<li><p><code>letterSpacing</code>: Directly apply the letter spacing value from Figma (which is often in pixels and translates directly to Flutter's <code>letterSpacing</code> property).</p>
</li>
<li><p><code>textBaseline</code> (Advanced): For very specific multi-font or icon-with-text alignments, you might occasionally need to fine-tune <code>textBaseline</code> to match Figma's visual precision.</p>
</li>
</ul>
<h2 id="heading-deconstruct-layouts-with-flutters-primitives-column-row-stack-and-spacer">Deconstruct Layouts with Flutter's Primitives: <code>Column</code>, <code>Row</code>, <code>Stack</code>, and <code>Spacer</code></h2>
<p>Flutter's declarative layout system offers powerful primitives. Learning to map Figma's visual arrangements to these widgets is key.</p>
<ul>
<li><p><strong>Primary Flow:</strong> Determine if the main flow of elements is horizontal (<code>Row</code>) or vertical (<code>Column</code>).</p>
</li>
<li><p><strong>Overlapping Elements (</strong><code>Stack</code>): If elements are layered or positioned on top of each other in Figma, a <code>Stack</code> widget combined with <code>Positioned</code> children is the correct approach. Do not force overlapping elements into <code>Column</code>/<code>Row</code> with complex negative margins or paddings.</p>
</li>
<li><p><strong>Content Distribution:</strong></p>
<ul>
<li><p><code>mainAxisAlignment</code>: Use this to distribute children along the main axis of a <code>Row</code> or <code>Column</code> (for example, <code>start</code>, <code>center</code>, <code>end</code>, <code>spaceBetween</code>, <code>spaceAround</code>, <code>spaceEvenly</code>).</p>
</li>
<li><p><code>crossAxisAlignment</code>: Use this to align children along the cross axis (for example, <code>start</code>, <code>center</code>, <code>end</code>, <code>stretch</code>, <code>baseline</code>).</p>
</li>
</ul>
</li>
<li><p><strong>Flexible Spacing (</strong><code>Spacer</code>): Replicate Figma's "stretch" or "fill available space" auto-layout behaviors using <code>Spacer()</code> widgets within <code>Row</code> or <code>Column</code>.</p>
</li>
<li><p><strong>Adaptive Sizing (</strong><code>Expanded</code>, <code>Flexible</code>): When elements need to take up remaining space or be constrained within a certain proportion, <code>Expanded</code> and <code>Flexible</code> are essential. Mimic Figma's "Fill Container" or "Fixed Width" behaviors precisely.</p>
</li>
</ul>
<h2 id="heading-master-boxdecoration-the-aesthetic-workhorse">Master <code>BoxDecoration</code>: The Aesthetic Workhorse</h2>
<p><code>BoxDecoration</code> is your primary tool for replicating the visual aesthetics of containers in Figma, including backgrounds, borders, shadows, and gradients.</p>
<ul>
<li><p><code>color</code>: The background color of the container, directly from Figma's hex code.</p>
</li>
<li><p><code>borderRadius</code>: Match Figma's exact corner radii. Use <code>BorderRadius.circular()</code> for uniform corners, <code>BorderRadius.only()</code> for specific corners, or <code>BorderRadius.all(Radius.elliptical(x, y))</code> for more complex shapes.</p>
</li>
<li><p><code>border</code>: Replicate border styles using <code>Border.all(color: ..., width: ...)</code> or more specific options like <code>Border.symmetric()</code> or <code>BorderDirectional()</code> if individual sides have different styles.</p>
</li>
<li><p><code>boxShadow</code>: This is where minute details truly matter. Extract every value:</p>
<pre><code class="lang-dart">  boxShadow: [
    BoxShadow(
      color: Color(<span class="hljs-number">0x33000000</span>), <span class="hljs-comment">// Exact color, including opacity (alpha channel)</span>
      offset: Offset(<span class="hljs-number">0</span>, <span class="hljs-number">4</span>),      <span class="hljs-comment">// Exact X and Y offset</span>
      blurRadius: <span class="hljs-number">8</span>,             <span class="hljs-comment">// Exact blur radius</span>
      spreadRadius: <span class="hljs-number">0</span>,           <span class="hljs-comment">// Exact spread radius (often 0, but always verify)</span>
    ),
  ],
</code></pre>
</li>
<li><p><code>gradient</code>: Precisely translate linear or radial gradients:</p>
<pre><code class="lang-dart">  gradient: LinearGradient(
    begin: Alignment.topLeft, <span class="hljs-comment">// Or specific angles derived from Figma</span>
    end: Alignment.bottomRight,
    colors: [Color(<span class="hljs-number">0xFF00FF00</span>), Color(<span class="hljs-number">0xFF0000FF</span>)], <span class="hljs-comment">// Exact colors</span>
    stops: [<span class="hljs-number">0.0</span>, <span class="hljs-number">1.0</span>], <span class="hljs-comment">// Exact color stop positions</span>
  ),
</code></pre>
</li>
</ul>
<h2 id="heading-utilize-cliprrect-and-overflow-management-handling-the-intangibles">Utilize <code>ClipRRect</code> and Overflow Management: Handling the Intangibles</h2>
<p>Sometimes, elements in Figma might appear to "spill out" or be precisely cropped. Understanding Flutter's clipping and overflow behavior is critical.</p>
<ul>
<li><p><code>ClipRRect</code> for Rounded Corners: If a child widget's content needs to be clipped to a parent's rounded corners (for example, an image within a card), wrap the child in <code>ClipRRect</code>. Don't solely rely on the parent's <code>BoxDecoration</code>, especially in complex hierarchies.</p>
</li>
<li><p><strong>Overflow Behavior (</strong><code>OverflowBox</code>): Figma designs might show elements extending beyond a frame's boundaries. By default, <code>Column</code>/<code>Row</code> clip content (<code>overflow: Clip.hardEdge</code>). If you need content to be visible outside its immediate parent, you might need a <code>Stack</code> or explicitly manage overflow, potentially using an <code>OverflowBox</code> for specific scenarios.</p>
</li>
<li><p><strong>Extended Shadows:</strong> If a shadow in Figma extends significantly beyond its element, ensure your <code>BoxShadow</code> <code>spreadRadius</code> and <code>offset</code> values are accurate. Also, confirm that the parent container allows for this visual extension (for example, it doesn't have <code>clipBehavior: Clip.hardEdge</code> if clipping is not desired).</p>
</li>
</ul>
<h2 id="heading-leverage-fittedbox-and-aspectratio-maintaining-proportions">Leverage <code>FittedBox</code> and <code>AspectRatio</code>: Maintaining Proportions</h2>
<p>Images and content blocks often need to scale proportionally or fit within specific areas. These widgets are indispensable for responsive design.</p>
<ul>
<li><p><code>FittedBox</code>: Excellent for ensuring a child widget (like an icon or text block) scales to fit its parent, while maintaining its original aspect ratio. Carefully consider the <code>fit</code> properties like <code>contain</code>, <code>cover</code>, <code>fill</code>, and <code>scaleDown</code> to match Figma's behavior.</p>
</li>
<li><p><code>AspectRatio</code>: Crucial for images, videos, or any container where the ratio of width to height must be maintained regardless of the available screen space.</p>
<pre><code class="lang-dart">  AspectRatio(
    aspectRatio: <span class="hljs-number">16</span> / <span class="hljs-number">9</span>, <span class="hljs-comment">// Derived directly from Figma's image dimensions</span>
    child: Image.network(<span class="hljs-string">'...'</span>),
  ),
</code></pre>
</li>
<li><p><strong>Smart Image Sizing:</strong> Avoid setting fixed <code>width</code> and <code>height</code> on <a target="_blank" href="http://Image.network"><code>Image.network</code></a> or <code>Image.asset</code> unless the design explicitly dictates a static size. Instead, think about how the image scales and fills its container in Figma.</p>
</li>
</ul>
<h2 id="heading-replicate-opacity-and-blending-modes-the-subtle-layers">Replicate Opacity and Blending Modes: The Subtle Layers</h2>
<p>Subtle effects often define the "feel" of a design. Don't overlook transparency and blending.</p>
<ul>
<li><p><code>Opacity</code> Widget: Use this widget for general element transparency.</p>
</li>
<li><p><strong>Alpha Channel in Colors:</strong> For background colors, borders, or text colors with transparency, always include the alpha channel in your hex code (for example, <code>0x80RRGGBB</code> for 50% opacity).</p>
</li>
<li><p><code>ColorFiltered</code> or <code>ShaderMask</code> (Advanced Blending): While less common for everyday designs, if Figma utilizes complex blending modes (for example, "Multiply," "Screen," "Overlay"), you'll need to explore <code>ColorFiltered</code> with its <code>blendMode</code> property or, for more advanced custom effects, <code>ShaderMask</code>. Look for subtle color interactions where one visual layer directly affects another.</p>
</li>
</ul>
<h2 id="heading-implement-vectors-and-icons-with-scalability-sharpness-at-any-scale">Implement Vectors and Icons with Scalability: Sharpness at Any Scale</h2>
<p>Rasterizing icons or complex vector shapes is a common mistake that leads to blurriness on different screen densities. Embrace vector graphics.</p>
<ul>
<li><p><strong>SVG Icons:</strong> Always export icons from Figma as SVGs. Leverage a library like <code>flutter_svg</code> to render them in your Flutter app, ensuring crispness and scalability across all device resolutions.</p>
</li>
<li><p><code>CustomPaint</code> for Unique Shapes: For highly unique, non-standard shapes, illustrations, or complex dividers, <code>CustomPainter</code> is your ultimate tool. This requires translating Figma's vector paths (Bezier curves, lines) into Flutter's <code>Path</code> object. This is the epitome of "deep attention to detail" for custom graphics.</p>
</li>
<li><p><strong>Icon Fonts:</strong> For standard icon sets (for example, Material Icons, Font Awesome), use Flutter's built-in <code>Icon</code> widget or import the specific icon font family into your <code>pubspec.yaml</code> and reference it in your <code>Icon</code> widget.</p>
</li>
</ul>
<h2 id="heading-master-componentization-and-reusability-building-scalable-uis">Master Componentization and Reusability: Building Scalable UIs</h2>
<p>Figma's components are not just for design, they're a direct hint at how to structure your Flutter code.</p>
<ul>
<li><p><strong>Identify Figma Components:</strong> Every button, card, input field, or navigation bar that's a component in Figma should ideally be a reusable <code>StatelessWidget</code> or <code>StatefulWidget</code> in Flutter.</p>
</li>
<li><p><strong>Prop-Based Customization:</strong> Design your Flutter components to accept parameters (props) for text, colors, icons, and interactive behaviors, just like Figma components have variants or properties.</p>
</li>
<li><p><strong>Theme Integration:</strong> Leverage Flutter's <code>ThemeData</code> to define global styles for colors, typography, and widget behaviors. This mirrors Figma's design tokens and ensures consistency across your app.</p>
</li>
<li><p><strong>Shared Styles:</strong> Create classes or constants for frequently used <code>TextStyle</code> or <code>BoxDecoration</code> to centralize your design language.</p>
</li>
</ul>
<h2 id="heading-scrutinize-interactive-states-buttons-inputs-and-others">Scrutinize Interactive States: Buttons, Inputs, and Others</h2>
<p>Design isn't static. Replicating interactive states is a critical, often overlooked, detail.</p>
<ul>
<li><p><strong>Hover, Press, Focus:</strong> Figma designs often include states for buttons (hover, pressed), input fields (focused, error), and other interactive elements. You must implement these in Flutter using <code>GestureDetector</code>, <code>InkWell</code>, <code>MaterialButton</code>, <code>TextFormField</code>, and so on, and manage their state visually.</p>
</li>
<li><p><strong>Animations:</strong> If Figma showcases micro-interactions or transitions, plan how to replicate them using <code>AnimatedContainer</code>, <code>Hero</code> animations, <code>PageTransitionsBuilder</code>, or custom <code>AnimationController</code>.</p>
</li>
<li><p><strong>Disabled States:</strong> Ensure that disabled buttons or input fields are visually distinct and match their Figma counterparts in color, opacity, and cursor changes.</p>
</li>
</ul>
<h2 id="heading-cross-reference-and-iterate-continuously-the-verification-loop">Cross-Reference and Iterate Continuously: The Verification Loop</h2>
<p>Replication is not a one-time task, it's an iterative process of comparison and refinement.</p>
<ul>
<li><p><strong>Side-by-Side Comparison:</strong> Always have your Flutter app running on a device or emulator right next to your Figma design. Ideally, take screenshots of your app and overlay them on the Figma design to spot discrepancies.</p>
</li>
<li><p><strong>Pixel-by-Pixel Scan:</strong> Literally zoom into both the Figma design and your running Flutter app. Look for:</p>
<ul>
<li><p><strong>Off-by-One Errors:</strong> A single pixel difference in padding, border, or spacing.</p>
</li>
<li><p><strong>Subtle Color Shifts:</strong> Are the colors exactly the same? Account for monitor calibration, but strive for hex code matching.</p>
</li>
<li><p><strong>Font Rendering Nuances:</strong> Sometimes font rendering can subtly vary across platforms or Flutter's text engine. Adjust <code>letterSpacing</code> or <code>height</code> slightly if needed to achieve visual parity.</p>
</li>
<li><p><strong>Shadow Fidelity:</strong> Are the shadows exactly as soft/hard, diffuse, and offset as in Figma?</p>
</li>
<li><p><strong>Alignment Precision:</strong> Even a tiny misalignment of text baselines or icon centers must be corrected.</p>
</li>
</ul>
</li>
<li><p><strong>Automated Tools (If Applicable):</strong> While manual inspection is paramount, some plugins or third-party tools can assist in comparing Flutter UI with Figma, offering a quick initial check.</p>
</li>
<li><p><strong>Peer Review:</strong> A fresh pair of eyes from another developer can often spot details you've become blind to.</p>
</li>
</ul>
<h2 id="heading-understand-design-system-thinking-beyond-individual-components">Understand Design System Thinking: Beyond Individual Components</h2>
<p><strong>Why it Matters:</strong> Figma files often represent a living design system. Understanding this philosophy helps you build a more robust and maintainable Flutter app.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Design Tokens:</strong> Recognize how Figma uses "design tokens" (variables for colors, typography, spacing, shadows). Translate these directly into Flutter's <code>ThemeData</code>, custom <code>Color</code> and <code>TextStyle</code> constants, and your <code>AppDimensions</code> class.</p>
</li>
<li><p><strong>Component Libraries:</strong> Think of your Flutter widgets as a direct extension of the Figma component library. Each component in Figma should ideally correspond to a well-defined, reusable Flutter widget.</p>
</li>
<li><p><strong>Naming Conventions:</strong> Adopt consistent naming conventions in your code that mirror Figma's (for example, <code>primaryButton</code>, <code>headline1TextStyle</code>). This creates a shared language between designers and developers.</p>
</li>
</ul>
<h2 id="heading-embrace-constraints-and-responsiveness-adapting-to-all-screens">Embrace Constraints and Responsiveness: Adapting to All Screens</h2>
<p><strong>Why it Matters:</strong> Figma designs are often fixed at a certain width (for example, 375px for mobile). Your Flutter app must be responsive and adapt gracefully to various screen sizes, orientations, and device types.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Figma Constraints:</strong> Pay close attention to how elements are constrained in Figma (left/right, top/bottom, center, scale). These directly inform your use of <code>Flexible</code>, <code>Expanded</code>, <code>Align</code>, <code>Positioned</code>, and <code>FractionallySizedBox</code> in Flutter.</p>
</li>
<li><p><code>MediaQuery</code>: Use <code>MediaQuery.of(context).size</code> to get the current screen dimensions and adapt layouts accordingly. Avoid fixed pixel widths/heights for entire screens.</p>
</li>
<li><p><strong>Layout Builders (</strong><code>LayoutBuilder</code>, <code>OrientationBuilder</code>): For more complex responsive layouts, use <code>LayoutBuilder</code> to get the available constraints of a parent widget and adjust children based on that. <code>OrientationBuilder</code> helps adapt to portrait vs. landscape modes.</p>
</li>
<li><p><strong>Relative Units:</strong> Where possible, think in terms of percentages or fractions (<code>FractionallySizedBox</code>) rather than absolute pixel values for spacing and sizing that needs to scale.</p>
</li>
</ul>
<h2 id="heading-handling-assets-efficiently-images-and-svgs">Handling Assets Efficiently: Images and SVGs</h2>
<p><strong>Why it Matters:</strong> Proper asset management is crucial for performance and scalability.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Export Formats:</strong> Discuss with designers the best export formats. For icons and simple illustrations, SVGs are king (<code>flutter_svg</code> library). For complex photos, PNG or WebP (with proper compression) are often preferred.</p>
</li>
<li><p><strong>Resolution:</strong> For raster images (PNG, JPG), ensure designers export assets at 2x and 3x resolutions, and place them in <code>assets/images/2.0x/</code> and <code>assets/images/3.0x/</code> directories respectively, so Flutter automatically picks the correct one for the device's pixel density.</p>
</li>
<li><p><strong>Asset Bundling:</strong> Declare all your assets in <code>pubspec.yaml</code> under the <code>assets:</code> section.</p>
</li>
<li><p><strong>Image Caching:</strong> For network images, consider using <code>cached_network_image</code> to improve performance and user experience.</p>
</li>
</ul>
<h2 id="heading-accessibility-considerations-designing-for-everyone">Accessibility Considerations: Designing for Everyone</h2>
<p><strong>Why it Matters:</strong> A pixel-perfect replica isn't truly complete if it's not accessible. Figma designs should ideally include accessibility annotations, but as a developer, you're the last line of defense.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Semantic Widgets:</strong> Use Flutter's semantic widgets whenever possible (for example, <code>ElevatedButton</code> instead of a custom <code>Container</code> with a <code>GestureDetector</code>). These widgets often have built-in accessibility features.</p>
</li>
<li><p><strong>Meaningful Labels:</strong> Provide <code>semanticsLabel</code> for icons and images that convey information to screen readers.</p>
</li>
<li><p><strong>Color Contrast:</strong> While primarily a design responsibility, double-check color contrast ratios, especially for text, against WCAG guidelines. If the design is failing, flag it.</p>
</li>
<li><p><strong>Tap Targets:</strong> Ensure interactive elements have sufficiently large tap targets (minimum 48x48 logical pixels) even if the visual element is smaller, using <code>minWidth</code> on buttons or <code>Padding</code> around <code>Icons</code>.</p>
</li>
</ul>
<h2 id="heading-performance-optimization-during-replication">Performance Optimization during Replication</h2>
<p><strong>Why it Matters:</strong> A beautiful UI is useless if it's janky. Code-level decisions impact performance.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><code>const</code> Widgets: Use <code>const</code> constructor for widgets whenever possible. This tells Flutter that the widget can be reused without rebuilding, significantly improving performance. This is a common missed opportunity.</p>
</li>
<li><p><code>RepaintBoundary</code>: For complex, static parts of your UI that don't change often but have many children or custom painting, consider wrapping them in a <code>RepaintBoundary</code> to prevent unnecessary repaints of their children.</p>
</li>
<li><p><strong>Avoid Deep Nesting:</strong> While Flutter's widget tree is deep, excessively deep nesting can sometimes lead to performance issues. Try to flatten your widget tree where logical (for example, using <code>Wrap</code> instead of many nested <code>Rows</code> for flow layouts).</p>
</li>
<li><p><strong>Profile Your App:</strong> Use Flutter DevTools's Performance tab to identify UI flaws and memory leaks early in the development process.</p>
</li>
</ul>
<h2 id="heading-version-control-and-collaboration-working-with-teams">Version Control and Collaboration: Working with Teams</h2>
<p><strong>Why it Matters:</strong> UI development is rarely a solo endeavor. Effective team collaboration is essential.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Git Best Practices:</strong> Use Git for version control. Create feature branches for specific UI screens or components. Commit frequently with descriptive messages.</p>
</li>
<li><p><strong>Code Reviews:</strong> Get your UI code reviewed by peers. They can spot missed details, potential performance issues, or suggest better widget usage.</p>
</li>
<li><p><strong>Communication with Designers:</strong> Maintain an open channel of communication. If a Figma detail is unclear, ask. If a replication is proving difficult, discuss alternatives. Use tools like Slack, Discord, or project management platforms to share progress and clarify requirements.</p>
</li>
<li><p><strong>Figma Plugins/Integrations:</strong> Explore Figma plugins that might aid developers (for example, extracting CSS/Flutter code snippets, though often these are just starting points).</p>
</li>
</ul>
<h2 id="heading-handling-edge-cases-and-data-dynamics">Handling Edge Cases and Data Dynamics</h2>
<p><strong>Why it Matters:</strong> Designs often show ideal states. Real-world apps have varying data, empty states, and loading states.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Empty States:</strong> Replicate any "empty state" designs from Figma (for example, empty shopping cart, no search results).</p>
</li>
<li><p><strong>Loading States:</strong> How does the UI look when data is being fetched (for example, skeletons, loading spinners)?</p>
</li>
<li><p><strong>Error States:</strong> What happens if an API call fails or input validation errors occur? Ensure these are designed and replicated.</p>
</li>
<li><p><strong>Dynamic Content:</strong> Consider how varying text lengths (short vs. long names), image aspect ratios from real data, or lists with many/few items will affect your layout. Test with diverse data.</p>
</li>
</ul>
<h2 id="heading-implement-vectors-and-icons-with-scalability-achieving-visual-consistency-across-all-resolutions">Implement Vectors and Icons with Scalability: Achieving Visual Consistency Across All Resolutions</h2>
<p>Rasterizing icons or complex vector shapes is a common mistake that leads to blurriness on different screen densities. Embrace vector graphics and ensure you're using the <strong>exact icons</strong> specified in the design.</p>
<ul>
<li><p><strong>Exact Icon Source Verification:</strong></p>
<ul>
<li><p><strong>Figma Inspect Panel:</strong> For each icon, meticulously check the "Inspect" panel in Figma. Does it indicate a specific icon font (for example, Material Icons, Font Awesome), a custom SVG, or a raster image?</p>
</li>
<li><p><strong>Design System Documentation:</strong> Consult the design system documentation (if available) for the prescribed icon set and how they should be implemented.</p>
</li>
</ul>
</li>
<li><p><strong>SVG Icons (Preferred for Custom Icons):</strong></p>
<ul>
<li><p><strong>Export from Figma:</strong> Always export custom or unique icons from Figma as SVGs. This format ensures they scale without pixelation.</p>
</li>
<li><p><strong>Flutter Integration:</strong> Leverage the <code>flutter_svg</code> package (add <code>flutter_svg: ^x.x.x</code> to your <code>pubspec.yaml</code>).</p>
<pre><code class="lang-dart">  <span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter_svg/flutter_svg.dart'</span>;
  <span class="hljs-comment">// ...</span>
  SvgPicture.asset(
    <span class="hljs-string">'assets/icons/my_custom_icon.svg'</span>,
    width: <span class="hljs-number">24.0</span>, <span class="hljs-comment">// Match Figma's exact size for initial layout</span>
    height: <span class="hljs-number">24.0</span>,
    colorFilter: ColorFilter.mode(Colors.black, BlendMode.srcIn), <span class="hljs-comment">// Match icon color if needed</span>
  );
</code></pre>
</li>
</ul>
</li>
<li><p><strong>Icon Fonts (Preferred for Standard Sets):</strong></p>
<ul>
<li><p><strong>Identify the Font:</strong> If Figma uses a standard icon font like Material Icons, Cupertino Icons, or Font Awesome, ensure you're using the correct one.</p>
</li>
<li><p><strong>Material/Cupertino Icons:</strong> For built-in Flutter icons, simply use the <code>Icon</code> widget with the appropriate constant:</p>
<pre><code class="lang-dart">  Icon(
    Icons.arrow_back,
    size: <span class="hljs-number">24.0</span>, <span class="hljs-comment">// Match Figma's exact size</span>
    color: Colors.blue, <span class="hljs-comment">// Match Figma's exact color</span>
  );
</code></pre>
</li>
<li><p><strong>Custom Icon Fonts (for example, Font Awesome, custom brand icons):</strong></p>
<ol>
<li><p><strong>Obtain Font Files:</strong> Get the <code>.ttf</code> font file(s) from your designer or the icon font provider.</p>
</li>
<li><p><strong>Add to</strong> <code>pubspec.yaml</code>:</p>
<pre><code class="lang-yaml"> <span class="hljs-attr">flutter:</span>
   <span class="hljs-attr">fonts:</span>
     <span class="hljs-bullet">-</span> <span class="hljs-attr">family:</span> <span class="hljs-string">MyCustomIcons</span>
       <span class="hljs-attr">fonts:</span>
         <span class="hljs-bullet">-</span> <span class="hljs-attr">asset:</span> <span class="hljs-string">assets/fonts/MyCustomIcons.ttf</span>
</code></pre>
</li>
<li><p><strong>Reference in Code:</strong> Create a <code>static const IconData</code> class or use the direct <code>Icon</code> constructor:</p>
<pre><code class="lang-dart"> <span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;

 <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MyCustomIcons</span> </span>{
   MyCustomIcons._(); <span class="hljs-comment">// Private constructor</span>

   <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> IconData home = IconData(<span class="hljs-number">0xe900</span>, fontFamily: <span class="hljs-string">'MyCustomIcons'</span>);
   <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> IconData settings = IconData(<span class="hljs-number">0xe901</span>, fontFamily: <span class="hljs-string">'MyCustomIcons'</span>);
   <span class="hljs-comment">// ... map other icons using their Unicode code points from the font</span>
 }

 <span class="hljs-comment">// Usage:</span>
 Icon(MyCustomIcons.home, size: <span class="hljs-number">24.0</span>, color: Colors.red);
</code></pre>
</li>
</ol>
</li>
</ul>
</li>
<li><p><code>CustomPaint</code> (For Complex, Unique Shapes):</p>
<ul>
<li><strong>Vector Path Translation:</strong> If the icon is a highly custom, unique illustration that can't be easily exported as a simple SVG or is part of a larger complex graphic, you might need to translate its vector paths from Figma into a <code>Path</code> object using <code>CustomPainter</code>. This is the most granular level of icon replication.</li>
</ul>
</li>
<li><p><strong>Avoid Rasterized Icons:</strong> Unless an icon is inherently a photograph or complex raster image, <strong>never export icons as PNG or JPG</strong> as they will pixelate when scaled or viewed on high-density screens.</p>
</li>
</ul>
<h2 id="heading-self-correction-and-learning-from-mistakes">Self-Correction and Learning from Mistakes</h2>
<p><strong>Why it Matters:</strong> The best way to improve is to reflect on what went wrong and why.</p>
<p><strong>Actionable Advice:</strong></p>
<ul>
<li><p><strong>Document Challenges:</strong> When you encounter a particularly tricky replication, document the problem, the Figma details, and how you eventually solved it. This builds your knowledge base.</p>
</li>
<li><p><strong>Refactor Regularly:</strong> As you learn new Flutter techniques or discover more efficient ways to structure your UI, don't be afraid to refactor existing code to apply these improvements.</p>
</li>
<li><p><strong>Stay Updated:</strong> Flutter and Figma are constantly evolving. Keep an eye on new features, widgets, and best practices that can make your replication process smoother.</p>
</li>
</ul>
<p>To bridge the gap between theory and practice, we’ll build a complete Flutter application that replicates the three distinct UI designs shown below. I got this image from <a target="_blank" href="https://elements.envato.com/learn/top-10-ui-templates-for-figma-and-adobe-xd">Envato</a>. This project isn't just about copying, it's a practical demonstration of every principle we've discussed, from dissecting Figma's "Inspect" panel values to implementing a robust, scalable, and pixel-perfect component structure.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1754566726914/6ef84737-9847-428a-bd7a-bc9f877c774e.png" alt="6ef84737-9847-428a-bd7a-bc9f877c774e" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>What we’ll build:</p>
<ol>
<li><p>A Smart Home Dashboard: Focusing on layout, BoxDecoration, and clean information hierarchy.</p>
</li>
<li><p>A Music Player UI: Highlighting the use of Stack for complex overlapping layouts and custom list items.</p>
</li>
<li><p>An Apartment Booking App: Demonstrating PageView for creating interactive carousels and a custom bottom navigation bar with a FloatingActionButton.</p>
</li>
</ol>
<p>This hands-on example will solidify your understanding and serve as a reference for your own projects. Let's dive into the code.</p>
<h2 id="heading-project-overview">Project Overview</h2>
<p>This project is built following the core principles of a scalable and maintainable Flutter application. We are not just replicating the UI, we are architecting it correctly.</p>
<p><strong>Guide:</strong></p>
<ol>
<li><p><strong>Componentization:</strong> Every logical piece of the UI (a header, a card, a button) is isolated into its own widget file. This makes the code readable, reusable, and easy to test.</p>
</li>
<li><p><strong>Separation of Concerns:</strong> "Screen" files are responsible for the overall layout and state management. "Widget" files are responsible only for their own appearance and internal logic.</p>
</li>
<li><p><strong>Centralized Design System:</strong> All colors, dimensions, and text styles are defined in central utility files (<code>utils/</code>), mirroring the concept of "Design Tokens" in Figma.</p>
</li>
</ol>
<h3 id="heading-final-project-directory-structure"><strong>Final Project Directory Structure</strong></h3>
<p>This is the clean, organized file structure we will build. It is the professional standard for Flutter projects.</p>
<pre><code class="lang-yaml"><span class="hljs-string">lib/</span>
<span class="hljs-string">├──</span> <span class="hljs-string">main.dart</span>
<span class="hljs-string">|
├── models/
│   └── track_model.dart
|
├── screens/
│   ├── home_dashboard_screen.dart
│   ├── smart_home_screen.dart
│   ├── music_player_screen.dart
│   └── apartment_booking_screen.dart
|
├── utils/
│   ├── app_colors.dart
│   ├── app_dimensions.dart
│   └── app_styles.dart
|
└── widgets/
    ├── app_mockup_frame.dart
    ├── smart_home/
    │   ├── power_usage_card.dart
    │   ├── remote_access_card.dart
    │   ├── room_card.dart
    │   └── smart_home_header.dart
    ├── music_player/
    │   ├── artist_card.dart
    │   ├── music_player_header.dart
    │   ├── track_list.dart
    │   └── track_list_item.dart
    └── apartment_booking/
        ├── apartment_card.dart
        ├── apartment_carousel.dart
        ├── booking_bottom_nav.dart
        ├── booking_header.dart
        └── booking_search.dart</span>
</code></pre>
<h3 id="heading-step-by-step-code-implementation"><strong>Step-by-Step Code Implementation</strong></h3>
<p>Here is the complete code for each file, with explanations.</p>
<h3 id="heading-1-pubspecyaml"><strong>1.</strong> <code>pubspec.yaml</code></h3>
<p>First, ensure your <code>pubspec.yaml</code> includes the <code>google_fonts</code> package to match the typography.</p>
<pre><code class="lang-yaml"><span class="hljs-attr">name:</span> <span class="hljs-string">figma_replication_project</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">A</span> <span class="hljs-string">new</span> <span class="hljs-string">Flutter</span> <span class="hljs-string">project.</span>
<span class="hljs-attr">publish_to:</span> <span class="hljs-string">'none'</span>

<span class="hljs-attr">version:</span> <span class="hljs-number">1.0</span><span class="hljs-number">.0</span><span class="hljs-string">+1</span>

<span class="hljs-attr">environment:</span>
  <span class="hljs-attr">sdk:</span> <span class="hljs-string">'&gt;=3.0.0 &lt;4.0.0'</span>

<span class="hljs-attr">dependencies:</span>
  <span class="hljs-attr">flutter:</span>
    <span class="hljs-attr">sdk:</span> <span class="hljs-string">flutter</span>
  <span class="hljs-attr">google_fonts:</span> <span class="hljs-string">^6.1.0</span> <span class="hljs-comment"># For high-quality, custom fonts</span>

<span class="hljs-attr">dev_dependencies:</span>
  <span class="hljs-attr">flutter_test:</span>
    <span class="hljs-attr">sdk:</span> <span class="hljs-string">flutter</span>
  <span class="hljs-attr">flutter_lints:</span> <span class="hljs-string">^2.0.0</span>

<span class="hljs-attr">flutter:</span>
  <span class="hljs-attr">uses-material-design:</span> <span class="hljs-literal">true</span>
</code></pre>
<h3 id="heading-2-utilities-libutils"><strong>2. Utilities (</strong><code>lib/utils/</code>)</h3>
<p>This directory centralizes our design system, perfectly demonstrating the "Design Tokens" and "Consistent Spacing" principles from your article.</p>
<h4 id="heading-libutilsappcolorsdart"><code>lib/utils/app_colors.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;

<span class="hljs-comment">// Centralizes all application colors for consistency and easy theming.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">AppColors</span> </span>{
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> Color background = Color(<span class="hljs-number">0xFFFFD1B5</span>);
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> Color primaryBlue = Color(<span class="hljs-number">0xFF3D82F8</span>);
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> Color lightBlue = Color(<span class="hljs-number">0xFFD2E2FF</span>);
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> Color textDark = Color(<span class="hljs-number">0xFF2E3A59</span>);
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> Color textLight = Color(<span class="hljs-number">0xFF8F9BB3</span>);
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> Color cardBackground = Colors.white;
}
</code></pre>
<h4 id="heading-libutilsappdimensionsdart"><code>lib/utils/app_dimensions.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-comment">// Centralizes all spacing and sizing values to maintain a consistent visual rhythm.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">AppDimensions</span> </span>{
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingXXSmall = <span class="hljs-number">4.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingXSmall = <span class="hljs-number">8.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingSmall = <span class="hljs-number">12.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingMedium = <span class="hljs-number">16.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingLarge = <span class="hljs-number">24.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> spacingXLarge = <span class="hljs-number">32.0</span>;

  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> borderRadiusSmall = <span class="hljs-number">8.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> borderRadiusMedium = <span class="hljs-number">16.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> borderRadiusLarge = <span class="hljs-number">24.0</span>;

  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> mockupWidth = <span class="hljs-number">320.0</span>;
  <span class="hljs-keyword">static</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> mockupHeight = <span class="hljs-number">680.0</span>;
}
</code></pre>
<h4 id="heading-libutilsappstylesdart"><code>lib/utils/app_styles.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:google_fonts/google_fonts.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'app_dimensions.dart'</span>;

<span class="hljs-comment">// Centralizes text styles and common decoration elements like shadows.</span>
<span class="hljs-comment">// This ensures absolute fidelity to the Figma typography specs.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">AppStyles</span> </span>{
  <span class="hljs-comment">// Base text style using a specific Google Font for a modern look.</span>
  <span class="hljs-keyword">static</span> TextStyle <span class="hljs-keyword">get</span> _baseTextStyle =&gt; GoogleFonts.poppins(
        color: AppColors.textDark,
      );

  <span class="hljs-comment">// Specific, named text styles that correspond to the Figma design.</span>
  <span class="hljs-keyword">static</span> TextStyle h1 = _baseTextStyle.copyWith(fontSize: <span class="hljs-number">22</span>, fontWeight: FontWeight.w600);
  <span class="hljs-keyword">static</span> TextStyle h2 = _baseTextStyle.copyWith(fontSize: <span class="hljs-number">18</span>, fontWeight: FontWeight.w600);
  <span class="hljs-keyword">static</span> TextStyle bodyText = _baseTextStyle.copyWith(fontSize: <span class="hljs-number">14</span>, fontWeight: FontWeight.w500);
  <span class="hljs-keyword">static</span> TextStyle subtitle = _baseTextStyle.copyWith(fontSize: <span class="hljs-number">12</span>, color: AppColors.textLight, fontWeight: FontWeight.normal);
  <span class="hljs-keyword">static</span> TextStyle buttonText = _baseTextStyle.copyWith(fontSize: <span class="hljs-number">14</span>, color: Colors.white, fontWeight: FontWeight.w600);

  <span class="hljs-comment">// Reusable box shadow, matching the Figma properties exactly.</span>
  <span class="hljs-keyword">static</span> BoxShadow cardShadow = BoxShadow(
    color: AppColors.primaryBlue.withOpacity(<span class="hljs-number">0.1</span>),
    blurRadius: <span class="hljs-number">20</span>,
    offset: <span class="hljs-keyword">const</span> Offset(<span class="hljs-number">0</span>, <span class="hljs-number">10</span>),
  );
}
</code></pre>
<h3 id="heading-3-model-libmodels"><strong>3. Model (</strong><code>lib/models/</code>)</h3>
<p>This holds the data structure for our application's content, separating data from UI.</p>
<h4 id="heading-libmodelstrackmodeldart"><code>lib/models/track_model.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-comment">// Represents the data structure for a single music track.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Track</span> </span>{
  <span class="hljs-keyword">final</span> <span class="hljs-built_in">String</span> title;
  <span class="hljs-keyword">final</span> <span class="hljs-built_in">String</span> duration;
  <span class="hljs-keyword">final</span> <span class="hljs-built_in">bool</span> isPlaying;

  Track({<span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.title, <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.duration, <span class="hljs-keyword">this</span>.isPlaying = <span class="hljs-keyword">false</span>});
}

<span class="hljs-comment">// Mock data for the music player screen.</span>
<span class="hljs-keyword">final</span> <span class="hljs-built_in">List</span>&lt;Track&gt; topTracks = [
  Track(title: <span class="hljs-string">'Old Town Road'</span>, duration: <span class="hljs-string">'3:41'</span>),
  Track(title: <span class="hljs-string">'I Don\'t Care'</span>, duration: <span class="hljs-string">'4:35'</span>, isPlaying: <span class="hljs-keyword">true</span>),
  Track(title: <span class="hljs-string">'Dancing With A Stranger'</span>, duration: <span class="hljs-string">'3:12'</span>),
  Track(title: <span class="hljs-string">'Sweet But Psycho'</span>, duration: <span class="hljs-string">'4:07'</span>),
  Track(title: <span class="hljs-string">'If I Can\'t Have You'</span>, duration: <span class="hljs-string">'4:07'</span>),
];
</code></pre>
<h3 id="heading-4-reusable-widgets-libwidgets"><strong>4. Reusable Widgets (</strong><code>lib/widgets/</code>)</h3>
<p>This is the core of our component-based architecture.</p>
<h4 id="heading-generic-widget"><strong>Generic Widget</strong></h4>
<h4 id="heading-libwidgetsappmockupframedart"><code>lib/widgets/app_mockup_frame.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;

<span class="hljs-comment">// A wrapper widget to create the "phone" frame around each UI design.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">AppMockupFrame</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">final</span> Widget child;

  <span class="hljs-keyword">const</span> AppMockupFrame({Key? key, <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.child}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Container(
      width: AppDimensions.mockupWidth,
      height: AppDimensions.mockupHeight,
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(AppDimensions.borderRadiusLarge),
        boxShadow: [
          BoxShadow(
            color: Colors.black.withOpacity(<span class="hljs-number">0.15</span>),
            blurRadius: <span class="hljs-number">30</span>,
            offset: <span class="hljs-keyword">const</span> Offset(<span class="hljs-number">0</span>, <span class="hljs-number">10</span>),
          ),
        ],
        border: Border.all(color: Colors.white.withOpacity(<span class="hljs-number">0.5</span>), width: <span class="hljs-number">2</span>),
      ),
      child: ClipRRect(
        borderRadius: BorderRadius.circular(AppDimensions.borderRadiusLarge - <span class="hljs-number">2</span>),
        child: child,
      ),
    );
  }
}
</code></pre>
<h4 id="heading-smart-home-widgets-libwidgetssmarthome"><strong>Smart Home Widgets (</strong><code>lib/widgets/smart_home/</code>)</h4>
<p>Each file here is a self-contained component for the Smart Home screen.</p>
<p><code>lib/widgets/smart_home/smart_home_header.dart</code></p>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SmartHomeHeader</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> SmartHomeHeader({Key? key}) : <span class="hljs-keyword">super</span>(key: key);
  <span class="hljs-comment">// ... (code from previous answer)</span>
}
</code></pre>
<p><code>lib/widgets/smart_home/power_usage_card.dart</code></p>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">PowerUsageCard</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> PowerUsageCard({Key? key}) : <span class="hljs-keyword">super</span>(key: key);
  <span class="hljs-comment">// ... (code from previous answer)</span>
}
</code></pre>
<p><code>lib/widgets/smart_home/room_card.dart</code></p>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">RoomCard</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">final</span> <span class="hljs-built_in">String</span> roomName;
  <span class="hljs-keyword">final</span> <span class="hljs-built_in">String</span> deviceCount;
  <span class="hljs-keyword">final</span> Color color;
  <span class="hljs-keyword">final</span> Color textColor;

  <span class="hljs-keyword">const</span> RoomCard({
    Key? key,
    <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.roomName,
    <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.deviceCount,
    <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.color,
    <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.textColor,
  }) : <span class="hljs-keyword">super</span>(key: key);
  <span class="hljs-comment">// ... (code from previous answer)</span>
}
</code></pre>
<p><code>lib/widgets/smart_home/remote_access_card.dart</code></p>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">RemoteAccessCard</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> RemoteAccessCard({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Container(
      padding: <span class="hljs-keyword">const</span> EdgeInsets.symmetric(
        horizontal: AppDimensions.spacingMedium,
        vertical: AppDimensions.spacingSmall,
      ),
      decoration: BoxDecoration(
        color: AppColors.primaryBlue,
        borderRadius: BorderRadius.circular(AppDimensions.borderRadiusMedium),
      ),
      child: Row(
        children: [
          <span class="hljs-keyword">const</span> Icon(Icons.info_outline, color: Colors.white, size: <span class="hljs-number">20</span>),
          <span class="hljs-keyword">const</span> SizedBox(width: AppDimensions.spacingSmall),
          Expanded(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Text(<span class="hljs-string">'Quick Remote Access'</span>,
                    style: AppStyles.bodyText.copyWith(color: Colors.white)),
                Text(
                  <span class="hljs-string">'Click here to connect with your phone.'</span>,
                  style: AppStyles.subtitle
                      .copyWith(color: Colors.white.withOpacity(<span class="hljs-number">0.8</span>), fontSize: <span class="hljs-number">10</span>),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}
</code></pre>
<h3 id="heading-music-player-widgets-libwidgetsmusicplayer"><strong>Music Player Widgets (</strong><code>lib/widgets/music_player/</code>)</h3>
<p>These widgets are the building blocks for the Music Player UI.</p>
<h4 id="heading-libwidgetsmusicplayermusicplayerheaderdart"><code>lib/widgets/music_player/music_player_header.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;

<span class="hljs-comment">// This widget creates the distinctive blue, curved header.</span>
<span class="hljs-comment">// It uses SafeArea to ensure content isn't obscured by system UI (like notches).</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MusicPlayerHeader</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> MusicPlayerHeader({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Container(
      height: <span class="hljs-number">260</span>,
      decoration: <span class="hljs-keyword">const</span> BoxDecoration(
        color: AppColors.primaryBlue,
        borderRadius: BorderRadius.only(
          bottomLeft: Radius.circular(<span class="hljs-number">50</span>),
          bottomRight: Radius.circular(<span class="hljs-number">50</span>),
        ),
      ),
      child: SafeArea(
        bottom: <span class="hljs-keyword">false</span>,
        child: Padding(
          padding: <span class="hljs-keyword">const</span> EdgeInsets.all(AppDimensions.spacingLarge),
          child: Row(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              <span class="hljs-keyword">const</span> Icon(Icons.arrow_back, color: Colors.white),
              Container(
                width: <span class="hljs-number">40</span>,
                height: <span class="hljs-number">40</span>,
                decoration: BoxDecoration(
                  shape: BoxShape.circle,
                  color: AppColors.lightBlue.withOpacity(<span class="hljs-number">0.5</span>),
                  border: Border.all(color: Colors.white, width: <span class="hljs-number">1.5</span>),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsmusicplayerartistcarddart"><code>lib/widgets/music_player/artist_card.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-comment">// The floating card that displays artist information.</span>
<span class="hljs-comment">// It uses the centralized AppStyles.cardShadow for a consistent shadow effect.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ArtistCard</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> ArtistCard({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Container(
      padding: <span class="hljs-keyword">const</span> EdgeInsets.all(AppDimensions.spacingMedium),
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(AppDimensions.borderRadiusMedium),
        boxShadow: [AppStyles.cardShadow],
      ),
      child: Row(
        children: [
          Container(
            width: <span class="hljs-number">80</span>,
            height: <span class="hljs-number">80</span>,
            decoration: BoxDecoration(
              color: AppColors.lightBlue,
              borderRadius: BorderRadius.circular(AppDimensions.borderRadiusSmall),
            ),
          ),
          <span class="hljs-keyword">const</span> SizedBox(width: AppDimensions.spacingMedium),
          Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Text(<span class="hljs-string">'Antonia Berger'</span>, style: AppStyles.h2),
              Text(<span class="hljs-string">'Hip Hop Artist'</span>, style: AppStyles.subtitle),
              Text(<span class="hljs-string">'antonia.com'</span>, style: AppStyles.subtitle.copyWith(color: AppColors.primaryBlue)),
            ],
          )
        ],
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsmusicplayertracklistitemdart"><code>lib/widgets/music_player/track_list_item.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/models/track_model.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-comment">// Represents a single row in the music track list.</span>
<span class="hljs-comment">// It conditionally renders its UI based on the `track.isPlaying` property.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">TrackListItem</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">final</span> Track track;
  <span class="hljs-keyword">const</span> TrackListItem({Key? key, <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.track}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Padding(
      padding: <span class="hljs-keyword">const</span> EdgeInsets.symmetric(vertical: AppDimensions.spacingSmall),
      child: Row(
        children: [
          Container(
            width: <span class="hljs-number">40</span>,
            height: <span class="hljs-number">40</span>,
            decoration: BoxDecoration(
              color: track.isPlaying ? AppColors.primaryBlue : Colors.transparent,
              shape: BoxShape.circle,
              border: Border.all(color: track.isPlaying ? AppColors.primaryBlue : AppColors.textLight.withOpacity(<span class="hljs-number">0.5</span>), width: <span class="hljs-number">1.5</span>),
            ),
            child: Icon(
              track.isPlaying ? Icons.pause : Icons.play_arrow,
              color: track.isPlaying ? Colors.white : AppColors.textDark,
              size: <span class="hljs-number">20</span>,
            ),
          ),
          <span class="hljs-keyword">const</span> SizedBox(width: AppDimensions.spacingMedium),
          Expanded(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Text(track.title, style: AppStyles.bodyText),
                <span class="hljs-keyword">if</span> (track.isPlaying)
                  Padding(
                    padding: <span class="hljs-keyword">const</span> EdgeInsets.only(top: <span class="hljs-number">4.0</span>),
                    child: SizedBox(
                      height: <span class="hljs-number">2</span>,
                      child: LinearProgressIndicator(
                        value: <span class="hljs-number">0.4</span>,
                        backgroundColor: AppColors.lightBlue,
                        valueColor: <span class="hljs-keyword">const</span> AlwaysStoppedAnimation&lt;Color&gt;(AppColors.primaryBlue),
                      ),
                    ),
                  ),
              ],
            ),
          ),
          Text(track.duration, style: AppStyles.subtitle),
        ],
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsmusicplayertracklistdart"><code>lib/widgets/music_player/track_list.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/models/track_model.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/music_player/track_list_item.dart'</span>;

<span class="hljs-comment">// This widget builds the scrollable list of tracks.</span>
<span class="hljs-comment">// It maps the mock data from `topTracks` to `TrackListItem` widgets.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">TrackList</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> TrackList({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> ListView(
      padding: <span class="hljs-keyword">const</span> EdgeInsets.fromLTRB(
        AppDimensions.spacingLarge,
        AppDimensions.spacingLarge,
        AppDimensions.spacingLarge,
        <span class="hljs-number">0</span>,
      ),
      children: [
        Text(<span class="hljs-string">'Top Tracks'</span>, style: AppStyles.h2),
        <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingMedium),
        <span class="hljs-comment">// Using the spread operator (...) to add all items from the list.</span>
        ...topTracks.map((track) =&gt; TrackListItem(track: track)).toList(),
      ],
    );
  }
}
</code></pre>
<h3 id="heading-apartment-booking-widgets-libwidgetsapartmentbooking"><strong>Apartment Booking Widgets (</strong><code>lib/widgets/apartment_booking/</code>)</h3>
<p>These widgets are the building blocks for the Apartment Booking UI.</p>
<h4 id="heading-libwidgetsapartmentbookingbookingheaderdart"><code>lib/widgets/apartment_booking/booking_header.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-comment">// The header section for the apartment booking screen.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">BookingHeader</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> BookingHeader({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Padding(
      padding: <span class="hljs-keyword">const</span> EdgeInsets.fromLTRB(
        AppDimensions.spacingLarge,
        AppDimensions.spacingMedium,
        AppDimensions.spacingLarge,
        <span class="hljs-number">0</span>,
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              <span class="hljs-keyword">const</span> Icon(Icons.arrow_back, color: AppColors.textDark),
              Container(
                width: <span class="hljs-number">40</span>,
                height: <span class="hljs-number">40</span>,
                decoration: BoxDecoration(
                  shape: BoxShape.circle,
                  color: AppColors.lightBlue.withOpacity(<span class="hljs-number">0.5</span>),
                  border: Border.all(color: AppColors.primaryBlue, width: <span class="hljs-number">1.5</span>),
                ),
              ),
            ],
          ),
          <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingMedium),
          Text(<span class="hljs-string">'Discover &amp; book'</span>, style: AppStyles.h1),
          Text(<span class="hljs-string">'unique apartments'</span>, style: AppStyles.h1),
        ],
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsapartmentbookingbookingsearchdart"><code>lib/widgets/apartment_booking/booking_search.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-comment">// The search bar component with a suggestion chip and a search button.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">BookingSearch</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> BookingSearch({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Padding(
      padding: <span class="hljs-keyword">const</span> EdgeInsets.symmetric(horizontal: AppDimensions.spacingLarge),
      child: Row(
        children: [
          Expanded(
            child: Container(
              padding: <span class="hljs-keyword">const</span> EdgeInsets.symmetric(
                horizontal: AppDimensions.spacingMedium,
                vertical: AppDimensions.spacingSmall,
              ),
              decoration: BoxDecoration(
                color: AppColors.primaryBlue,
                borderRadius: BorderRadius.circular(<span class="hljs-number">30</span>),
              ),
              child: Center(
                child: Text(
                  <span class="hljs-string">'TRY "COPENHAGEN"'</span>,
                  style: AppStyles.buttonText.copyWith(fontSize: <span class="hljs-number">12</span>),
                ),
              ),
            ),
          ),
          <span class="hljs-keyword">const</span> SizedBox(width: AppDimensions.spacingSmall),
          Container(
            padding: <span class="hljs-keyword">const</span> EdgeInsets.all(AppDimensions.spacingSmall),
            decoration: <span class="hljs-keyword">const</span> BoxDecoration(
              color: AppColors.primaryBlue,
              shape: BoxShape.circle,
            ),
            child: <span class="hljs-keyword">const</span> Icon(Icons.search, color: Colors.white, size: <span class="hljs-number">24</span>),
          ),
        ],
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsapartmentbookingapartmentcarddart"><code>lib/widgets/apartment_booking/apartment_card.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_styles.dart'</span>;

<span class="hljs-comment">// A single card representing an apartment in the carousel.</span>
<span class="hljs-comment">// It uses a Stack to position the text and the send button.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ApartmentCard</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> ApartmentCard({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Container(
      decoration: BoxDecoration(
        color: AppColors.lightBlue,
        borderRadius: BorderRadius.circular(AppDimensions.borderRadiusLarge),
        boxShadow: [AppStyles.cardShadow],
      ),
      child: Stack(
        children: [
          Positioned(
            left: AppDimensions.spacingMedium,
            bottom: AppDimensions.spacingMedium,
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Text(<span class="hljs-string">'Tidy Minimal'</span>, style: AppStyles.h2),
                Text(<span class="hljs-string">'Berlin, Germany'</span>, style: AppStyles.subtitle),
              ],
            ),
          ),
          Positioned(
            right: AppDimensions.spacingMedium,
            bottom: AppDimensions.spacingMedium,
            child: Container(
              padding: <span class="hljs-keyword">const</span> EdgeInsets.all(AppDimensions.spacingSmall),
              decoration: <span class="hljs-keyword">const</span> BoxDecoration(
                color: AppColors.primaryBlue,
                shape: BoxShape.circle,
              ),
              child: <span class="hljs-keyword">const</span> Icon(Icons.send, color: Colors.white, size: <span class="hljs-number">20</span>, semanticLabel: <span class="hljs-string">'Send'</span>),
            ),
          ),
        ],
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsapartmentbookingapartmentcarouseldart"><code>lib/widgets/apartment_booking/apartment_carousel.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/apartment_booking/apartment_card.dart'</span>;

<span class="hljs-comment">// This widget manages the PageView for the apartment cards.</span>
<span class="hljs-comment">// It's a StatelessWidget because it receives its state (controller, currentPage)</span>
<span class="hljs-comment">// from the parent StatefulWidget.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ApartmentCarousel</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">final</span> PageController pageController;
  <span class="hljs-keyword">final</span> <span class="hljs-built_in">int</span> currentPage;

  <span class="hljs-keyword">const</span> ApartmentCarousel({
    Key? key,
    <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.pageController,
    <span class="hljs-keyword">required</span> <span class="hljs-keyword">this</span>.currentPage,
  }) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> SizedBox(
      height: <span class="hljs-number">320</span>,
      child: PageView.builder(
        controller: pageController,
        itemCount: <span class="hljs-number">3</span>,
        itemBuilder: (context, index) {
          <span class="hljs-comment">// AnimatedContainer creates the subtle scaling effect when a card is active.</span>
          <span class="hljs-keyword">return</span> AnimatedContainer(
            duration: <span class="hljs-keyword">const</span> <span class="hljs-built_in">Duration</span>(milliseconds: <span class="hljs-number">300</span>),
            curve: Curves.easeInOut,
            margin: EdgeInsets.only(
              right: AppDimensions.spacingSmall,
              top: currentPage == index ? <span class="hljs-number">0</span> : <span class="hljs-number">20</span>,
              bottom: currentPage == index ? <span class="hljs-number">20</span> : <span class="hljs-number">0</span>,
            ),
            child: <span class="hljs-keyword">const</span> ApartmentCard(),
          );
        },
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libwidgetsapartmentbookingbookingbottomnavdart"><code>lib/widgets/apartment_booking/booking_bottom_nav.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;

<span class="hljs-comment">// The custom bottom navigation bar with a notch for the FloatingActionButton.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">BookingBottomNav</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> BookingBottomNav({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> BottomAppBar(
      shape: <span class="hljs-keyword">const</span> CircularNotchedRectangle(),
      notchMargin: <span class="hljs-number">8.0</span>,
      color: AppColors.cardBackground,
      surfaceTintColor: AppColors.cardBackground,
      elevation: <span class="hljs-number">20</span>,
      shadowColor: Colors.black.withOpacity(<span class="hljs-number">0.05</span>),
      child: <span class="hljs-keyword">const</span> Row(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: [
          Icon(Icons.home_outlined, color: AppColors.textLight, size: <span class="hljs-number">28</span>),
          Icon(Icons.search, color: AppColors.textLight, size: <span class="hljs-number">28</span>),
          SizedBox(width: <span class="hljs-number">48</span>), <span class="hljs-comment">// The placeholder space for the FAB</span>
          Icon(Icons.favorite_border, color: AppColors.textLight, size: <span class="hljs-number">28</span>),
          Icon(Icons.person_outline, color: AppColors.textLight, size: <span class="hljs-number">28</span>),
        ],
      ),
    );
  }
}
</code></pre>
<h3 id="heading-5-screens-libscreens"><strong>5. Screens (</strong><code>lib/screens/</code>)</h3>
<p>These files now act as clean, readable blueprints. They compose the smaller widgets to build the final UI.</p>
<h4 id="heading-libscreenssmarthomescreendart"><code>lib/screens/smart_home_screen.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/smart_home/power_usage_card.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/smart_home/remote_access_card.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/smart_home/room_card.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/smart_home/smart_home_header.dart'</span>;

<span class="hljs-comment">// This screen composes various "smart_home" widgets to build the UI.</span>
<span class="hljs-comment">// Notice how readable this is compared to having all the code in one file.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SmartHomeScreen</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> SmartHomeScreen({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Scaffold(
      backgroundColor: AppColors.cardBackground,
      body: Padding(
        padding: <span class="hljs-keyword">const</span> EdgeInsets.all(AppDimensions.spacingLarge),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            <span class="hljs-keyword">const</span> SmartHomeHeader(),
            <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingXLarge),
            <span class="hljs-keyword">const</span> PowerUsageCard(),
            <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingLarge),
            <span class="hljs-keyword">const</span> Row(
              children: [
                Expanded(
                  child: RoomCard(
                    roomName: <span class="hljs-string">'Living Room'</span>,
                    deviceCount: <span class="hljs-string">'9 Active Devices'</span>,
                    color: AppColors.lightBlue,
                    textColor: AppColors.textDark,
                  ),
                ),
                SizedBox(width: AppDimensions.spacingMedium),
                Expanded(
                  child: RoomCard(
                    roomName: <span class="hljs-string">'Bathroom'</span>,
                    deviceCount: <span class="hljs-string">'1 Active Device'</span>,
                    color: AppColors.primaryBlue,
                    textColor: Colors.white,
                  ),
                ),
              ],
            ),
            <span class="hljs-keyword">const</span> Spacer(),
            <span class="hljs-keyword">const</span> RemoteAccessCard(),
          ],
        ),
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libscreensmusicplayerscreendart"><code>lib/screens/music_player_screen.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/music_player/artist_card.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/music_player/music_player_header.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/music_player/track_list.dart'</span>;

<span class="hljs-comment">// This screen uses a Stack to create the overlapping UI effect,</span>
<span class="hljs-comment">// a perfect demonstration of the "Deconstruct Layouts with Stack" principle.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MusicPlayerScreen</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> MusicPlayerScreen({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Scaffold(
      backgroundColor: AppColors.cardBackground,
      body: Stack(
        children: [
          <span class="hljs-keyword">const</span> Positioned.fill(top: <span class="hljs-number">220</span>, child: TrackList()),
          <span class="hljs-keyword">const</span> MusicPlayerHeader(),
          <span class="hljs-keyword">const</span> Positioned(
            top: <span class="hljs-number">120</span>,
            left: AppDimensions.spacingLarge,
            right: AppDimensions.spacingLarge,
            child: ArtistCard(),
          ),
        ],
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libscreensapartmentbookingscreendart"><code>lib/screens/apartment_booking_screen.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/apartment_booking/apartment_carousel.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/apartment_booking/booking_bottom_nav.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/apartment_booking/booking_header.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/apartment_booking/booking_search.dart'</span>;

<span class="hljs-comment">// This is a StatefulWidget because it needs to manage the state of the</span>
<span class="hljs-comment">// PageController and the current active page index for the carousel animation.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ApartmentBookingScreen</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatefulWidget</span> </span>{
  <span class="hljs-keyword">const</span> ApartmentBookingScreen({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  State&lt;ApartmentBookingScreen&gt; createState() =&gt; _ApartmentBookingScreenState();
}

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">_ApartmentBookingScreenState</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">State</span>&lt;<span class="hljs-title">ApartmentBookingScreen</span>&gt; </span>{
  <span class="hljs-keyword">final</span> PageController _pageController = PageController(viewportFraction: <span class="hljs-number">0.85</span>);
  <span class="hljs-built_in">int</span> _currentPage = <span class="hljs-number">0</span>;

  <span class="hljs-meta">@override</span>
  <span class="hljs-keyword">void</span> initState() {
    <span class="hljs-keyword">super</span>.initState();
    <span class="hljs-comment">// Listen to page changes to update the UI for the scaling effect.</span>
    _pageController.addListener(() {
      <span class="hljs-keyword">if</span> (_pageController.page?.round() != _currentPage) {
        setState(() {
          _currentPage = _pageController.page!.round();
        });
      }
    });
  }

  <span class="hljs-meta">@override</span>
  <span class="hljs-keyword">void</span> dispose() {
    _pageController.dispose(); <span class="hljs-comment">// Always dispose controllers to prevent memory leaks.</span>
    <span class="hljs-keyword">super</span>.dispose();
  }

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Scaffold(
      backgroundColor: AppColors.cardBackground,
      body: SafeArea(
        bottom: <span class="hljs-keyword">false</span>,
        child: Column(
          children: [
            <span class="hljs-keyword">const</span> BookingHeader(),
            <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingMedium),
            <span class="hljs-keyword">const</span> BookingSearch(),
            <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingLarge),
            <span class="hljs-comment">// The carousel is passed the controller and current page state.</span>
            ApartmentCarousel(
              pageController: _pageController,
              currentPage: _currentPage,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        backgroundColor: AppColors.primaryBlue,
        shape: <span class="hljs-keyword">const</span> CircleBorder(),
        elevation: <span class="hljs-number">4.0</span>,
        child: <span class="hljs-keyword">const</span> Icon(Icons.add, color: Colors.white, size: <span class="hljs-number">32</span>),
      ),
      floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
      bottomNavigationBar: <span class="hljs-keyword">const</span> BookingBottomNav(),
    );
  }
}
</code></pre>
<h3 id="heading-6-application-entry-point"><strong>6. Application Entry Point</strong></h3>
<p>Finally, the <code>main.dart</code> and <code>home_dashboard_screen.dart</code> tie everything together.</p>
<h4 id="heading-libscreenshomedashboardscreendart"><code>lib/screens/home_dashboard_screen.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/screens/apartment_booking_screen.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/screens/music_player_screen.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/screens/smart_home_screen.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_dimensions.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/widgets/app_mockup_frame.dart'</span>;

<span class="hljs-comment">// This is the main screen that displays the three mockups.</span>
<span class="hljs-comment">// It uses a LayoutBuilder to create a responsive layout, demonstrating</span>
<span class="hljs-comment">// the "Embrace Constraints and Responsiveness" principle.</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">HomeDashboardScreen</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> HomeDashboardScreen({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> Scaffold(
      body: Center(
        child: SingleChildScrollView(
          child: Padding(
            padding: <span class="hljs-keyword">const</span> EdgeInsets.symmetric(vertical: AppDimensions.spacingXLarge),
            child: LayoutBuilder(
              builder: (context, constraints) {
                <span class="hljs-built_in">bool</span> isWide = constraints.maxWidth &gt; (AppDimensions.mockupWidth * <span class="hljs-number">3</span> + <span class="hljs-number">100</span>);

                <span class="hljs-comment">// Show in a Row on wide screens, and a Column on narrow screens.</span>
                <span class="hljs-keyword">return</span> isWide
                    ? <span class="hljs-keyword">const</span> Row(
                        mainAxisAlignment: MainAxisAlignment.center,
                        crossAxisAlignment: CrossAxisAlignment.center,
                        children: [
                          AppMockupFrame(child: SmartHomeScreen()),
                          SizedBox(width: AppDimensions.spacingXLarge),
                          AppMockupFrame(child: MusicPlayerScreen()),
                          SizedBox(width: AppDimensions.spacingXLarge),
                          AppMockupFrame(child: ApartmentBookingScreen()),
                        ],
                      )
                    : Column(
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: [
                          <span class="hljs-keyword">const</span> AppMockupFrame(child: SmartHomeScreen()),
                          <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingXLarge),
                          <span class="hljs-keyword">const</span> AppMockupFrame(child: MusicPlayerScreen()),
                          <span class="hljs-keyword">const</span> SizedBox(height: AppDimensions.spacingXLarge),
                          <span class="hljs-keyword">const</span> AppMockupFrame(child: ApartmentBookingScreen()),
                        ],
                      );
              },
            ),
          ),
        ),
      ),
    );
  }
}
</code></pre>
<h4 id="heading-libmaindart"><code>lib/main.dart</code></h4>
<pre><code class="lang-dart"><span class="hljs-keyword">import</span> <span class="hljs-string">'package:flutter/material.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/screens/home_dashboard_screen.dart'</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">'package:figma_replication_project/utils/app_colors.dart'</span>;

<span class="hljs-keyword">void</span> main() {
  runApp(<span class="hljs-keyword">const</span> MyApp());
}

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MyApp</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StatelessWidget</span> </span>{
  <span class="hljs-keyword">const</span> MyApp({Key? key}) : <span class="hljs-keyword">super</span>(key: key);

  <span class="hljs-meta">@override</span>
  Widget build(BuildContext context) {
    <span class="hljs-keyword">return</span> MaterialApp(
      title: <span class="hljs-string">'Figma to Flutter Replication'</span>,
      debugShowCheckedModeBanner: <span class="hljs-keyword">false</span>,
      theme: ThemeData(
        primaryColor: AppColors.primaryBlue,
        scaffoldBackgroundColor: AppColors.background,
        useMaterial3: <span class="hljs-keyword">true</span>,
      ),
      home: <span class="hljs-keyword">const</span> HomeDashboardScreen(),
    );
  }
}
</code></pre>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Replicating Figma designs in Flutter with pixel-perfect accuracy is a skill developed through deliberate practice and an unwavering commitment to detail. It requires more than just understanding Flutter widgets. It demands a deep appreciation for the nuances of design, a systematic approach to breaking down complex layouts, and a relentless pursuit of visual fidelity. By internalizing these practices, you won't just be writing code, you'll be sculpting user interfaces that truly honor the designer's vision.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Move Figma Components to Penpot ]]>
                </title>
                <description>
                    <![CDATA[ Penpot is an open-source design tool for creating complete design systems. It is free, self-hostable, and allows multiple projects. Penpot supports reusable components and assets and allows files and libraries to be shared across projects. Penpot fil... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-recreate-figma-components-in-penpot/</link>
                <guid isPermaLink="false">67e48bc10d600bc3806ccf54</guid>
                
                    <category>
                        <![CDATA[ Design Systems ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Open Source ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Penpot ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ components ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Fatuma Abdullahi ]]>
                </dc:creator>
                <pubDate>Wed, 26 Mar 2025 23:20:33 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1743028701920/ef200f8f-888d-4658-a5b0-ffa483edbdcf.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><a target="_blank" href="https://penpot.app/">Penpot</a> is an open-source design tool for creating complete design systems. It is free, self-hostable, and allows multiple projects. Penpot supports reusable components and assets and allows files and libraries to be shared across projects. Penpot files can be exported in various formats to enhance collaboration.</p>
<p>Penpot designs directly translate to code that meets web standards, facilitating collaboration and hand-off between designers and developers.</p>
<p>This tutorial will walk you through recreating or moving existing <a target="_blank" href="https://www.figma.com/">Figma</a> components to Penpot. It will include a rundown of the Penpot tool and how to use it, a brief comparison of the two tools, and important resources.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-how-to-recreate-existing-figma-files-in-penpot">How to Recreate Existing Figma Files in Penpot</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-understanding-the-penpot-user-interface">Understanding the Penpot User Interface</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-understanding-penpot-layouts">Understanding Penpot Layouts</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-create-and-use-penpot-components">How to Create and Use Penpot Components</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-create-reusable-assets-in-penpot">How to Create Reusable Assets in Penpot</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-add-and-use-icons-in-penpot">How to Add and Use Icons in Penpot</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-figma-vs-penpot-my-experience">Figma Vs. Penpot - My experience</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-resources-and-notes">Resources and Notes</a></p>
</li>
</ul>
<h2 id="heading-how-to-recreate-existing-figma-files-in-penpot">How to Recreate Existing Figma Files in Penpot</h2>
<p>There are two ways to move or recreate existing Codex components from Figma to Penpot: By using the community-supported migration tool or by manually recreating the components and files.</p>
<h3 id="heading-using-the-community-supported-migration-plugin">Using the Community-Supported Migration Plugin</h3>
<p>You can use <a target="_blank" href="https://www.figma.com/community/plugin/1219369440655168734/penpot-exporter">this plugin</a> to move your Figma designs to Penpot. It is a straightforward way to migrate from Figma, especially if you have many components.</p>
<p>To do so, add it as a Figma plugin and find the option in the context menu. Then, click on the "Penpot Exporter" option to activate the plugin. The plugin will then create a zip file for your component and download it.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742571496007/da97ad1b-6939-4bb9-9000-6c367a711797.gif" alt="A screenrecording illustrating how to add and use the &quot;Penpot Exporter&quot; plugin." class="image--center mx-auto" width="800" height="450" loading="lazy"></p>
<p>Over in Penpot, in your Projects dashboard, click on the three dots context menu and select "Import Penpot files" to open a file picker window. Click on the zip file downloaded from Figma, and Penpot will create a new project with the same name as the zip file. This new project will contain your Figma component translated to the Penpot environment.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742571779644/1ebeb54d-ce27-4987-b630-f101a60ee8d3.gif" alt="An illustration of how to import files to Penpot" class="image--center mx-auto" width="800" height="450" loading="lazy"></p>
<p>Looking at the new component, you'll notice that the migration plugin correctly picks up any child components and typography variables while keeping things fairly organized. But it does not pick up color variables.</p>
<h3 id="heading-manually-recreating-figma-components">Manually Recreating Figma components</h3>
<p>Another way to move Figma components to Penpot is to recreate them manually. While this option is more tedious than the previous one, it gives you fine-tuned control over how the component looks, how the files are organized, and how the assets are carried over.</p>
<p>It is an excellent excuse to spruce up the existing components, especially if there are few. It is also a good exercise for first-time users to grasp Penpot.</p>
<p>To effectively move components using this method, you will need to understand how Penpot works. The following concepts will help make this process more efficient.</p>
<h2 id="heading-understanding-the-penpot-user-interface">Understanding the Penpot User Interface</h2>
<p>Penpot's UI is pretty similar to Figma's, except that Penpot defaults to Dark Mode. You have your controls on the right and your files, assets, and layers on the left, with a canvas in the middle.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742811019699/ea5336e3-50a7-4771-bfa6-07a225390320.png" alt="Alt: Screenshot of a Penpot UI with a left panel labeled &quot;Layers&quot; showing file structure, a central canvas labeled &quot;Canvas,&quot; and a right panel with various design tools and settings." class="image--center mx-auto" width="1600" height="620" loading="lazy"></p>
<p>Both have a toolbar that enables you to interact with the canvas. The toolbars have slightly different icons and names but have the same functionality. Notably, in Penpot, the Frame tool is called Board.</p>
<p>Penpot supports most of Figma's features, except for Design Tokens, which will be added soon.</p>
<h2 id="heading-understanding-penpot-layouts">Understanding Penpot Layouts</h2>
<p>Penpot supports Flex and Grid layouts. These layouts allow you to position items precisely and simplify creating fluid designs. For those familiar with CSS Grid and Flex, they work in the same way.</p>
<p>Flex layout allows you to organize the elements within a parent container, like a board or an encompassing shape, across one dimension, width, or height. It enables you to determine the spacing and positioning of the child elements via visual controls with labels on the right side panel.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742571904634/c8bf8fc0-79a7-415f-916b-42da7c881ed8.gif" alt="An illustration on how to use Penpot Flex Layout" class="image--center mx-auto" width="800" height="450" loading="lazy"></p>
<p>Grid layouts allow the same controls as Flex layouts but with the added flexibility of simultaneously spanning a child element across both dimensions. This makes Grid layouts quite helpful in creating complex and nuanced designs.</p>
<h2 id="heading-how-to-create-and-use-penpot-components">How to Create and Use Penpot Components</h2>
<p>Creating a component in Penpot is relatively straightforward. You select the elements that will make up the component, then right-click and click "Create component," turning your selection into a component.</p>
<p>Your new component will be available under the "Assets" tab on the left side panel. To use, drag it onto the canvas.</p>
<p>You can also create copies of the component. By default, the copies are tied to the main component, and any changes to the main will be reflected in all copies. You can override this by detaching the copies from the context menu.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742571991986/6dd4820b-0f3a-4d41-895d-cb9f5e7d4f52.gif" alt="A speedrun of how to create a Penpot Component" class="image--center mx-auto" width="800" height="450" loading="lazy"></p>
<h2 id="heading-how-to-create-reusable-assets-in-penpot">How to Create Reusable Assets in Penpot</h2>
<p>Penpot has three asset types: Typography, Colors, and Components, with <a target="_blank" href="https://penpot.app/collaboration/design-tokens">Penpot design tokens</a> coming very soon. Typography refers to information on font types and weights that make up text styles. Colors enable you to create and sort your repeated colors. Components refer to reusable design pieces and, in this context, include graphical items like icons and images.</p>
<p>To create a color or typography asset, click the "Assets" tab and the plus icon on the relevant accordion item. For color, it will open a color picker. Paste the hex value in the appropriate place, then save it. The color will show up in the accordion drop-down. You can click on it to give it a semantic name if desired.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742809861347/9ae3b0fb-798b-4363-ab90-873c18a16793.png" alt="Screenshot of a Penpot UI showing a color palette with hex codes, a color picker, and local library assets." class="image--center mx-auto" width="976" height="800" loading="lazy"></p>
<p>For typography, click on the plus icon at the relevant accordion. This will open a panel where you can specify the font, font weight, letter spacing, and line height. You can also change the asset's name after it's saved.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742810318737/daf0e24f-7c4a-4c00-bb73-ccca7575bcf5.png" alt="daf0e24f-7c4a-4c00-bb73-ccca7575bcf5" class="image--center mx-auto" width="443" height="400" loading="lazy"></p>
<h2 id="heading-how-to-add-and-use-icons-in-penpot">How to Add and Use Icons in Penpot</h2>
<p>You can add icon packs and libraries in Penpot from the Project dashboard. At the bottom of the page, a banner containing a list of commonly used libraries is displayed. These libraries usually include a few icon packs. You can scroll through to choose one or click on the explore more option at the end of the slider to open up the dedicated Penpot templates page.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742810534992/83b2eb72-4877-49b3-9d2e-02c37e0cb894.png" alt="Screenshot of Penpot UI's lower bottom showing &quot;Penpot - Design System v2.0&quot;, &quot;New Project 1&quot;, &quot;Avataaars&quot;, &quot;UX Notes&quot;, &quot;Whiteboarding Kit&quot;, &quot;Open Color Scheme&quot;, and &quot;Flex Layout Playground&quot;. A sidebar labeled &quot;Libraries &amp; Templates&quot; is visible on the right." class="image--center mx-auto" width="900" height="282" loading="lazy"></p>
<p>If you find a relevant library from the bottom banner, click the download icon. Penpot will prompt you to add the selected library. Once you accept it, it will be added to the "Libraries" menu item on the left side panel.</p>
<p>If you click through to the dedicated templates page, clicking the download icon will download a Penpot file. You can then drag it to the projects page, and it will also be available in the "Libraries" section of the projects page.</p>
<p>To use the libraries within your project file, click the "Assets" tab on the left side panel, then click the "Libraries" button below it. This will open a modal with all your libraries listed under "Shared Libraries."</p>
<p>Click on the plus icon on the ones you want to use in your project. This will link that library to your project and be available in the left side panel. You can then search for any particular icon from the search bar and drag it onto the canvas.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742571300138/3dbbc937-f727-4c03-987b-43ddb71b1608.gif" alt="A gif illustrating how to link and delink libraries in the Penpot User Interface" class="image--center mx-auto" width="800" height="450" loading="lazy"></p>
<p>To remove a library from your project, click on the libraries button. In the modal, under "libraries in this file," all used libraries are listed. Click on the link icon next to the library you want to remove. This will delink it and remove it from the side panel.</p>
<h2 id="heading-figma-vs-penpot-my-experience">Figma Vs. Penpot – My experience</h2>
<p>As a first-time user of Penpot and a long-term casual user of Figma, I noticed some differences and encountered some teething problems.</p>
<h3 id="heading-swapping-out-icons">Swapping Out Icons</h3>
<p>You can <a target="_blank" href="https://help.penpot.app/user-guide/components/#component-swap">swap out components</a> in Penpot! It's too bad that I discovered this after I had finished my first component migration.</p>
<h3 id="heading-renaming-files-and-folders">Renaming Files and Folders</h3>
<p>I struggled to find how to rename files and folders in Penpot. I kept looking for the shortcut or a menu item in the context menu. It turns out you have to double-click on the title to change it. You can rename files in the same way in Figma, but I just never did it like that.</p>
<h3 id="heading-adherence-to-web-standards">Adherence to Web Standards</h3>
<p>I was pleasantly surprised at the code quality that Penpot provides, along with your designs. It meets the <a target="_blank" href="https://www.w3.org/standards/">w3c standards</a>, but the HTML could be more <a target="_blank" href="https://web.dev/learn/html/semantic-html">semantic</a>.</p>
<h3 id="heading-penpot-design-system">Penpot Design System</h3>
<p>Penpot avails its <a target="_blank" href="https://community.penpot.app/t/pencil-the-penpot-design-system/7152">design system</a> along with lots of little libraries that help you understand how the tool works. This is very nice as it allows you to get a good understanding of design language and how to organize design systems.</p>
<h3 id="heading-limited-shape-options-in-the-toolbar">Limited Shape Options in the Toolbar</h3>
<p>The Penpot toolbar lacks essential shapes such as pen, arrow, and triangle. While you can recreate this with the path tool or use a library to import them, it is definitely something I missed that was readily available in Figma.</p>
<p>It took me a few tries to get comfortable with Penpot and in the end, I really liked it. Plus, its open-source nature makes it even more endearing.</p>
<h2 id="heading-resources-and-notes">Resources and Notes</h2>
<p>Using Penpot has a learning curve, even if you are familiar with other design tools like Figma. These resources can help you get up to speed faster and make you more efficient with Penpot.</p>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/live/64O8qi51Jqc?si=A6AVp1m8se3gl1ut">Penpot video on layouts</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/live/aW0LNHLEI_Y?si=HATAWee8tH29Sgrq&amp;t=1604">Penpot live on design tokens</a></p>
</li>
<li><p><a target="_blank" href="https://help.penpot.app/user-guide/">Penpot documentation</a></p>
</li>
<li><p><a target="_blank" href="https://www.figma.com/community/plugin/1219369440655168734/penpot-exporter">Penpot migration plugin</a></p>
</li>
<li><p><a target="_blank" href="https://penpot.app/libraries-templates">Penpot templates and libraries</a></p>
</li>
<li><p><a target="_blank" href="https://penpot.app/blog/penpot-for-design-systems-101/">Penpot design systems</a></p>
</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Create an Interactive Button Component in Figma ]]>
                </title>
                <description>
                    <![CDATA[ Designers are always searching for tools that help ease their workflow and create innovative solutions for their users. This ranges from components, style guides, and design systems, to plugins and extensions. In this article, we're going to look at ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-create-an-interactive-button-component-in-figma/</link>
                <guid isPermaLink="false">66d03a25daf2a38a6b1e1d0b</guid>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Faith Olohijere ]]>
                </dc:creator>
                <pubDate>Wed, 06 Mar 2024 18:44:53 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/03/pexels-jess-bailey-designs-810079.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Designers are always searching for tools that help ease their workflow and create innovative solutions for their users. This ranges from components, style guides, and design systems, to plugins and extensions.</p>
<p>In this article, we're going to look at components as features which can help boost your efficiency as a designer. I'll show you how to create an interactive button component using Figma.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ol>
<li><a class="post-section-overview" href="#prerequisites">Prerequisites</a></li>
<li><a class="post-section-overview" href="#heading-what-are-components">What are Components?</a><br>– <a class="post-section-overview" href="#heading-button-components">Button components</a></li>
<li><a class="post-section-overview" href="#heading-how-to-create-an-interactive-button-component-in-figma">How to Create an Interactive Button Component in Figma</a><br>– <a class="post-section-overview" href="#heading-build-the-button-component">Build the button component</a><br>– <a class="post-section-overview" href="#heading-how-to-create-variants">How to create variants</a><br>– <a class="post-section-overview" href="#heading-how-to-create-hover-and-active-states">How to create hover and active states</a><br>– <a class="post-section-overview" href="#heading-how-to-create-other-button-states">How to create other button states</a><br>– <a class="post-section-overview" href="#heading-how-to-group-buttons-by-states">How to group buttons by states</a><br>– <a class="post-section-overview" href="#heading-how-to-make-the-button-components-interactive">How to make the button components interactive</a></li>
<li><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></li>
</ol>
<h2 id="heading-prerequisites">Prerequisites:</h2>
<p>To get the most out of this article, it'll be helpful to have basic knowledge of how to use Figma and its features. But note that this is not necessary, as I wrote this article for everyone – irrespective of their individual level of knowledge.</p>
<p>This article is for everyone who is interested in learning more about components, reusable elements, Figma, and design in general.</p>
<h2 id="heading-what-are-components">What are Components?</h2>
<p>Components are reusable design elements that you can use multiple times within a project or across different projects. </p>
<blockquote>
<p>Components are interactive building blocks for creating a user interface. They can be organized into categories based on their purpose: Action, containment, communication, navigation, selection, and text input. – Material Design 3</p>
</blockquote>
<p>Components can range from simple elements like buttons or icons to more complex structures like navigation bars or entire UI modules. They help maintain consistency and uniformity in a design, they are scalable, and they're very helpful for collaboration.</p>
<h3 id="heading-button-components">Button Components</h3>
<p>Buttons, sometimes called CTAs, are elements which allow a user to carry out a specific action like signing up, buying a product, subscribing to a newsletter, and so on. They come in different formats and sizes, and are very important elements in design.</p>
<p>Button components typically consist of visual attributes such as shape, size, color, and typography to convey their functionality and encourage user interaction. They can vary in style and appearance based on the design system, brand guidelines, or the context of their usage within an application or website. </p>
<h2 id="heading-how-to-create-an-interactive-button-component-in-figma">How to Create an Interactive Button Component in Figma</h2>
<p>Next, we're going to create an interactive button component in Figma. This button component will contain text only buttons, buttons with icons on either the left or right side of the text, and buttons with icons only. </p>
<p>The button component will contain different button states (default, hover, and active), and will be interactive.</p>
<p>This is very helpful for when you're designing interfaces with different use cases. For instance, you could want a button in your design to carry text and an accompanying icon, for a particular screen. In another screen, you might want to use an icon only button. If you have already created these different components, you'll save a lot of time.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-30.png" alt="Image" width="600" height="400" loading="lazy">
_Different button types (Icon only, Icon &amp; text, text only). Image from <a target="_blank" href="https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fwww.telerik.com%2Fdesign-system%2Fdocs%2Fcomponents%2Fbutton%2F&amp;psig=AOvVaw2RdR4WQVKTp_y542hJlwaB&amp;ust=1709772173745000&amp;source=images&amp;cd=vfe&amp;opi=89978449&amp;ved=0CBYQ3YkBahcKEwjQnoXps96EAxUAAAAAHQAAAAAQBA">Telerik</a>_</p>
<p>Let's get started!</p>
<h3 id="heading-build-the-button-component">Build the Button Component</h3>
<p>Open a new Figma file. If you don't have a Figma account, go ahead and create one at <a target="_blank" href="https://www.freecodecamp.org/news/p/3c725afb-cd49-490c-b122-0115d9b1780a/figma.com">figma.com</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Opening a new Figma file</em></p>
<p>Next, click on the Text icon on the left hand panel, and type <em>Button</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-2.png" alt="Image" width="600" height="400" loading="lazy">
<em>Typing "button" in the search bar.</em></p>
<p>Next, add auto-layout (Shift + A). </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-3.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding auto-layout</em></p>
<p>Make the horizontal button padding to be 36px and the vertical padding 12px. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-4.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding horizontal and vertical padding</em></p>
<p>Also, give the button a border radius of 8px.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-5.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding a border radius.</em></p>
<p>Add a fill to the button.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-6.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving to the "fill" section.</em></p>
<p>I'll choose the color code #1C199, which is a shade of blue.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Button-7.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing a color code.</em></p>
<p>Next, I'll make the text a little bit bolder. To do that, click on the text, and move to the font section on your right panel.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-8.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving to the font section.</em></p>
<p>I'll give the button a font size of 16px, and make the weight "medium".</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-10.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing the font size to 16 px</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-11.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing the font weight to medium.</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-9.png" alt="Image" width="600" height="400" loading="lazy">
<em>Showing the edited text</em></p>
<p>Next, I'll add any icon of my choice to the button frame. This will enable me easily create a button component with icons, and not just text when the time comes.</p>
<p>To add an icon, I'll use a Figma plugin called <em>Iconify</em>, which is one of the largest icon collections in Figma. To do this, right-click on your canva and a menu will pop-up. Go to the <em>Plugins</em> tab.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-12.png" alt="Image" width="600" height="400" loading="lazy">
<em>Opening Plugins</em></p>
<p>A list of the recent plugins you have used will pop-up. You'll also see all the <em>Saved</em> plugins you have. The first plugin on my list is Iconify (that's because I use it a lot, lol). Now, I'll just click on Iconify and search for the particular icon I want to use.</p>
<p>If you have never used a plugin before, and so there are no plugins on your list, you can use the resources section to search for your plugin of choice and save it to your list.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-65.png" alt="Image" width="600" height="400" loading="lazy">
<em>Going to the resources section</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-64.png" alt="Image" width="600" height="400" loading="lazy">
<em>Searching for plugins</em></p>
<p>I want to use the <em>forward arrow</em> icon, so I'll just search for that using the search field on the plugin.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-13.png" alt="Image" width="600" height="400" loading="lazy">
<em>Searching for the forward arrow icon.</em></p>
<p>A lot of forward arrow icons from different collections will pop-up so, I'll just choose any particular one that works best for me, in this case, a forward arrow icon from <em>IonIcons</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-14.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting a particular forward arrow icon</em></p>
<p>I'll select the icon and click on the <em>Import icon</em> button so it can appear on my Figma file.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-15.png" alt="Image" width="600" height="400" loading="lazy">
<em>Importing the icon to your file</em></p>
<p>Next, we'll reduce the size of the icon to whatever height and width we want it to be. It's currently on 48 x 48 and I want it to be 24 x 24.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-16.png" alt="Image" width="600" height="400" loading="lazy">
<em>Icon size currently 48x48</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-17.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing icon size to 24x24</em></p>
<p>We'll also change the colour of the icon to match the text colour (white). To do this, make sure the icon is selected and then scroll down to <em>Selection colours</em> to input the color code, which in this case is #FFFFFF.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-18.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing icon colour to white (#FFFFFF)</em></p>
<p>Next, we'll add the icon inside the button frame. To do this, just drag your icon inside the frame.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-19.png" alt="Image" width="600" height="400" loading="lazy">
<em>Dragging arrow icon into the button frame</em></p>
<p>You'll notice that the frame size increases to accommodate the icon added. </p>
<p>Next, duplicate the icon and move it to the other side of the text. Duplicating the icon will help us easily create button components with icons on either sides of the text later.</p>
<p>To do this, simply use Ctrl + D, and move the duplicated icon to the other side.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-20.png" alt="Image" width="600" height="400" loading="lazy">
<em>Using Ctrl + D to duplicate an icon</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-21.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving the duplicated icon to the other side of the frame.</em></p>
<p>Next, I'll hide both icons because I want to create my first button component (text only button). I'll rename the frame to Button.</p>
<p>To hide both icons, move to the layers panel on your left, and click on the eye icon by the side of the assets you want to hide.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-22.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving to the layers panel to hide the icons</em></p>
<p>You'll notice that the frame resizes automatically once both icons are hidden.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-23.png" alt="Image" width="600" height="400" loading="lazy">
<em>Button frame with hidden icons</em></p>
<p>I'll then rename the frame to <em>Button</em>. To do that, double click on the heading of the frame, and rename.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-24.png" alt="Image" width="600" height="400" loading="lazy">
<em>Double-clicking the frame</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-25.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed button frame</em></p>
<h3 id="heading-how-to-create-variants">How to Create Variants</h3>
<p>Next, we'll make the button frame a variant. </p>
<p>Variants help you create multiple versions or states of a component. They're very useful when designing interfaces that have different states or variations, such as buttons with different sizes or designs, like we're creating here.</p>
<p>To make the button frame a variant, double-click on the component icon at the top of your screen.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-26.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving to the component icon at the top of the screen and double-clicking</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-27.png" alt="Image" width="600" height="400" loading="lazy">
<em>Variant of the button component</em></p>
<p>Next, I'll add another variant because I want to have three states for the button (Default, Hover, and Active). To add another variant, click on the plus icon on any of the already existing variants.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-28.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the olus icon on a variant to add nother variant</em></p>
<p>Automatically, a new variant will be added.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-29.png" alt="Image" width="600" height="400" loading="lazy">
<em>Added third variant</em></p>
<p>Next, I'll increase the size of the component frame so it can accommodate other variants that will be added. To do this, simply select the whole component, and drag to your satisfied size.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-30.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting the component frame</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-31.png" alt="Image" width="600" height="400" loading="lazy">
<em>Increasing the width of the component frame.</em></p>
<h3 id="heading-how-to-create-hover-and-active-states">How to Create Hover and Active States</h3>
<p>Next, I'll tweak the last two buttons (hover and active states), so the difference between the three button states will be obvious. To do this, I'll make the hover state lighter, and the active state darker.</p>
<p>For the hover state, I'll change the color code to #392AE7, which is a lighter shade of blue. Make sure the particular button is selected so the changes take effect:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-32.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing color code for the hover state</em></p>
<p>For the active state, I'll change the color code to #19107A which is a slightly darker shade of blue.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-33.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing the color code of the active state</em></p>
<h3 id="heading-how-to-create-other-button-states">How to Create Other Button States</h3>
<p>Next, we want to create other button states (buttons with icons on either side of the text, and with icons only).</p>
<p>To start with, I'll duplicate the three buttons. To do this, select the three buttons and duplicate using Ctrl + D.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-34.png" alt="Image" width="600" height="400" loading="lazy">
<em>Duplicating the three buttons</em></p>
<p>Next, we want to create button components with text and a left icon. To do this, click on the eye on the left icons on each of the icons to reveal them.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-35.png" alt="Image" width="600" height="400" loading="lazy">
<em>Revealing the icons on the left side of the buttons</em></p>
<p>Next, we want to create button components with text and a right icon.</p>
<p>To do this, duplicate the buttons again, and do the same for the right icons.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-36.png" alt="Image" width="600" height="400" loading="lazy">
<em>Duplicating the buttons a second time</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-37.png" alt="Image" width="600" height="400" loading="lazy">
<em>Revealing the icons on the right side</em></p>
<p>Lastly, we want to create button components with icons only.</p>
<p>To do that, we'll duplicate the buttons one last time to hide the text.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-38.png" alt="Image" width="600" height="400" loading="lazy">
<em>Duplicating the buttons a third time</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-39.png" alt="Image" width="600" height="400" loading="lazy">
<em>Hiding the text</em></p>
<p>I'll make the <em>icon only</em> frames a square shape. To do that, select the three frames and drag to resize.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-40.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting the 'icons only' frames</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-41.png" alt="Image" width="600" height="400" loading="lazy">
<em>Resizing the frames</em></p>
<p>I'll now resize the component frame to fit its content.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-42.png" alt="Image" width="600" height="400" loading="lazy">
<em>Resizing the component frame.</em></p>
<p>Next, we'll rename the different button states so it'll be easy to identify them. First, select the whole component frame. Then move to the section labelled <em>Properties</em>, and change <em>Property 1</em> to <em>Button</em> to show that this is a button component.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-43.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving to properties section</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-44.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renaming the component frame</em></p>
<p>Next, we'll rename the button frames by icons. Select the first three frames horizontally, and go over to the <em>Current variant</em> section. Rename them <em>No icons</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-46.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting first three buttons and renaming them</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-47.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed no icons buttons</em></p>
<p>We'll do same for the next three buttons, and name them <em>Left Icons</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-48.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed left icons' buttons</em></p>
<p>We'll do the same thing for the next set, renaming them <em>Right Icons</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-49.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed right icons' buttons</em></p>
<p>Finally, for the last set, we'll rename the buttons <em>Icons only</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-50.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed icons only buttons</em></p>
<h3 id="heading-how-to-group-buttons-by-states">How to Group Buttons by States</h3>
<p>Next, we'll group the buttons by states and name them. We'll start with the first state: <em>Default</em>. Select all the button frames under default and move to the <em>Current variant section</em> on the right hand panel. Click on the configure icon to edit the component configuration.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-51.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on configure icon</em></p>
<p>Click on the description box to add a description. In this case, I'll simply type <em>Default state</em>. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-55.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding a description</em></p>
<p>Do the same for the other two states – hover and active.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-53.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding a description for the hover state</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-54.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding a description for the active state</em></p>
<h3 id="heading-how-to-make-the-button-components-interactive">How to Make the Button Components Interactive</h3>
<p>To start, switch to the Prototype tab, located at the top of your screen, right-hand panel.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-56.png" alt="Image" width="600" height="400" loading="lazy">
<em>Switching to prototype mode</em></p>
<p>Next, add an interaction from the first to the second <em>no icon</em> button frame. To do this, click on the first button frame and drag the plus icon to the second frame.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-57.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding an interaction</em></p>
<p>This will bring up a list of interaction options and settings  for the animation. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-58.png" alt="Image" width="600" height="400" loading="lazy">
<em>Bringing up interaction setting</em></p>
<p>Change <em>On click</em> to <em>While hovering</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-60.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing interaction type to "while hovering"</em></p>
<p>Do the same for the next button frame but, instead of <em>While hovering</em>, change to <em>While pressing</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-61.png" alt="Image" width="600" height="400" loading="lazy">
<em>Animating the third button frame</em></p>
<p>Now, repeat the same steps for the other sets.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Button-62.png" alt="Image" width="600" height="400" loading="lazy">
<em>Repeating the animation steps for the other button sets.</em></p>
<p>Voilà, you just created an interactive button component. </p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Components help enhance your designs and make them more efficient. They also help you save time and they improve consistency across your designs. But they can only help when they're created the right way.</p>
<p>Practicing often will help improve your ability to create helpful reusable components. Remember, make every decision with your users in mind.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Use Variables in Figma – A Handbook for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ At Figma Config 2023, the Figma team unveiled a lot of new features – including variables. The launch of variables in Figma offers designers a new approach that helps them make their designs more flexible and adaptable.  In this tutorial, you'll lear... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/variables-in-figma-handbook/</link>
                <guid isPermaLink="false">66d03a3ba30d09f91d49b78b</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ handbook ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Faith Olohijere ]]>
                </dc:creator>
                <pubDate>Fri, 15 Dec 2023 22:11:10 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/12/How-to-Use-Variables-in-Figma-cover--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>At Figma Config 2023, the Figma team unveiled a lot of new features – including variables. The launch of variables in Figma offers designers a new approach that helps them make their designs more flexible and adaptable. </p>
<p>In this tutorial, you'll learn what variables in Figma are, and how to create and implement different types of variables while designing in Figma.</p>
<h2 id="heading-prerequisites">Prerequisites:</h2>
<p>To get the most out of this handbook, it'll be helpful to have basic knowledge of how to use Figma and its features. But note that this is not necessary, as I wrote this handbook for everyone – irrespective of their individual level of knowledge. </p>
<p>This handbook is for everyone who is interested in learning more about variables, Figma, and design in general.</p>
<h2 id="heading-table-of-contents">Table of Contents:</h2>
<ul>
<li><a class="post-section-overview" href="#heading-what-are-variables">What are variables?</a></li>
<li><a class="post-section-overview" href="#heading-differences-between-variables-and-styles-in-figma">Differences between Variables and Styles in Figma</a></li>
<li><a class="post-section-overview" href="#heading-why-are-variables-important-to-the-design-process">Why are Variables Important to the Design Process?</a></li>
<li><a class="post-section-overview" href="#heading-how-to-create-variables-in-figma">How to Create Variables in Figma</a><ul>
<li><a class="post-section-overview" href="#heading-how-to-create-colour-variables-in-figma">How to Create Colour Variables in Figma</a><ul>
<li><a class="post-section-overview" href="#heading-how-to-create-colour-variables-for-tokens">How to Create Colour Variables for Tokens</a></li>
<li><a class="post-section-overview" href="#heading-how-to-implement-colour-variables-in-your-designs">How to Implement Colour Variables in Your Designs</a></li>
<li><a class="post-section-overview" href="#heading-how-to-create-different-modes-with-variables">How to Create Different Modes with Variables</a></li>
</ul>
</li>
<li><a class="post-section-overview" href="#heading-how-to-create-number-variables-in-figma">How to Create Number Variables in Figma</a></li>
<li><a class="post-section-overview" href="#heading-how-to-create-string-variables-in-figma">How to Create String Variables in Figma</a></li>
<li><a class="post-section-overview" href="#heading-how-to-create-boolean-variables-in-figma">How to Create Boolean Variable in Figma</a></li>
</ul>
</li>
<li><a class="post-section-overview" href="#heading-how-to-use-variables-for-advanced-prototyping">How to Use Variables for Advanced Prototyping</a><ul>
<li><a class="post-section-overview" href="#heading-advanced-prototyping-with-number-variables">Advanced Prototyping with Number Variables</a></li>
<li><a class="post-section-overview" href="#heading-advanced-prototyping-with-boolean-variables">Advanced Prototyping with Boolean Variables</a></li>
</ul>
</li>
<li><a class="post-section-overview" href="#heading-how-to-use-variables-for-developers-using-apis">How to Use Variables for Developers- Using APIs</a> </li>
<li><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></li>
</ul>
<h1 id="heading-what-are-variables">What Are Variables?</h1>
<p>The word "variable" has a lot of definitions. The Oxford Dictionary defines the word variable as "not consistent or having a fixed pattern; liable to change." Another definition says "an element, feature, or factor that is liable to vary or change." </p>
<p>The definitions above simply tell us that variables are elements which are dynamic and prone to change. With these definitions, we can now define what a variable is in Figma. </p>
<p>In Figma, a variable stores reusable values like colour and text values that you can apply to different kinds of design properties and prototypes.</p>
<h2 id="heading-differences-between-variables-and-styles-in-figma">Differences between Variables and Styles in Figma</h2>
<p>Given the definition of variables above, you might have begun to see some similarities between variables and style guides. Although both features exist to make your work better, there are a few key differences to keep in mind:</p>
<ul>
<li>Variables are a more advanced feature, and they allow you to define and reuse values like colours, text, and spacing across your designs. On the other hand, styles are predefined sets of design properties such as text styles, colour styles, and effect styles.</li>
<li>Variables allow designs to change when used in various contexts, because of their dynamic nature, unlike styles. For example, you can change your designs from light mode to dark mode or have padding values change when designing for different devices. This makes variables useful for creating design systems with adaptable components.</li>
<li>Variables offer a more flexible design process in creating flexible design components, especially where you want to change values like button text or color on different instances of the same component. Styles are typically used for maintaining consistent design elements like button styles, text headings, or colour palettes.</li>
<li>Variables can store raw, single values, while styles store sets of values.</li>
</ul>
<h2 id="heading-why-are-variables-important-to-the-design-process">Why are Variables Important to the Design Process?</h2>
<p>Using variables is quite important for a number of reasons.</p>
<p>First, variables help maintain <strong>consistency</strong> across a design system. By defining variables for colors, typography, spacing, and other design elements, you ensure that these elements have a uniform appearance throughout your project. This consistency is crucial for branding and user experience.</p>
<p>Variables also make designs <strong>adaptable</strong>. Designers can quickly experiment with different values such as colour schemes or font sizes by adjusting the variables. This adaptability is valuable when creating designs for different platforms or devices.</p>
<p>Variables are also quite <strong>efficient</strong>. When a variable is updated, all instances of that variable in the design updates automatically. This saves time and effort, and eliminates the need to manually update every instance of a specific element.</p>
<p>Variables are particularly useful in large projects or design systems because of their <strong>scalability</strong> and <strong>ease of maintenance</strong>. They allow designers to scale their designs without losing control. </p>
<p>Since projects grow and design systems evolve over time, variables can be adjusted globally to accommodate new requirements. Variables also provide a central place to update these changes, ensuring that all design elements are consistently modified.</p>
<p>And finally, variables can be beneficial to developers during the <strong>hand-off process</strong>. Designers can provide developers with precise values for design elements, reducing the chances of misinterpretation and streamlining the implementation process. </p>
<h1 id="heading-how-to-create-variables-in-figma">How to Create Variables in Figma</h1>
<p>Variables are quite easy to create in Figma. Below, I'll walk you through the steps for creating different kinds of variables in Figma.</p>
<p>At the moment, we have four types of variables in Figma:</p>
<ul>
<li>Color: used for colour fills.</li>
<li>Number: used for dimensions, corner radius, and auto layout properties.</li>
<li>String: used for text layers and variant properties.</li>
<li>Boolean: used to toggle layer visibility.</li>
</ul>
<p>We'll create and implement each of these variables in Figma, and also use them for advanced prototyping.</p>
<h2 id="heading-how-to-create-colour-variables-in-figma">How to Create Colour Variables in Figma</h2>
<p>The first type of variable we'll be creating is a colour variable. As a designer or developer, you have likely used colours in your projects. So, the concept of colour shouldn't be unfamiliar to you from a design standpoint.</p>
<h3 id="heading-step-1-open-a-new-figma-file">Step 1: Open a new Figma file</h3>
<p>Let's assume that you want to create colour variables for a new design project you're going to start working on, like a magazine website for example. The first thing you need to do is open a new Figma file.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/Variable-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Blank Figma file</em></p>
<h3 id="heading-step-2-choose-a-colour-palette">Step 2: Choose a colour palette</h3>
<p>The next step is to choose a colour palette for the project. Every design project has a set of colours used repeatedly to establish consistency – for example, for headers and backgrounds, to call attention to a primary button, and so on. </p>
<p>You'll want to choose colours which complement each other for your design. If you need some help here, you can read my article on the <a target="_blank" href="https://www.freecodecamp.org/news/the-60-30-10-rule-in-design/">60-30-10 rule in design</a>. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/Variable-3.png" alt="Image" width="600" height="400" loading="lazy">
<em>Creating a colour palette</em></p>
<h3 id="heading-step-3-create-variables-for-each-colour">Step 3: Create variables for each colour</h3>
<p>Next, we'll create variables for each colour code in the palette. Go to the panel on the right-hand side and click on <em>local variables</em>.</p>
<p>Local variables means all the variables located in the design file.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-4.png" alt="Image" width="600" height="400" loading="lazy">
<em>Click on local variables</em></p>
<p>Click on <em>create variable</em> to create the first variable in the file. </p>
<p>A dropdown will appear containing the four types of variables I explained earlier. Since we're trying to create colour variables in this section, we'll choose <em>color</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-5.png" alt="Image" width="600" height="400" loading="lazy">
<em>Create a colour variable</em></p>
<p>A created variable section will come up, with two columns: the title of the variable (<em>Color</em>), and the value of the variable (the colour code-FFFFFF).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/Variable-6.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choose colour variables</em></p>
<p>Give your new variable a name – you can use the role of the colour, primary background for instance. In the next column, type the colour code or use a colour picker. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-7.png" alt="Image" width="600" height="400" loading="lazy">
<em>Rename variable &amp; type in colour code</em></p>
<p>And there you go – you just created your first colour variable!</p>
<p>To see more editing options, hover over the variable's row. An <em>edit variable</em> icon will pop up.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-141.png" alt="Image" width="600" height="400" loading="lazy">
<em>Edit variable</em></p>
<p>Click on it to edit the colour variable to your taste.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-8.png" alt="Image" width="600" height="400" loading="lazy">
<em>Edit the colour variable/add a description</em></p>
<p>In the editing section, you can add a description on how to use the variable, hide from publishing, and so on.</p>
<p>Having done that, follow the steps above to create variables for the remaining colours in the colour palette.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-10.png" alt="Image" width="600" height="400" loading="lazy">
<em>Create variables for other colours</em></p>
<p>You can also organise your variables into groups. To do this, select the colour variables you want to group (hold down SHIFT key), and right-click.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-11.png" alt="Image" width="600" height="400" loading="lazy">
<em>Group the colour variables</em></p>
<p>This will bring out some options:</p>
<ul>
<li>New group with selection</li>
<li>Edit variables</li>
<li>Duplicate variables</li>
<li>Delete variables</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-12.png" alt="Image" width="600" height="400" loading="lazy">
<em>New group with selection</em></p>
<p>Choose <em>New group with selection</em>, double-click on the group name, and rename it to <em>color/blue</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-14-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Rename group</em></p>
<p>You can group your colour variables anyway you'd like to – for example, background colours, header colours, different shades of a particular colour, and so on.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-15.png" alt="Image" width="600" height="400" loading="lazy">
<em>Colour blue variables grouped.</em></p>
<p>Violà! You just created a colour variable group in Figma. Click on the collection drop-down and choose <em>rename collection</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-16.png" alt="Image" width="600" height="400" loading="lazy">
<em>Rename collection</em></p>
<p>You can rename this collection <em>primitives</em>. </p>
<p><em>Primitives</em> means basic. Also, you can decide to rename your collections or not. The choice rests on you.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-39.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed primitives collection</em></p>
<h3 id="heading-how-to-create-colour-variables-for-tokens">How to Create Colour Variables for Tokens</h3>
<p>Now, we'll create colour variables for the text, surfaces (such as backgrounds), and borders we need for the project. We want to assign different functions to the colour palette (variables) we created earlier.</p>
<p>Click on local variables and create a new collection. You can name this <em>tokens</em>. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-21.png" alt="Image" width="600" height="400" loading="lazy">
<em>New collection</em></p>
<p>Create a new colour variable and rename it "primary text". </p>
<p>In order to save yourself time, and group your variables as you're naming them, rename the variable as <em>text/primary</em>. This will automatically form a group.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-24.png" alt="Image" width="600" height="400" loading="lazy">
<em>Creating and grouping text variables</em></p>
<p>Click on the fill box and go to <em>Libraries</em> to see all colour variables created.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-26.png" alt="Image" width="600" height="400" loading="lazy">
<em>Assigning colour from libraries</em></p>
<p>We'll choose <em>Main Black</em> which is under <em>color/greys</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-27.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing colour black</em></p>
<p>We can go ahead and assign other colour variables for different text functions, as much as we want to. Remember to add <em>text/</em> before the actual name of the variable, so it'll form a group automatically.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-28.png" alt="Image" width="600" height="400" loading="lazy">
<em>Assigning colour variables for text</em></p>
<p>Next, we'll create colour variables for surfaces such as backgrounds, and for borders as well.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-29.png" alt="Image" width="600" height="400" loading="lazy">
<em>Colour variables for surfaces and borders</em></p>
<p>Some of the colour variables might bear the same colour code, but they have different functions, so that's totally fine. For example, the colour code for button text is the same as the colour code for main background. </p>
<h3 id="heading-how-to-implement-colour-variables-in-your-designs">How to Implement Colour Variables in Your Designs</h3>
<p>Next, we're going to implement these colour variables in our design. </p>
<p>In the image below, there are four mobile wireframes with no colour and images (I created these previously). </p>
<p>You can read about how to create wireframes in this article: <a target="_blank" href="https://www.freecodecamp.org/news/what-is-wireframing/">What is Wireframing? How to move from Paper Sketches to High Fidelity Wireframes</a>.</p>
<p>We'll use the colour variables we've created to add colour to the buttons and text, making sure all elements are consistent.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-30.png" alt="Image" width="600" height="400" loading="lazy">
<em>Low-fidelity wireframes</em></p>
<p>Starting with the first screen, let's add colour to the button. Click on the button, and go to to <em>Fill</em> on the right-hand side of your screen. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-32-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Click on button</em></p>
<p>In the <em>Fill</em> section, click on <em>style</em> (the four dot icon by the side). Selecting <em>style</em> will bring up a list of colours in your libraries. Select the colour you've assigned for the primary button in order to implement it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-33-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Select a fill colour from the colour variables in libraries</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-34-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Implemented button colour</em></p>
<p>Next, give the button text a white colour following the same steps.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-35-3.png" alt="Image" width="600" height="400" loading="lazy">
<em>Implementing colour variable for button text</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-36-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Implemented button text colour</em></p>
<p>You can go ahead and do the same for the other screens, following the steps above. Don't forget to update the text and colours as well. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-37-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Updating colour variables for other screens</em></p>
<p>You can also add some images or illustrations to complete the look.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/09/variable-38-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding illustrations to updated design</em></p>
<p>Note: You can get your illustrations from plugins in Figma like Storyset by Freepik, Artify Illustrations, and so on, as well as from illustration libraries like <a target="_blank" href="https://www.freepik.com/">Freepik</a>, <a target="_blank" href="https://www.lapa.ninja/blog/free-illustrations-library-for-your-project/">Lapa Ninja</a>, and others.</p>
<h3 id="heading-how-to-create-different-modes-with-variables">How to Create Different Modes with Variables</h3>
<p>Next, we'll create different modes for our design. For instance, if you're working on a project that requires light and dark modes, instead of changing all the design elements manually to accommodate the modes, you can simply use variables to implement that.</p>
<p>To start with, click on <em>Local variables</em> to create a new variable. A list of all variables in the file and their groups will come up:</p>
<p>color/blue:</p>
<ul>
<li>Primary Button</li>
<li>Main Blue</li>
</ul>
<p>color/greys:</p>
<ul>
<li>Main Black</li>
<li>Main Background</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-142.png" alt="Image" width="600" height="400" loading="lazy">
<em>Opening "Local variables"</em></p>
<p>Next, I'll create a new collection so I can just focus on the modes I am about to create. To create a new collection, simply click on the menu icon on the variables header.</p>
<p>Note that creating a new collection isn't mandatory. It's just to help take your focus away from other variables you have already created.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-143.png" alt="Image" width="600" height="400" loading="lazy">
<em>Creating a new collection</em></p>
<p>Next, I'll rename the collection to <em>Modes.</em> To rename a collection, simply double-click on the title, and input your preferred title.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-144.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renaming a collection</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-145.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed collection "Modes"</em></p>
<p>Next, click on <em>Create variable</em> to create a new variable. I'll choose <em>Color</em> because that's the variable we're working with.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-146.png" alt="Image" width="600" height="400" loading="lazy">
<em>Creating a variable called Color</em></p>
<p>The created colour variable will come up with a default colour code: FFFFFF.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-147.png" alt="Image" width="600" height="400" loading="lazy">
<em>Created color variable with default colour code: FFFFFF</em></p>
<p>Next, I'll rename the variable <em>Background</em> because I'm trying to set the background colours for each mode (light and dark).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-148.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed color variable: Background</em></p>
<p>Now, we've been working with only the name and value of the variables we've created, but we can add another column when we want to create modes. To do this, simply click on the plus icon on the header to add a new variable mode.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-149.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the plus icon</em></p>
<p>The new mode will come with three columns: </p>
<ul>
<li>Column 1 (the title of the variable – Background)</li>
<li>Mode 1 (the first value of the variable – colour code FFFFFF)</li>
<li>Mode 2 (the first value of the variable – colour code FFFFFF)</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-150.png" alt="Image" width="600" height="400" loading="lazy">
<em>Created new mode</em></p>
<p>Next, I'll rename the modes to light and dark. To do this, simply double-click on the title and edit the name.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-151.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed modes: Light &amp; Dark</em></p>
<p>Now, we'll assign a value to the background for dark mode. To do this, simply input the colour code/value you prefer for the background. I'll use #0C3272 as my background colour for dark mode.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-152.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changed value for dark mode background</em></p>
<p>Next, we'll create other colour variables for other elements like, text, button colour, button text colour, and so on for the two modes. I''ll list out the specifications to make it easier:</p>
<p><strong>Light/Dark:</strong></p>
<ul>
<li>Body text: 1A1A1A/FFFFFF</li>
<li>Button: 0C3272/FFFFFF</li>
<li>Button text: FFFFFF/0C3272</li>
<li>iPhone header: 1A1A1A/FFFFFF</li>
</ul>
<p>Next, we'll go ahead to create the variables. Just follow the steps we followed earlier to create the variables and assign values for each of the modes.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-154.png" alt="Image" width="600" height="400" loading="lazy">
<em>Created variables for other elements</em></p>
<p>Next, we make sure the design is connected to the variables we created. To do this, simply hold the element and use <em>Fill</em> to tie it to the colour variable. </p>
<p>For the Button text for instance, select the text, and click on the style icon in <em>Fill</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-155.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on style icon in the "FFill" section</em></p>
<p>Next, scroll down the list that comes up, to the specific variable you want to tie the variable to (in this case Body text).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-156.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting Body text variable.</em></p>
<p>Do the same for the other elements in the design, including the background.</p>
<p>Note that I'll be leaving the illustrations the way they are.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-157.png" alt="Image" width="600" height="400" loading="lazy">
<em>Screens connected to the variable modes.</em></p>
<p>To check if the modes actually work, click on the <em>change variable mode</em> icon on the <em>Layer</em> section on the right-hand panel of your screen. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-158.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the "change variable mode" icon</em></p>
<p>A list of all modes (Light &amp; Dark) will come up and you can switch the screen to whatever mode you choose.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-159.png" alt="Image" width="600" height="400" loading="lazy">
<em>Switching modes</em></p>
<p>A section named <em>Modes</em> will appear on the <em>Layer</em> section, indicating that one of the screens is in dark mode.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-160.png" alt="Image" width="600" height="400" loading="lazy">
<em>One dark mode &amp; one light mode screen.</em></p>
<h2 id="heading-how-to-create-number-variables-in-figma">How to Create Number Variables in Figma</h2>
<p>Next, I'll show you how to create number variables in Figma. </p>
<p>Number variables are defined by number values, and they can be applied to corner radius, width or height padding, and so on. Here are the steps to follow to create your own:</p>
<h3 id="heading-step-1-choose-a-variable">Step 1: Choose a variable</h3>
<p>Just like we did when creating color variables, click on the local variables panel to select the kind of variable you're trying to create. Here, you'll select <em>number.</em> </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/10/variable-40.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing variable to create</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/10/Variable-41.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting "number"</em></p>
<p>When you select <em>number</em>, it appears on the list of variables with a value, in this case 0. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-43.png" alt="Image" width="600" height="400" loading="lazy">
<em>Number variable showing Number with a default value of 0</em></p>
<p>Now, you can rename the number variable to whatever you decide. To rename the variable, double click on <em>number</em>, and change it to whatever name you want.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-44.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renaming number variable</em></p>
<p>I'll rename mine to <em>OrderCount,</em> because I'm trying to implement a function that allows a user to increase the number of portions of food they're trying to order.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-45.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamed number variable</em></p>
<p>Next, we'll set the default number value to <em>1</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-46.png" alt="Image" width="600" height="400" loading="lazy">
<em>Setting default number value</em></p>
<p>Now we'll tie the number on the design to the number variable (<em>OrderCount).</em> To do this, click on the number in the design.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-47.png" alt="Image" width="600" height="400" loading="lazy">
<em>Implementing the number variable</em></p>
<p>Then go to <em>Text</em> on the left hand side of your screen. Click on the <em>Apply variable</em> icon to apply the variable.</p>
<p>Note: The <em>apply variable</em> icon will only appear on the <em>Text</em> section when a variable has been created.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-49.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the "appy variable" icon</em></p>
<p>Clicking on the icon will bring up a list of all number variables available in the file. Next, you'll select the variable you're trying to implement. I'll choose <em>OrderCount</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-50.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting a number variable</em></p>
<p>When the variable has been implemented (tied to the number), it'll appear on the text section, indicating that a number variable has been implemented.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-51.png" alt="Image" width="600" height="400" loading="lazy">
<em>Implemented number variable</em></p>
<p>Now, we'll also need two more number variables for the other number values in the design (cost of food and total cost). This is so that these values will also change when a user increases the number of portions they're ordering. </p>
<p>We won't include delivery fee, because it remains the same way irrespective of the number of portions a user orders.</p>
<p>Next, we'll follow the same process as we did above to create number variables for these.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-52.png" alt="Image" width="600" height="400" loading="lazy">
<em>Creating other number variables</em></p>
<p>Next, we'll tie the numbers in the design to their respective number variables, just as we also did earlier. </p>
<p>Note: In the main design, I gave the actual number (25) a different frame from the dollar sign (which is in text). This is because when creating the number variable, the dollar sign will not be attached, because it's a word, not a number. </p>
<p>Consequently, when I tie the number variable to the design, I'll be applying it to the frame containing the number alone.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-53.png" alt="Image" width="600" height="400" loading="lazy">
<em>Give the number a different frame from the dollar sign</em></p>
<p>So, when I tied the first number to the number variable I created (Cost-Portion), something interesting happened. The number in the design took on the value of the variable. Instead of 25.00 which was in the screen earlier, it changed to just 25 because that's what the number variable was set to. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-55.png" alt="Image" width="600" height="400" loading="lazy">
<em>Number variable changing the number in the design</em></p>
<p>Now, to avoid any unpleasantness, I'll change the values of the other numbers, and realign them.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-56.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changed and realigned number values in the design</em></p>
<p>We've just created number variables for our design. In the section for advanced prototyping, we'll check to see if these number variables actually work.</p>
<h2 id="heading-how-to-create-string-variables-in-figma">How to Create String Variables in Figma</h2>
<p>Next, you'll learn how to create string variables in Figma.  </p>
<p>As I wrote earlier, string variables are used for text layers and variant properties. With string variables, you can change the headings in your design, flip text on different screens, change language modes, and so on.</p>
<p>For this article, we'll use string variables to change the headings on the screens for each mode we created earlier (light and dark). </p>
<p>As usual, our first step is to click on <em>Local variables</em> and select the type of variable we want to create.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-161.png" alt="Image" width="600" height="400" loading="lazy">
<em>Going to local variables to create a new variable</em></p>
<p>I'll choose <em>String</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-163.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing "String" out of a list of all variables</em></p>
<p>When I do that, the string variable I just created will appear on the list of variables.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-164.png" alt="Image" width="600" height="400" loading="lazy">
<em>Created String variable</em></p>
<p>If you noticed, the string variable has two columns for "string value", because I created the variable in the <em>Modes</em> collection. Following that, let's see if we can change the headings for each mode. </p>
<p>Note: The string value is the actual text you're trying to change. </p>
<p>So, for the first screen whose heading is "Transactions Made Easy", I want it to change to "Easy Transactions, Less Stress" for dark mode. For the second screen whose heading is "Pay Bills with Ease", I want it to change to  "Paid Bills, Easier Life" for dark mode.</p>
<p>Since we're changing the headings for two different screens, we'll create another string variable.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-165-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Creating another string variable</em></p>
<p>Next, we'll input the different values for the different modes. To do this, just input the different texts for the two screens in both modes.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-166-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Inputing string value</em></p>
<p>Next, we'll tie the headings to the string variables we just created. To do this, click on the particular heading, and go to the <em>Apply variable</em> icon on the <em>Text</em> section.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-167-3.png" alt="Image" width="600" height="400" loading="lazy">
<em>Applying string variable</em></p>
<p>Next, scroll down and choose the string you're applying it to.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-168-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing string variable</em></p>
<p>Once you're done, a string icon will come up, indicating that a string variable was applied to the text.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-169-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Applied string variable</em></p>
<p>Do the same for the second string:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-170-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Applying string variable to the second screen</em></p>
<p>Next, let's test to see if the string variable works. Select the screens which have the applied variable, go to <em>Layers,</em> and change the mode from light to dark.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-171-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting screens which have the applied variables</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-172-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting dark mode</em></p>
<p>Mine works:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-173-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Screens changed to dark mode</em></p>
<h2 id="heading-how-to-create-boolean-variables-in-figma">How to Create Boolean Variables in Figma</h2>
<p>Next up, we'll learn how to create Boolean variables. </p>
<p>Generally, boolean variables are variables that can only have two possible values – true or false. In Figma, boolean variables have the same function: they are used for variant properties or components with two values: true or false. </p>
<p>Remember the toggle in the design above? </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-110.png" alt="Image" width="600" height="400" loading="lazy">
<em>Toggle in the design used for implementing number variables</em></p>
<p>I'll change that to a checkbox and use boolean variables to make it work. </p>
<p>To do this, I'll copy out the component and paste it on another frame. I'll then add the checkbox (and replace it in the main design screen later).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-111.png" alt="Image" width="600" height="400" loading="lazy">
<em>Checkbox on a blank frame.</em></p>
<p>Next, we'll make the selection a variant. To do this, double-click on the <em>Create component</em> icon on your Figma file header.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-113.png" alt="Image" width="600" height="400" loading="lazy">
<em>Double-clicking on "create component" icon</em></p>
<p>A variant will automatically appear:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-114.png" alt="Image" width="600" height="400" loading="lazy">
<em>Variant of the component</em></p>
<p>Next, I'll create different states for the checkboxes: default, hover, and filled.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-116.png" alt="Image" width="600" height="400" loading="lazy">
<em>Different states for the chechboxes: Default, hover and filled.</em></p>
<p>Now, we'll create the boolean variable. </p>
<p>To do this, go to <em>Local variables</em> as usual and select <em>Boolean</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-118.png" alt="Image" width="600" height="400" loading="lazy">
<em>Opening local variables</em></p>
<p>Click on <em>Create variable</em>. </p>
<p>Next, we'll choose <em>Boolean</em> from the list.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-117.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing "boolean" from the list</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-119.png" alt="Image" width="600" height="400" loading="lazy">
<em>Created boolean variable</em></p>
<p>Next, we'll rename the boolean variable <em>SaveFood</em> since we're trying to create a function for saving a food choice for subsequent orders.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-120.png" alt="Image" width="600" height="400" loading="lazy">
<em>Renamied boolean variable</em></p>
<p>Next, we'll make the variable <em>True</em> by default. To do this, just click on the toggle icon by the side of the variable.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-121.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You've created a boolean variable!</p>
<p>We'll create an interaction for this boolean variable in the advanced prototyping section and check if it works. </p>
<h2 id="heading-how-to-use-variables-for-advanced-prototyping">How to Use Variables for Advanced Prototyping</h2>
<p>In this section, we'll learn how to use variables for advanced prototyping in Figma, using the colour, number, string, and boolean variables we implemented earlier in the design.</p>
<p>N.B: You can only use advanced prototyping features on Figma if your file is on a paid team file. If you don't have a paid team version, you can apply for the <em><a target="_blank" href="https://www.figma.com/education/">Figma for Education</a></em> plan. It's a way Figma helps learners and educators by giving them access to resources, and all benefits of a paid version, for free.</p>
<p>You can use advanced prototyping when you have a lot of screens to work on, and to simply make prototyping easier.</p>
<h3 id="heading-advanced-prototyping-with-number-variables">Advanced Prototyping with Number Variables</h3>
<p>Starting with the number variables we created above, let's try to check if it actually works. But before we do that, we'll have to actually prototype the design. </p>
<p>Note that you can prototype number variables for designs where your user can increase or decrease the number of an item on the screen. Prototyping helps to show the functionality and how that particular feature would work. </p>
<p>To start with, I'll make the frame where the order count is a component. To do this, select the frame, and click on the component icon on your Figma file header.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-57.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting the order count frame</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-58.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the component icon</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-59.png" alt="Image" width="600" height="400" loading="lazy">
<em>The order count component</em></p>
<p>Click on the component icon again to make it a variant.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-60.png" alt="Image" width="600" height="400" loading="lazy">
<em>Making the order count component a variant</em></p>
<p>I'll make a frame outside the screen and drag the variant there, so I'll be able to work on the interactions well.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-61.png" alt="Image" width="600" height="400" loading="lazy">
<em>Making a frame outside the screen</em></p>
<p>Remember that we want to implement a function where the number of portions increases when the user clicks on the plus icon. </p>
<p>We'll start prototyping from here. </p>
<p>Now, click on the plus icon in the default variant and move to the prototype tab.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-62.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the plus icon in the default variant</em></p>
<p>Next, click on the plus icon in the interactions area to add an interaction.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-63.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding an interaction</em></p>
<p>A tab will come up showing interactions. In this case, it's set to default <em>On click</em>, and no interaction has been added yet (None).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-64.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding an interaction</em></p>
<p>Now, click on the dropdown icon that says <em>None.</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-65.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the dropdown icon</em></p>
<p>It'll bring up a list:</p>
<ul>
<li>Navigate to</li>
<li>Change to</li>
<li>Back</li>
<li>Set variable</li>
<li>Conditional</li>
<li>Scroll to</li>
<li>Open link</li>
<li>Open overlay</li>
<li>Swap overlay</li>
<li>Close overlay</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-66.png" alt="Image" width="600" height="400" loading="lazy">
<em>List following the dropdown</em></p>
<p>Choose <em>Set variable</em>. </p>
<p>A list of all variables in the file will come up, and you can then select the particular variable you want to implement. I'll click on <em>OrderCount</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-67.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing "set variable"</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-68.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on Order Count (the first time)</em></p>
<p>Next, I'll click on <em>OrderCount</em> again to write a mathematical expression, and all the available mathematical expressions will appear:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-69.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on Order Count (the second time) and showing all mathematical expressions</em></p>
<p>I'll select <em>Addition</em>, because that's what we're trying to do.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-70.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing the "addition" expression</em></p>
<p>You'll notice that an addition icon popped up to signify that the addition expression was given. </p>
<p>Next, I'll input <em>1</em> by the side of the addition icon to show that it's plus 1.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-71.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding number 1 to the expression</em></p>
<p>Done! </p>
<p>Now, we'll follow the same steps to do the same for the minus icon, making the expression subtraction instead of addition.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-72.png" alt="Image" width="600" height="400" loading="lazy">
<em>Added interactions for the minus icon</em></p>
<p>Done!</p>
<p>Note: We don't really need the variant we created earlier. You might only use the variant in cases where you want to create a hover state. I just wanted to show you how easy it would be to create a variant while doing this. </p>
<p>Next, we'll just copy the prototyped component and put it back in the main design.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-73.png" alt="Image" width="600" height="400" loading="lazy">
<em>Frame containing the prototyped variable</em></p>
<p>To put the prototyped component in the main design, click on <em>Assets</em> at the top of the left hand panel.</p>
<p>This section will show all the assets in the page you're currently on.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-74.png" alt="Image" width="600" height="400" loading="lazy">
<em>Showing all assets on the page</em></p>
<p>Next, I'll drag the frame to the design. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-75.png" alt="Image" width="600" height="400" loading="lazy">
<em>Dragged asset to main design</em></p>
<p>Note: If you don't want to follow the process above to place the prototyped component in the design, simply copy the component (CTRL + C), and <em>paste to replace</em> the frame on the main design.</p>
<p>Now, let's check our prototype out. To do this, you don't need to open the prototype on another tab. You can simply click on the asset and press SHIFT + space bar.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-76.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicked asset</em></p>
<p>Another frame will appear on your screen. It's interactive and you can test your prototype on it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-77.png" alt="Image" width="600" height="400" loading="lazy">
<em>Interactive frame on your Figma screen.</em></p>
<p>Try clicking on the minus and plus icons on the frame to see if it carries out its function. </p>
<p>After checking the prototype, I'd like to implement some logic. </p>
<p>We don't want a scenario where the clicking on the minus icon continues till after 0 and now gives us a negative sign like -1 as you can see in the image below.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-78.png" alt="Image" width="600" height="400" loading="lazy">
<em>Minus icon giving us negative values</em></p>
<p>That wouldn't make sense, so we'll add a <em>conditional</em>. </p>
<p>A conditional is simply a condition that sets rules about how the interaction should work.</p>
<p>To do this, I'll move to the frame containing the component I made earlier. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-79.png" alt="Image" width="600" height="400" loading="lazy">
<em>Frame containing prototyped component</em></p>
<p>I'll be adding the conditional to the minus icon since that's the area that would give us negative values. So, I want the values to stop at 1 since that's the least a user can order (they can't order half or 0, for example). </p>
<p>So, we'll just zoom into the component to add our conditional. Make sure you're on the prototype tab as well.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/variable-80.png" alt="Image" width="600" height="400" loading="lazy">
<em>Moving to prototype tab and zooming in on the prototyped component</em></p>
<p>I'll click on the variable icon by the minus frame.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-81.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting the variable icon close to the minus icon frame</em></p>
<p>This will bring up the already set interactions:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-82.png" alt="Image" width="600" height="400" loading="lazy">
<em>Already made interactions on the minus frame</em></p>
<p>Next, I'll click on the plus icon by the 'x' on the interactions header.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-83.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the plus icon in the interaction header</em></p>
<p>I'll choose <em>conditional</em> from the list of options which will appear:</p>
<ul>
<li>Navigate to</li>
<li>Change to</li>
<li>Back</li>
<li>Set variable</li>
<li>Conditional</li>
<li>Scroll to</li>
<li>Open link</li>
<li>Open overlay</li>
<li>Swap overlay</li>
<li>Close overlay</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-84.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing conditional from the list of options</em></p>
<p>We'll then write the condition. To do this, click on <em>Write condition</em> by the <em>if else</em> statement<em>.</em> </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-86.png" alt="Image" width="600" height="400" loading="lazy">
<em>Writing a condition for the interaction</em></p>
<p>When we click on <em>Write condition</em>, a list of all number variables will come up. I'll choose <em>OrderCount</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-87.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting ordercount</em></p>
<p>This will bring up a list of all available conditions:</p>
<ul>
<li>Equal to</li>
<li>Not equal to</li>
<li>Greater than</li>
<li>Greater than or equal to</li>
<li>Less than</li>
<li>Less than or equal to</li>
</ul>
<p>I'll choose <em>Not equal to</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-88.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing "Not equal to" condition</em></p>
<p>Next, the icon for the condition I chose will appear on the input field for writing the condition.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-89.png" alt="Image" width="600" height="400" loading="lazy">
<em>Condition appearing on the input field</em></p>
<p>Next, I'll input 0, which means the interaction is not equal to 0.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-90.png" alt="Image" width="600" height="400" loading="lazy">
<em>Inputing 0 (zero)</em></p>
<p>Next, I'll close the frame and try moving the <em>Set variable</em> section under the <em>conditional section</em> in the interaction. To close the Set variable section, click on the little dropdown icon.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-91.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the dropdown icon to close set variable</em></p>
<p>When you click on the little dropdown icon, the <em>Set variable</em> section will be minimized, allowing you move the section under the <em>Conditional</em> section.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-92.png" alt="Image" width="600" height="400" loading="lazy">
<em>Closed set variable section</em></p>
<p>Next, I'll drag the <em>set variable</em> section under the <em>conditional</em> section. To do this, just hover on the <em>set variable</em> section and use your trackpad or mouse to drag it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-93.png" alt="Image" width="600" height="400" loading="lazy">
<em>Dragging set variable under conditional</em></p>
<p>We just added a conditional to our interaction! The icon for the minus frame will change to a condition icon, showing that a conditional has been added.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-94.png" alt="Image" width="600" height="400" loading="lazy">
<em>Added a conditional to minus interaction</em></p>
<p>Now, you can test this new interaction to see how it works. </p>
<p>Mine certainly does! It doesn't go lower than 0 anymore.</p>
<h3 id="heading-how-to-implement-cost-per-portion-variable">How to implement cost per portion variable</h3>
<p>Now, we want the other number values (cost per portion and total cost) to increase in response to the number of portions a user orders.</p>
<p>We'll start with the Plus icon frame:</p>
<p>Going back to the component we've been working on...</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-95.png" alt="Image" width="600" height="400" loading="lazy">
<em>Frame with prototyped component</em></p>
<p>I'll click on the plus frame and go ahead to <em>set variable</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-96.png" alt="Image" width="600" height="400" loading="lazy">
<em>Opening the interactions for plus frame</em></p>
<p>I'll click on the plus icon on the interactions header.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-97.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the plus icon on the interactions header</em></p>
<p>Next, I'll select <em>set variable</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-98.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting set variable</em></p>
<p>A list of all variables that have been created in the file will come up:</p>
<ul>
<li>The color variables for text, buttons, headings, and so on.</li>
<li>Number variables – <em>OrderCount</em>, <em>Cost-Portion</em>, and so on.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-99.png" alt="Image" width="600" height="400" loading="lazy">
<em>A list of all variables in the file</em></p>
<p>I'll scroll down to choose <em>cost-portion,</em> which is the cost per food portion a user orders.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-100.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing "Cost-portion" (the first time)</em></p>
<p>An input field to write an expression for the variable will come up.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-101.png" alt="Image" width="600" height="400" loading="lazy">
<em>Write expression input filed</em></p>
<p>To write an expression, click on Cost-Portion again and select <em>Addition</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-102.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing cost-portion (the second time) and selecting addition</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-104.png" alt="Image" width="600" height="400" loading="lazy">
<em>Addition icon coming up on input field</em></p>
<p>Next, I'll input 25, meaning that +25 should be added for every portion of food a user orders.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-103.png" alt="Image" width="600" height="400" loading="lazy">
<em>Inputing 25</em></p>
<p>Having added the interaction for the plus frame, we'll follow the same process for the minus frame. When you're done, the <em>Set variable</em> section should be under the <em>Conditional</em> section.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-105.png" alt="Image" width="600" height="400" loading="lazy">
<em>Adding interaction for the minus frame</em></p>
<p>Remember there's a conditional for the minus frame, so I'll just drag the new interaction inside the conditional.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-106.png" alt="Image" width="600" height="400" loading="lazy">
<em>Dragging the new "set variable" interaction inside the conditiona;</em></p>
<p>Now, try testing the new interaction you just added. Mine certainly works!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-107.png" alt="Image" width="600" height="400" loading="lazy">
<em>Testing the new interaction</em></p>
<p>Next, we still have one last variable to add (Total Cost). </p>
<p>Follow the steps above to recreate this interaction. Starting with the plus frame, implement the variable to make sure $25 adds when the order increases. It should show a placeholder – <em>Total Cost + 25</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-108.png" alt="Image" width="600" height="400" loading="lazy">
<em>Implementing Total Cost variable</em></p>
<p>Now, do the same for the minus frame and test the interaction. Don't forget to add the new interaction inside the conditional.</p>
<p>Mine works!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-109.png" alt="Image" width="600" height="400" loading="lazy">
<em>Testing the interactions</em></p>
<p>You just learnt how to implement number variables with advanced prototyping in Figma. Congrats!</p>
<h3 id="heading-advanced-prototyping-with-boolean-variables">Advanced Prototyping with Boolean Variables</h3>
<p>Next, we'll create an interaction for the boolean variable we created earlier in the article. </p>
<p>Note that you can prototype your boolean variables in designs where you have features like checkboxes and toggles. The prototype would show how the checkbox is supposed to function.</p>
<p>To create the interaction, move to the prototype tab and focus on the frame containing the boolean components.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-122.png" alt="Image" width="600" height="400" loading="lazy">
<em>Frame containing boolean components</em></p>
<p>Now, our main interaction will start from the hover state because that's when a user tries to click on the checkbox. But we still need to add an action that will take the user from the default state to the hover state. </p>
<p>To do this, I'll just click on the first variant and drag it to the second variant.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-132.png" alt="Image" width="600" height="400" loading="lazy">
<em>Connecting first variant to the second variant</em></p>
<p>I'll change <em>On-click</em> to <em>While Hovering</em>. To do this, just click on the <em>On-click</em> dropdown and select from the list that pops up:</p>
<ul>
<li>On click</li>
<li>On drag</li>
<li>While hovering</li>
<li>While pressing</li>
<li>Key/Gamepad</li>
<li>Mouse enter</li>
<li>Mouse leave</li>
<li>Mouse down</li>
<li>Mouse up</li>
<li>After delay</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-133.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the on-click dropdown</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-134.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting "while hovering" from the list</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-135.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selected "while hovering"</em></p>
<p>I also want to change <em>Instant</em> to <em>Smart Animate</em>, so I'll click on the dropdown icon by <em>Instant</em>, and select from the list that appears:</p>
<ul>
<li>Instant</li>
<li>Dissolve</li>
<li>Smart animate</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-136.png" alt="Image" width="600" height="400" loading="lazy">
<em>Changing "Instant" to "Smart Animate"</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-137.png" alt="Image" width="600" height="400" loading="lazy">
<em>How the interaction looks</em></p>
<p>So, we're done with the first interaction and we'll get started on connecting the second variant to the third variant (Hover - Filled).</p>
<p>Just as we did earlier, we'll just drag the second variant to the third variant.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-124.png" alt="Image" width="600" height="400" loading="lazy">
<em>Connecting the second to the third variant</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-125-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>How the interaction looks</em></p>
<p>Like I said earlier, the main interaction starts from the second variant so we'll not be following the same steps we took to add the first interaction.</p>
<p>To continue, I'll click on the plus icon on the interaction header to add an action, and select <em>Set variable</em> from the list that pops up:</p>
<ul>
<li>Navigate to</li>
<li>Change to</li>
<li>Back</li>
<li>Set variable</li>
<li>Conditional</li>
<li>Scroll to</li>
<li>Open link</li>
<li>Open overlay</li>
<li>Swap overlay</li>
<li>Close overlay</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-126.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on the plus icon on the interaction</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-127.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing "set variable" from the list</em></p>
<p>Next, I'll click on <em>Pick target variable</em> to select the boolean variable.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-128.png" alt="Image" width="600" height="400" loading="lazy">
<em>Clicking on "pick target variable"</em></p>
<p>I'll scroll down the list of variables to choose the variable I want: SaveFood.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-129.png" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting "SaveFood" variable</em></p>
<p>Now, to write the expression for this variable, we're going to say the value will be equal to true. So, I'll select <em>True</em>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-130.png" alt="Image" width="600" height="400" loading="lazy">
<em>Writing the expression and selecting "true"</em></p>
<p>Having selected <em>True</em>, the expression (<em>true</em>) will go under the <em>SaveFood</em> variable, indicating that an expression was applied.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-131.png" alt="Image" width="600" height="400" loading="lazy">
<em>How the interaction looks</em></p>
<p>Next, we'll just copy the original component and paste it in our design so it can sync when we're checking the prototype.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-138.png" alt="Image" width="600" height="400" loading="lazy">
<em>Pasting the default component in the main design</em></p>
<p>To check the prototype directly on your Figma page, click on Shift + space bar.</p>
<p>Mine works!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-139.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>But I noticed something; I can't un-check the checkbox. No interaction was provided for that. Now, we'll quickly add that interaction so our component works perfectly. </p>
<p>To do this, we'll go back to our components, making sure we're in prototype mode, and drag the connection from filled all the way back to default.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Variable-140.png" alt="Image" width="600" height="400" loading="lazy">
<em>Dragging the connection from filled state to default state</em></p>
<p>Now, it's works perfectly!</p>
<h2 id="heading-how-to-use-variables-for-developers-using-apis">How to Use Variables for Developers – Using APIs</h2>
<p>Variables are very helpful for teams consisting of developers and/or designers. </p>
<blockquote>
<p>Variables are now supported in Figma’s Plugin API—for building plugins and widgets—and in the REST API. Since variables is currently in open beta, features and functions may change as we respond to feedback. – Figma Docs</p>
</blockquote>
<p>There are three documentations which contain support for variables for developers on Figma: </p>
<ul>
<li>For the <a target="_blank" href="https://www.figma.com/developers/api#variables">REST API</a>: </li>
</ul>
<blockquote>
<p>This API includes endpoints for querying, creating, updating, and deleting variables. – Figma docs</p>
</blockquote>
<p>To be able to use this API, you must be a member of an enterprise.</p>
<ul>
<li>For the <a target="_blank" href="https://www.figma.com/plugin-docs/working-with-variables/">plugin API</a>: </li>
</ul>
<blockquote>
<p>This API provides support for creating and reading variables, and binding variables to components. – Figma docs</p>
</blockquote>
<ul>
<li>For the <a target="_blank" href="https://www.figma.com/widget-docs/working-with-variables/">widget API</a>: This API is connected to the plugin API. It is available to widgets by using the Plugin API the widget contains. </li>
</ul>
<p>Widgets are interactive elements that can be used to create interactive prototypes. Widgets extend the functionality of design files and FigJam boards and are often part of the larger design system, which is a collection of reusable components.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Variables exist in Figma to make your designs better. They are easy to use and create, and are helpful in every design project. In order to save yourself time, make sure to incorporate variables into your design process. </p>
<p>The key is to practice and explore, and you'll get better as you go. </p>
<p>Thank you for reading this article, I hope you enjoyed it! </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Resize Elements in Figma ]]>
                </title>
                <description>
                    <![CDATA[ In this article, we'll learn a few different ways to resize elements and groups in Figma (in addition to the default method). We'll also learn how to resize frames without moving elements in the frames. In Figma, there are other ways to resize elemen... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-resize-elements-in-figma/</link>
                <guid isPermaLink="false">66d03a2b0c53e89db44b6a0d</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Faith Olohijere ]]>
                </dc:creator>
                <pubDate>Tue, 26 Apr 2022 23:05:31 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/04/pexels-pixabay-163822.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In this article, we'll learn a few different ways to resize elements and groups in Figma (in addition to the default method). We'll also learn how to resize frames without moving elements in the frames.</p>
<p>In Figma, there are other ways to resize elements apart from the default method. So don't fret if using the default approach dose not give you the result you need.</p>
<p>First we'll look at the default method so you're familiar with it, and then we'll see some other ways to resize elements and groups as well.</p>
<h2 id="heading-how-to-resize-in-figma-default-method">How to Resize in Figma – Default Method</h2>
<p>The default method for resizing something in Figma is to just <em>click and drag</em>. To resize an element with the default method, all you need to do is select your object and use any of the transformation controls and resize it until you're content.</p>
<p>Holding down SHIFT on your keyboard while doing this will help constrain your proportions.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/-BE1B5C7A-6409-4FD0-A33B-FAF508AF4283-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Sometimes, the default approach might not work on some elements. Click and drag in those cases might lead to the object being distorted. So what can you do instead?</p>
<h2 id="heading-how-to-resize-an-object-with-properties-in-figma">How to Resize an Object with Properties in Figma</h2>
<p>To resize an object really precisely, go to the properties inspector located at the top right part of your file. Find the height and width fields and input the values of your choice. You could also drag the values with your mouse cursor. You can always use this method to get the exact proportions you need, like 140 x 140, 100 x 50, and so on.</p>
<p>Remember, whatever values you input in the properties fields will be reflected in your frame so, it's important to choose proportions that wouldn't distort your frame. For example, a 150 x 20 element will likely look distorted.</p>
<p>You can always experiment with values until you resize the element to your satisfaction. It's all up to you.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/-95A14028-657E-4B03-9C85-7D4847874ED8--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-resize-an-object-with-the-scale-tool-in-figma">How to Resize an Object with the Scale Tool in Figma</h2>
<p>The Figma scale tool is located at the top left corner of your screen. To use the scale tool, select your frame, click on the scale tool, and drag using the scale controls. </p>
<p>This tool is especially useful when you're dealing with resizing icons. Some icons get out of shape when you're trying to resize them. The scale tool helps make sure your element or the elements of your frame are not distorted. </p>
<p>Scaling works for text objects, frames, components, and so on. You can use the scale tool to resize elements anytime you want to.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/-1C7FE77E-7A92-4633-88BC-CC1EC9A36F35--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-resize-objects-with-keyboard-shortcuts-in-figma">How to Resize Objects with Keyboard Shortcuts in Figma</h2>
<p>To resize an object with the keyboard shortcut, select the object, hold down <strong>CTRL</strong>, and use the <strong>arrow keys</strong> to resize your object. You can increase or decrease the width or height by 1px at a time. You can use the keyboard shortcuts in any situation.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/278540_VideoBannerHotkeyHighlight-CtrlShiftArrows_Web_082818.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Tip: Holding down <strong>SHIFT</strong> on your keyboard at the same time will speed up your resizing to 10px at a time.</p>
<h2 id="heading-how-to-resize-without-moving-objects-inside-the-frame-in-figma">How to Resize without Moving Objects Inside the Frame in Figma</h2>
<p>Sometimes, while trying to resize frames containing input fields, you'd find that some objects move along with the frame because of <em>constraints.</em> </p>
<p>Of course, that isn't the desired result. To ignore an element's constraints while resizing, hold <strong>CTRL</strong> while you drag. Also, holding <strong>Ctrl + Alt</strong> while dragging will resize your element proportionally.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/-4F83A341-FA5A-4948-8E2D-E961C5361301-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Knowing how to resize elements can really help you create equal, beautiful frames for your designs.</p>
<p>Good luck with your Figma designs!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Glassmorphism? How to Create a Glass Card in Figma ]]>
                </title>
                <description>
                    <![CDATA[ Glassmorphism is a growing trend in user interface design. It makes your designs look modern and elegant. ‌‌‌‌In this article, we'll be learning about what glassmorphism means, how accessible it is, and how to design a simple glass card.‌‌ What is Gl... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/glassmorphism-how-to-create-a-glass-card-in-figma/</link>
                <guid isPermaLink="false">66d03a1edcbab93f8b58df89</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Faith Olohijere ]]>
                </dc:creator>
                <pubDate>Wed, 13 Apr 2022 00:04:19 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/04/Glass-Card.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Glassmorphism is a growing trend in user interface design. It makes your designs look modern and elegant.</p>
<p>‌‌‌‌In this article, we'll be learning about what glassmorphism means, how accessible it is, and how to design a simple glass card.‌‌</p>
<h2 id="heading-what-is-glassmorphism">What is Glassmorphism?</h2>
<p>Glassmorphism is a style which, as the name implies, uses properties of glass to enhance your designs. It gives a translucent or transparent look and feel to its elements.</p>
<p>Glassmorphic elements and shapes work really well on vibrant, colorful backgrounds which accentuate the glass effect. Glassmorphism helps you add visual hierarchy to your designs and puts focus on the content you want to highlight.</p>
<h2 id="heading-accessibility-of-glassmorphism">‌‌Accessibility of Glassmorphism</h2>
<p>Glass designs aren't the best if you're designing for people who have vision problems. You'll have to be very careful when choosing colors and fonts to make sure screen readers and other devices can properly interpret the designs.</p>
<p>‌‌Also, using glassmorphism can cause your site to become slow and can also increase battery usage.</p>
<p>If you can work around these issues, however, glass designs do look really, really cool – so we'll learn how to make them here.</p>
<p>Here are some tips to help increase accessibility of your glass designs:</p>
<ol>
<li>Use the transparency or blur effect sparingly/moderately. Don't overuse it. The effect looks best when used on only two or three elements in your design.</li>
<li>Establish a clear sense of hierarchy. The right spacing between the cards in the design layout and making sure the right elements stand out will help with accessibility issues. Remember, a strong visual hierarchy helps give users the right visual clues.</li>
<li>Set the right background. Make sure the background isn't bland or dull. Using vibrant colors as backgrounds will help accentuate the effect. Of course, this will also achieve a very aesthetically pleasing look.</li>
<li>Using larger fonts can make your glass designs more accessible. Also, choose fonts that contrast with the glass background.</li>
</ol>
<h2 id="heading-glassmorphic-design-examples">Glassmorphic Design Examples</h2>
<p>To give you a better idea of what glassmorphic designs look like, here are a few examples of websites that apply this technique:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--19--1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Glassmorphic Website by Sahid Aldi Susilo</em></p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.uplabs.com/posts/glassmorphism-web-ui-design#">https://www.uplabs.com/posts/glassmorphism-web-ui-design#</a></div>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--20--1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Glassmorphic design by Stefan Brown‌</em></p>
<p>You can see this design <a target="_blank" href="https://dribbble.com/shots/15314731-UI-UX-Designer-Landing-Page">here</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--22--1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Glass card by Pratheek Purohit</em></p>
<p>You can see this design <a target="_blank" href="https://www.freecodecamp.org/news/glassmorphism-how-to-create-a-glass-card-in-figma/%E2%80%8Chttps://dribbble.com/shots/15644676-Glass-card-effect-Glassmorphism">here</a>.</p>
<p>Let's see how we can recreate something similar to the last example.</p>
<h2 id="heading-how-to-create-a-glass-card-in-figma">How to Create a Glass Card in Figma</h2>
<p>Glass cards are simply cards created using glassmorphism. The cards could be images of credit cards, profile cards, invoice cards, and more.</p>
<p>Follow the steps below to create a glass credit card in Figma.</p>
<h3 id="heading-step-1-set-a-colorful-background">Step 1 – Set a Colorful Background</h3>
<p>A colorful background is essential as it helps accentuate your glass design and make it stand out. You could just use the <a target="_blank" href="https://www.figma.com/community/plugin/744909029427810418/uiGradients">uiGradients plugin</a> to select a gradient of your choice like I did below.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-step-2-draw-a-shape">Step 2 – Draw a Shape</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--1--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Here, we'll imitate the shape of a physical credit card, which looks like a rectangle. </p>
<p>Draw a rectangular shape with the dimensions 640×400, and set the corner radii to 40pt.</p>
<h3 id="heading-step-3-apply-fill-using-gradient">Step 3 – Apply Fill Using Gradient</h3>
<p>Next, you need to fill the shape with translucent colors like white. Both colors of the gradient should be white but they should be set to different opacity levels.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--2--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--3--2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-step-4-apply-background-blur">Step 4 – Apply Background Blur</h3>
<p>Set the blur value to 40, or any value of your choice depending on how blurred you want it to look.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--4--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--5--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-step-5-add-strokes-to-create-borders">‌‌Step 5 – Add Strokes to Create Borders</h3>
<p>Adding borders makes your card look more polished and elegant. It helps to have a sharper contrast through thicker and more distinguishable borders.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--6--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-step-6-apply-a-drop-shadow">‌Step 6 – Apply a Drop Shadow</h3>
<p>Using a drop shadow effect helps strengthen the visual hierarchy.</p>
<p>Set the blur value to 24 and the spread to -1.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--7--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-step-7-add-your-content">‌Step 7 – Add Your Content</h3>
<p>You can now add content to your card like text, a logo, and so on. <a target="_blank" href="https://www.figma.com/community/plugin/735098390272716381/Iconify">Using the Iconify plugin</a> like I did to get your Visa logo and EMV chip will save you a whole lot of time. </p>
<p>Fill your content with the color white, decrease the opacity, and set the blending mode of the layer to <strong>Overlay</strong>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--12-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The frost effect adds polish to your design. To apply this effect, <a target="_blank" href="https://www.figma.com/community/plugin/752558325552095625/Noise">simply use the noise plugin</a> to fill the image with noise. </p>
<p>If you already have the plugin installed, go straight to <strong>plugins</strong> and click on noise. If you don't, go to <a target="_blank" href="https://www.figma.com/community/plugins">https://www.figma.com/community/plugins</a> to install the plugin.</p>
<p>Once you installed and selected the plugin, set the blending mode of the layer to <strong>Overlay</strong> and decrease the opacity.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--13--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>When you apply the noise plugin, the card will look like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--14--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Next, you change blending mode to <strong>Overlay</strong>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--15--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Decrease the opacity of your card. Play around with the opacity until it suits your taste.</p>
<p>You can reduce the opacity by clicking on any number on your keyboard – 2 for 20%, 3 for 30%, 4 for 40% and so on.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2022-04-01--17--4.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>And there you have it – a beautiful and glassy-looking card.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Adding the glassmorphic affect to your designs is pretty simple. As the glassmorphism trend gets more popular, knowing how to create glass designs might really come in handy in the future.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Create Color and Text Styles in Figma ]]>
                </title>
                <description>
                    <![CDATA[ In this article, we'll be learning how to create, edit, and use color and text styles in Figma. We'll also learn how to combine color and text styles and use them to create beautiful designs. Styles help you simplify your workflow, keep text and laye... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-create-color-and-text-styles-in-figma/</link>
                <guid isPermaLink="false">66d03a270c53e89db44b6a0b</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Faith Olohijere ]]>
                </dc:creator>
                <pubDate>Fri, 25 Mar 2022 21:24:53 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/03/pexels-sharon-mccutcheon-1212407.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In this article, we'll be learning how to create, edit, and use color and text styles in Figma. We'll also learn how to combine color and text styles and use them to create beautiful designs.</p>
<p>Styles help you simplify your workflow, keep text and layers consistent, and save valuable time.</p>
<h2 id="heading-how-to-use-color-styles-in-figma">‌‌How to Use Color Styles in Figma</h2>
<p>You can apply color styles to text, background, and strokes. You can also apply color styles to shapes created in your designs or to elements or sections of the particular website or mobile app you are designing. These could include buttons, rectangles, the top and bottom bars, and more.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-25--4-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You can also use color styles for images or gradients.</p>
<h3 id="heading-how-to-create-a-color-style">How to create a color style</h3>
<p>To create a color style, follow these steps:</p>
<ul>
<li>Create a new shape and go to <strong>Fill.</strong> Fill your layer with any color of your choice.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--15--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>Click on the <strong>four dots</strong> icon to trigger the Color Styles modal.</li>
<li>Click on the <strong>+</strong> icon in the right-hand corner of the Color Styles modal.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--16--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>Give your style a preferred name (let's say Color Style 1) and click the <strong>Create Style</strong> button. </li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--17--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Remember, you can create as many Color Styles as you would like.‌‌</p>
<h3 id="heading-how-to-apply-a-color-style-to-a-layer">How to apply a color style to a layer</h3>
<p>Select your layer and go to the <strong>Fill</strong> section in the right-hand sidebar.</p>
<ul>
<li>Click the <strong>four dots</strong> icon in the right corner of the Fill section to trigger the Color Styles modal.</li>
<li>Select your preferred color style.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--19-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Done!</p>
<h3 id="heading-how-to-edit-a-color-style">‌‌How to edit a color style</h3>
<p>Click on the file's gray backdrop to display your styles.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--20-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>Right-click on the <strong>Color Style</strong> and select <strong>Edit style</strong> in the menu.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--21--3.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-how-to-delete-a-color-style">How to delete a color style</h3>
<p>Deleting a color style is really easy to do.</p>
<ul>
<li>Click on the file's gray backdrop to display your styles.</li>
<li>Right-click on the <strong>Color Style</strong> and select <strong>Delete Style.</strong></li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--21--2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-use-text-styles-in-figma">‌How to Use Text Styles in Figma</h2>
<p>You can also apply styles to text. It could be a whole block of text or part of the text in a block. This helps define the style of your headers.</p>
<p>To create a new text style, start by creating a new text layer and add some settings. For example:</p>
<ul>
<li>Font family: Roboto</li>
<li>Font size: 30</li>
<li>Font weight: Regular</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--22-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>Click on the four dots icon in the Text section to trigger the text modal.</li>
<li>Click on the + icon in the right corner of the Text Styles modal.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--23--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>Give your style your preferred name (let's say Text Style 1) and click on the <strong>Create Style</strong> button.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-19--24--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-how-to-apply-a-text-style-to-a-layer">‌‌How to apply a text style to a layer</h3>
<p>First off, select your layer and go to the <strong>Text</strong> section in the right-hand sidebar.</p>
<p>Then click the four dots icon in the right corner of the <strong>Text</strong> section to trigger the text styles modal.</p>
<p>Finally, just select your preferred <strong>Text Style.</strong>‌‌</p>
<h3 id="heading-how-to-delete-a-text-style">How to delete a text style</h3>
<p>To delete a text style, you'll need to click on the file's gray backdrop to display your styles. Then you can just right-click on the text style you want to delete and select <strong>Delete Style</strong>.</p>
<h3 id="heading-how-to-combine-color-and-text-styles">How to combine color and text styles</h3>
<p>You can also combine text and color styles while designing. You can add a color style to different text objects. This is an extra step which can make your system easier to maintain especially when you don't have to create different text styles for every color combination.</p>
<ul>
<li>To save color styles specifically for text: Create a text box and input your text. Follow the steps of '<strong>How to apply a color style to a layer</strong>'.</li>
<li>When you get to where you are supposed to give your style a description/name, input your text description, for example sub-heading, page heading, button text, and so on.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-25--1--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Note that using and creating styles when designing is entirely up to you. No one will know what color/text styles you use in your design unless you let them know. Like I said, it's entirely up to you! </p>
<p>However, styles help keep your designs consistent and creating great styles can help make your user experience seamless. </p>
<p>‌‌‌‌‌‌‌‌‌‌</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Use Plugins in Figma ]]>
                </title>
                <description>
                    <![CDATA[ In this article, you'll learn how to install plugins in Figma. You'll also get to know some really cool Figma plugins that every designer and developer should use.  Plugins help make your design process easier and smoother. From image assets to embed... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/plugins-in-figma/</link>
                <guid isPermaLink="false">66d03a35dcbab93f8b58df91</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ plugins ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Faith Olohijere ]]>
                </dc:creator>
                <pubDate>Mon, 14 Mar 2022 20:42:03 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/03/pexels-picjumbocom-196645.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In this article, you'll learn how to install plugins in Figma. You'll also get to know some really cool Figma plugins that every designer and developer should use. </p>
<p>Plugins help make your design process easier and smoother. From image assets to embedding maps into your designs, plugins are easy to use and they help you create beautiful, complex designs in less time.</p>
<h2 id="heading-how-to-install-plugins-on-figma">How to Install Plugins on Figma</h2>
<p>Figma makes it easy for you to install plugins which are quite essential for your designs. You can install plugins from different places.</p>
<h3 id="heading-how-to-install-a-plugin-from-your-account">How to install a plugin from your account</h3>
<p>To install a plugin from your account, you just have to:</p>
<ol>
<li>Login to your Figma account</li>
<li>Click on <strong>Explore Community</strong> at the top-left corner of your screen:</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="3">
<li>Select <strong>Plugins</strong> from the options at the top:</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--1--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="4">
<li>Search for your preferred plugin and install it:</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--2--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Click on the plugin name to open the plugin page and learn more about it.</p>
<p>You can also see plugins already installed on your Figma account.</p>
<h3 id="heading-how-to-install-a-plugin-in-the-file">‌‌How to install a plugin in the file</h3>
<ol>
<li>Right click on the canvas – your cursor could be positioned anywhere.</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--6-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="2">
<li><p>Hover your cursor on <strong>Plugins,</strong> which will bring up all installed plugins.</p>
</li>
<li><p>Scroll down to <strong>Browse plugins in Community</strong> and click on it. This will open Figma Community in a separate tab.</p>
</li>
</ol>
<h2 id="heading-how-to-add-plugins-on-a-pc">‌‌‌‌How to Add Plugins on a PC</h2>
<p>‌‌There are quite a number of ways to add plugins to your designs.‌‌</p>
<h3 id="heading-add-plugins-from-the-file-menu">Add plugins from the File menu</h3>
<p>Access the File menu at the top left corner of your screen in Figma. The File menu contains functions like edit, view, and text. You can also run your plugins from the menu.</p>
<ol>
<li>Click on <strong>File Menu</strong></li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--3--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="2">
<li>Hover your cursor on <strong>Plugins,</strong> which will bring up all your installed plugins.</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--4-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="3">
<li>Click on your preferred plugin and apply it to your design.</li>
</ol>
<h3 id="heading-how-to-add-plugins-with-ctrl">How to add plugins with Ctrl+/</h3>
<p>This is a <strong>Quick Action</strong> that helps you locate items, including plugins on your Figma file.</p>
<ol>
<li>Press Ctrl +/ on your keyboard. This action will lead to a window pop-up.</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--8-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="2">
<li>Input the name of the plugin on the pop-up window. There could be different plugins with similar names. In this case, Figma displays all related plugins so you can pick the exact one you want.</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--9-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ol start="3">
<li>Press <strong>Enter</strong> or click on the plugin, once you find it, to start using it in the file.</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-11--5--1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-8-figma-plugins-every-designer-should-know">8 Figma Plugins Every Designer Should Know</h2>
<p>There are lots of really helpful Figma plugins out there. Here's 8 really cool ones.</p>
<h3 id="heading-iconify">‌‌Iconify</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--4-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Designs can seem incomplete without icons. From Google Material Icons to Carbon icons, this Figma plugin has a wide collection of icons that many developers use to create beautiful, modern user interfaces.‌‌ </p>
<p>You can get icons in your preferred color, width, height, and size. You can also generate your SVG icon with this plugin.</p>
<h3 id="heading-pattern-hero">‌‌Pattern Hero</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--3-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>This plugin helps you with different beautiful patterns for your designs. You can shuffle the patterns, and work with different templates.‌‌ You can also create grids and textures.</p>
<h3 id="heading-unsplash">Unsplash</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--6-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You need beautiful pictures to create beautiful designs. This amazing plugin helps you import images for your designs at a single click. </p>
<p>Using Unsplash, you won't need to waste your time searching through various portals for images – you get to download free images directly to Figma. You don't need to worry about the quality of the photos, as Unsplash images are usually of a very high quality. </p>
<h3 id="heading-remove-backgrounds">Remove Backgrounds</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--11-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Sometimes we download nice pictures for our designs, only to notice that the background of the image does not fit with the design. </p>
<p>As the name implies, the Remove Backgrounds plugin allows you to remove the background from your images. Just keep in mind that you do have to create a <a target="_blank" href="https://www.freecodecamp.org/news/p/b26f9177-65fe-46df-87cf-c21b8eb903e1/remove.bg.">remove.bg</a> account before you can use this plugin.</p>
<h3 id="heading-mapsicle">Mapsicle</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--8-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You don't need to use screenshot images for maps ever again. The Mapsicle Plugin helps you place maps easily into your designs. </p>
<p>With this plugin, you can search for any location in the world, and embed a map into your design. You can also adjust the style of the map.</p>
<h3 id="heading-ui-gradients">UI Gradients</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--14-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Gradients make designs look unique. uiGradients is a great gradient palette with tons of ready-to-use gradients for your next amazing design. </p>
<p>With this plugin, you don't have to worry about which hue is perfect for your design. Just go through the gradients and find the combination that works for you.</p>
<h3 id="heading-table-generator">‌‌Table Generator</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--12-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Table Generator saves you the time when you're data tables. You just have to copy and paste your data in and voilà! Your table is generated. </p>
<p>This plugin enables you align text, add constraints to your cell frame, and lots more.</p>
<h3 id="heading-storyset">‌‌StorySet</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/2022-03-13--10-.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>This is an illustration plugin that lets you add illustrations to your work. StorySet contains hundreds of beautiful illustrations that you can use for your design. What's more, you can edit the illustrations' colors, styles, and backgrounds. You can also animate.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Plugins are essential when you're creating sophisticated designs. Just find the ones useful to you and learn how to add them to your designs.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Use User Research to Create the Perfect UI Design ]]>
                </title>
                <description>
                    <![CDATA[ If you want to design your app in the best way possible, it is important to really understand the needs of your users. This can be done through user research. We just published a UI / UX design course on the freeCodeCamp.org YouTube channel that will... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/use-user-reseach-to-create-the-perfect-ui-design/</link>
                <guid isPermaLink="false">66b206ebdc300c9dddc01286</guid>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ UI Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Beau Carnes ]]>
                </dc:creator>
                <pubDate>Wed, 02 Feb 2022 19:17:05 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/02/app-desgin.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you want to design your app in the best way possible, it is important to really understand the needs of your users. This can be done through user research.</p>
<p>We just published a UI / UX design course on the freeCodeCamp.org YouTube channel that will teach you how to use Figma to design a web app based on the needs of users.</p>
<p>Joseph Brendan developed this course. Joseph is a great instructor who has taught thousands of people on his YouTube channel. </p>
<p>In this course you will learn how to use the d.school design thinking process and self process management to come up with design solutions. You will develop a Fintech app from scratch.</p>
<p>Here are the sections in this course:</p>
<ul>
<li>Outline Breakdown</li>
<li>Workflow Breakdown In FigJam</li>
<li>User Empathy ( Empathize )</li>
<li>Creating User Experience Survey With Google Forms</li>
<li>Creating User Personas</li>
<li>Creating Problem Statement</li>
<li>Ideate</li>
<li>Prototype Analysis</li>
<li>User Goals &amp; User Tasks</li>
<li>Information Architecture</li>
<li>Low Fidelity Prototyping</li>
<li>High Fidelity Prototyping</li>
<li>Creating Style Library</li>
<li>Creating Component Library</li>
<li>Prototype Presentation &amp; Assignments</li>
</ul>
<p>Watch the full course below or on <a target="_blank" href="https://youtu.be/YD0egXpd-Y0">the freeCodeCamp.org YouTube channel</a> (2-hour watch).</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/YD0egXpd-Y0" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h3 id="heading-transcript">Transcript</h3>
<p>(autogenerated)</p>
<p>In this course you will improve your user interface and user experience design skills by building a mobile app.</p>
<p>Instructor, Joseph Brendan is a great designer and great teacher.</p>
<p>Hey, guys, my name is Joseph, Brandon.</p>
<p>And in this course, I am going to show you how to design a mobile app from scratch.</p>
<p>Now, this mobile app will be a stock investing mobile app that users can use to invest in the stocks of companies that they would like to invest in.</p>
<p>So here is a demonstration of the app that we are going to design.</p>
<p>Now over here, we have the splash screen of the app, which is what's going to show up when you launch the app.</p>
<p>Now, let's go to the next page here.</p>
<p>Now, this is the page where the user will have to select their next action, which is either to log in as an existing user or to get started as a new user.</p>
<p>So I'll go ahead and click on get started, just like a new user would do.</p>
<p>And here on this page, the new user will be required to sign up to this application with an email address, a phone number and a password.</p>
<p>Now, when the new user doors that the new user will be taken to this page, where the new user will have to enter a verification code that's been sent to the phone number of that new user.</p>
<p>Now, when the phone number of the new user is verified, it means that the new user is now a registered user on this application, and the next thing the user is going to do is to click on the Proceed button here.</p>
<p>And when the user does that, the user will be taken to the homepage of the application, which is this page here.</p>
<p>And here on the homepage of this application.</p>
<p>Over here, the account balance of the user will be displayed here.</p>
<p>Also, the user will have a button here that can be used to fund the account on this application.</p>
<p>And right over here, the user will have a list of recent transactions that they have carried out on this application.</p>
<p>Now coming down here, the user will see a banner here that they can click on to get a referral link that can be used to invite friends to have an account on this app.</p>
<p>Now, at the bottom here, we have the navigation section of this app.</p>
<p>Currently, we are on the homepage of the app.</p>
<p>Now let's navigate to the InVEST page, which is the page where the user will have the features that they can use to invest in stocks.</p>
<p>So I'd come here, and I'll click on invest.</p>
<p>When I do that, I'll be taken to the InVEST page, which is this.</p>
<p>And over here on the InVEST page, you can see that we have a display of cash and assets owned by the user.</p>
<p>And right after that, over here, we have a list of top stocks that the user can invest in.</p>
<p>And also, we have the investment portfolio of that user over here, which is a list of all the investments that the user had made on this app.</p>
<p>Now let's say the user is trying to invest in one of the stocks listed here, let's say this one, yeah.</p>
<p>Now, if the user clicks on it, the user will be taken to the details page of that stock that they clicked on.</p>
<p>And on this details page, we are going to have information about the stock and the company that owns the stock.</p>
<p>Now if the user likes what they see here, the user will go ahead to click on the InVEST button here.</p>
<p>And when the user clicks on that button, the user will be required to enter the amount that they wish to invest in that stocks with.</p>
<p>Now when the user enters the amount and the user clicks on the Proceed button here, the user will see a summary of the investment that they are about to make.</p>
<p>And when the user is okay with what they see here in the summary.</p>
<p>The user will be required to enter their secrets pin here, and then click on the InVEST button here.</p>
<p>And when the user does that, it means that the investment has been successful.</p>
<p>So this app that I just demonstrated here is what we are going to design in this course from scratch.</p>
<p>Now before we start designing this app, I would love to break down the stages of our workflow for this project, so that you can understand In the execution process of designing products that are actual business solutions.</p>
<p>So here are the stages of our workflow.</p>
<p>First things first, the stakeholders of this project, which is the owner of the project, or the company we are working for, will present us with a problem that they would want us to design for.</p>
<p>Now, when they present these problems on us, they are also going to tell us about the users, which are the people facing the problem that they want us to design for.</p>
<p>Now, after that, the stakeholders will state their expected goals for the project.</p>
<p>Now after the stakeholders presents a problem and states, their expected goals to us, the next stage of our workflow will be for us, the UX designers to empathize with the users.</p>
<p>Now after we empathize with the users patient problem, we are going to create what we call a problem statement.</p>
<p>And after creating this problem statements, the next stage of our workflow will be the stage where we will have to come up with ideas that can be best business solutions to the problems highlighted in the problem statement.</p>
<p>Now, when we are able to get an idea for the problems in the problem statement, the next action will be for us to design that idea into a testable prototype.</p>
<p>And after designing that idea into a testable prototype, we will go ahead to test the design to be sure that it is able to solve the problems in the problem statement.</p>
<p>So let's get to work.</p>
<p>Now outcome here in figma.</p>
<p>And I'll use a fig jam file to walk on all the analytical parts of our workflow.</p>
<p>So let's create a fig jam file.</p>
<p>And to do that, come here and click on the new fig jam File button there.</p>
<p>When you do that, you have created a junk file as easy as that.</p>
<p>And I'd like to mention that if you are new to using fie jam, you have nothing to worry about.</p>
<p>It's a really simple tool to use.</p>
<p>Just follow along, and you'd see that at the end of this course, you would be good with using feature.</p>
<p>So I'll close this.</p>
<p>And the next thing I'll do after creating a fifth gem file is to give the fifth gem file a name.</p>
<p>So I'll call this stocks, big jam, you can call it whatever you want to call it.</p>
<p>Now after giving this junk pile in him.</p>
<p>The next thing to do is to outline the stages of our workflow here in peach jam.</p>
<p>So let's do that.</p>
<p>So first things first out, zoom into 200% outcome here to zoom in and out Select Zoom to 200% here.</p>
<p>And when I zoom in to 200% out, use a square shape here to write down a headline for our workflow.</p>
<p>So I would keep this there, I would select the text to now so that I can write my text.</p>
<p>And I would say, workflow stages, then outcome here, and I'll align the text to the left.</p>
<p>And I'll change the color of the rectangle to this.</p>
<p>And that.</p>
<p>Okay, so the next thing I'll do is to have sticky notes, were out outline the workflow stages in.</p>
<p>So to create a sticky notes in peach jam, I would come here and now select the sticky note tool here.</p>
<p>When I select it out, come here and out, click on the big jam Canvas to have this.</p>
<p>Now let's select this.</p>
<p>And let's expand the width to align with our sticky notes.</p>
<p>So first things first, I will change the color of my sticky notes to this, then I'll click on this Add text placeholder here.</p>
<p>So that I can write down all of those workflow stages that I talked about.</p>
<p>So I would like to make this a list.</p>
<p>And I'd like it to be a bulleted list.</p>
<p>So I would come here and I would select the bulleted list property here.</p>
<p>Then I would write down the first workflow stage, which is this, it says stakeholders present the problem and the users facing the problem.</p>
<p>Now I'll create another list item, which is going to be the next stage of our workflow.</p>
<p>And that's going to be where the stakeholders will define the goals for this project.</p>
<p>So I would say define goals.</p>
<p>Let's come here.</p>
<p>Let's create some space here.</p>
<p>Now let's outline the next stage of our workflow.</p>
<p>After the goals are defined, we view X designers will empathize with the users.</p>
<p>So let's come here.</p>
<p>Let's create the space also.</p>
<p>Now After we the UX designers empathize with the users, the next stage of our workflow will be where we are going to create a problem statement.</p>
<p>So I would say, creates problem statements.</p>
<p>So let's come here, let's create the space.</p>
<p>Now after we create a problem statements, the next stage of our workflow will be the stage, where we are going to come up with an idea that can solve the problems listed in the problem statement.</p>
<p>Now, after we come up with a best idea that can solve the problems in the problem statement, the next stage of our workflow will be the stage where we are going to design that idea into a testable prototype.</p>
<p>So I would say design prototype here.</p>
<p>And after we design that idea into a testable prototype, we are going to move over to the next stage of our workflow, which is going to be the stage where we are going to test that idea that we have designed into a prototype.</p>
<p>So I would just call that test and have that spaced.</p>
<p>Now we have outlined our workflow stages here.</p>
<p>So just to make this better, I would select all of these and I would make all of the text bold.</p>
<p>To have that outcome here, I would select this text, and I'll make it bold also.</p>
<p>Now zoom back to 100%.</p>
<p>To see what we have, and this is okay, so I'll use the hand tool, which is this, you can come here to click on it to select it or just press the H key on your keyboard to have it selected.</p>
<p>And now grab and shift a canvas to this point.</p>
<p>So now we have outlined our workflow stages here right.</p>
<p>Now the next thing to do is for AWS to outline all of the actions that will be taken on that each of this workflow stage.</p>
<p>So this means that we are now going to break down each of these stage one after another, so that we know what actions to take at each of these stage and how to optimize for our results.</p>
<p>So I would select the Move tool here by clicking on it or by pressing the V key on my keyboard to select it.</p>
<p>And I would come here, I would select the square tool there so that I can create this shape like this.</p>
<p>And over here, I would write a text inside this shape.</p>
<p>And that text will be this first stage out select all of this text here, then I'll use CTRL.</p>
<p>C, if you are using a Mac, its command C, I would use that to copy that text.</p>
<p>And I'll paste it inside this question like this.</p>
<p>Now expand this to this point.</p>
<p>Now this is the first stage of our workflow right outcome here now.</p>
<p>And I'd have a sticky note here, right under that.</p>
<p>Now in this sticky note out write out what's going to happen at this stage, which is the first stage of our workflow.</p>
<p>Now this stage is the stage where the stakeholders will present the problem to us.</p>
<p>And also let us know about the users that they want us to design for.</p>
<p>So in this course, I would like us to assume that we have a stakeholder somewhere or we have a company somewhere that wants us to design an app that you can use to invest in stocks for them, right.</p>
<p>So I'll paste this in here in this sticky note, which says users find it really hard to invest in stocks using existing investment apps due to information overload and complex presentation of information on the apps.</p>
<p>Now, who are the users, the users are stock investors in Nigeria.</p>
<p>So this so having this here means that the stakeholders have presented us with a problem and the users facing the problem.</p>
<p>So this is sorted.</p>
<p>So let's change the color of the sticky notes.</p>
<p>Something like this to differentiate it from this one here.</p>
<p>And let's come here.</p>
<p>Let's change this, to that to differentiate it also.</p>
<p>So this is the first stage of our workflow.</p>
<p>And we have seen what's going to happen here at this stage.</p>
<p>So let's look at the next stage here, which is the stage where the stakeholders will define the goals of the project.</p>
<p>So I would come here, I would select this and now duplicate it to duplicate is Ctrl D.</p>
<p>If you are using a Mac, its command D.</p>
<p>So I'll duplicate this and our habits to here.</p>
<p>I will take out this text inside this shape.</p>
<p>And out writes define goals there.</p>
<p>I can have in brackets saved by stakeholders.</p>
<p>So I'll keep this here.</p>
<p>Now outcome here also out duplicates these and out habits, they're right on the dish shape, which is a square shape, right.</p>
<p>So inside the sticky notes, I'll take all of these out and out.</p>
<p>also assume that we have stakeholders somewhere who sent us the goals.</p>
<p>That's the ones for this project.</p>
<p>So let's assume that the stakeholders sent us this as their goal.</p>
<p>And it says, research and help us us simplify every task needed to make a stock investment.</p>
<p>So what we have here so far is this, the stakeholders have presented us with a problem and B users facing the problem.</p>
<p>And they have gone ahead to define their expected goal for this project.</p>
<p>And the expected goal is that they want us to research and help users simplify every task needed to make a stock investment.</p>
<p>So let's move over to the next stage of our workflow, which is the stage where we the UX designers will have to empathize with the users facing the problem.</p>
<p>So I would come here, I'll duplicate this, I would have this here.</p>
<p>And I would say empathize.</p>
<p>Now I have this here also.</p>
<p>And I'll take out all we have here.</p>
<p>And at this empathize stage, this is actually the stage where we the UX designers will now get to work.</p>
<p>So what do we do at this stage? What are the actions that we need to carry out at this stage, so that we can say that we have properly empathized with the users facing the problem.</p>
<p>So what we are going to do is to interview the users face to face or send out surveys digitally to the users.</p>
<p>The purpose for that is so that we can understand the problems from the perspective of the people facing the problem.</p>
<p>Now after that, we are going to create what we call user personas, all under this empathize stage.</p>
<p>So out, make this a list, just like this, to have that organized properly.</p>
<p>And when we are done with the empathize stage, by carrying out these two actions here, the next thing we are going to do is to move over to the next stage of our workflow, which is the stage where we will have to create a problem statements.</p>
<p>So I would come here, I would have this here.</p>
<p>And I'll change that to create problems statements, and have this stay here.</p>
<p>So at this stage, where you the UX designer will be needed to create a problem statements, what you do to create a problem statements, it's easy, just state the problem of the users with all you have gathered from the previous stage, which is the empathize stage.</p>
<p>So after you have interviewed the users to understand the problems from their perspective, and you have created user personas for each of the user, what you do is you'd use all of that data to properly state the problem that the users are facing.</p>
<p>Now when you create the problem statement, which is you stating the problem properly, the next thing you do is to move to the next stage of our workflow, which is the idea stage.</p>
<p>Now, when you get to the idea stage, let's have this here.</p>
<p>When we get to the idea stage, the actions that you take at the idea stage are simple actions.</p>
<p>All you'd have to do with this, launch a brainstorming session, then during the brainstorming session, vote for the best idea, when you vote for the best idea, select the idea with the highest votes.</p>
<p>And there you have gotten an idea that you can then take to the next stage of our workflow, which is the stage where we are going to design that best idea into a testable prototype.</p>
<p>So before we go there, let's select this and let's make it a list like this.</p>
<p>Now, let's come here and let's look at the next stage here, which is the design prototype stage.</p>
<p>And when you get to this stage, what are the actions that you need to take for you to properly design a workable prototype, we are going to look at the actions now.</p>
<p>So out have this the here I'll take all of these out.</p>
<p>And the actions that we are going to take to properly design a prototype are all of this.</p>
<p>First things first, we are going to create an information architecture for the best idea that we got from the idea stage.</p>
<p>When we create that in commission architecture, we are going to use that information architecture to create what we call a low fidelity prototype.</p>
<p>Now, after we create that low fidelity prototype, we are going to test the low fidelity prototype.</p>
<p>And when the test is successful, we are going to go ahead to create a high fidelity prototype for that best idea that we got from the idea stage.</p>
<p>Now, after we create the high fidelity prototype, we are going to move over to the next stage of our workflow, which is the stage where we are going to need to test that high fidelity prototype.</p>
<p>So I would come here, I'd have this here, I would say test prototype.</p>
<p>And I'll bring this here, I can just say usability testing here.</p>
<p>And that's all.</p>
<p>Let's come here, let's make all of these illest.</p>
<p>And that's okay.</p>
<p>So what we have here is a proper breakdown of our workflow.</p>
<p>So I like to connect all of this so that we understand that these stages are to be followed one after another.</p>
<p>So I would select the connector tool here, you can see where my mouse cursor is on, click on it to select it, I would come here out, select this point, click hold and drag.</p>
<p>And I would connect with this other point here, I would select this also connected here.</p>
<p>I'll do that for all of these other items.</p>
<p>Also, I would have all of them connected.</p>
<p>So we are going to design our products by following the breakdown of this workflow.</p>
<p>So now that we have outlined our workflow stages, and we have broken down all of our workflow stages like this, the next thing we need to do is to start executing each of the actions that we have outlined here, one after another.</p>
<p>So let's get to work.</p>
<p>So the first stage of our workflow here is the stage where the stakeholders will present us with the problem and the user space in the problem, right.</p>
<p>And as you can see, that stage is sorted, because I assumed that a stakeholder presented us with this problem and the users facing the problem.</p>
<p>So this stage is sorted.</p>
<p>Now over to the next stage, which is the stage where the stakeholders will state their expected goals for the project.</p>
<p>And that is sorted also, as you can see here, I also assumed that the stakeholders has stated the expected goals to us, which is to research and help us simplify every task needed to make a stock investment.</p>
<p>Now over to the next stage, which is the stage where we the UX designers will get to work.</p>
<p>And that is the empathize stage.</p>
<p>And under the empathize stage here, these are the actions that we need to take.</p>
<p>The first action is to interview the users face to face, or send out surveys digitally to the users.</p>
<p>Now in this course, since this is a lesson, I can't show you how to set up a face to face interview.</p>
<p>But I'll show you how to create a digital survey using Google Forms.</p>
<p>So let's do that.</p>
<p>So I would come here in my browser, and I would open a new tab, then come here, I would click on this menu icon here so that I can access my Google Apps out scroll down and out, click on forms here.</p>
<p>And when I do that, I would come here and I would click on Blank there, then a blank form will be created for me.</p>
<p>Now I'll give this form a title.</p>
<p>I can call it stock app UX survey.</p>
<p>And that's its outcome here also, and I'll give the form a name.</p>
<p>So I can call the form stock up UX survey also, or you can give it any name at all that you want to give it.</p>
<p>Now the next thing I would need to do is to have a form description just to describe what the survey form is all about.</p>
<p>So outcome here, and I'll have this and it says this survey is carried out by best technologists.</p>
<p>And it is aimed at improving the experience of users who want to invest in stocks from an app without having complex steps.</p>
<p>Now you can come up with a better description when you are doing this in real life.</p>
<p>Now after that out, start passing in the fields that I want the users to give me a response to, and the first field out have here will be an email field.</p>
<p>I'd like to collect the email address of everyone that will take part in the survey.</p>
<p>So that's going to be my first field here.</p>
<p>So to collect email addresses outcome here.</p>
<p>I'll click on settings here.</p>
<p>Then I'll expand responses here.</p>
<p>You can see the responses section here, I'll expand it.</p>
<p>Then in front of this collect email addresses option here, I'll turn on this toggle button, just like that.</p>
<p>And that's sorted.</p>
<p>Now when I come back here, you will see that we have an email field here, which is going to require the user to enter their email address here.</p>
<p>And as you can see, there is a red Asterix there, showing that this is a mandatory field, which means that anyone taking this survey must have to enter their email address.</p>
<p>Now let's move over to the next question that we are going to ask anyone taking the survey? And that's going to be us asking them to enter their full name.</p>
<p>Yeah.</p>
<p>So I would come here, when I type that in, I would change this from multiple choice to shut answer just like that, then I would come here and I would turn on this toggle button to make this field a required field, meaning that anyone taking this survey must have to enter their full name.</p>
<p>And that's sorted.</p>
<p>So I would come here and I would click on the plus sign here to add another question.</p>
<p>Just like that, then this question will be country of residence.</p>
<p>Now, this is important, because coming from what the stakeholders presented us as a problem and the user space in the problem, we could see that the stakeholders are actually trying to solve a problem for people living in Nigeria.</p>
<p>So it is important to ask anyone taking the survey from where they reside.</p>
<p>So if someone from Germany takes the survey, by mistake or happenstance, then it means that when we are collecting the data from the survey, we are actually going to ignore that person's imputes.</p>
<p>Because the person is not based in Nigeria.</p>
<p>So that's why it's going to be important to ask this question.</p>
<p>So I would come here and I would make this required also.</p>
<p>Now make sure this is set to short answer also, then I would come here and I would click on this button to add another question.</p>
<p>Now this question is going to be us asking anyone to can be surveyed enter their age.</p>
<p>And this is also important, because usage of apps, and the experience behind the usage of apps differs by age range.</p>
<p>So I would ask this question, and I would set this to short answer, then I would make this a required question.</p>
<p>So I would go ahead and add another question option here.</p>
<p>So that I can ask my next question, which is going to be us asking whoever is taking the survey to enter their profession? I would keep this short answer.</p>
<p>And I'll make this required.</p>
<p>Then I'll add another question here.</p>
<p>And this question is going to be us asking, have you invested in stocks from a mobile app? Now this is going to be a yes or no answer.</p>
<p>And Google Forms automatically suggest this because I have a question mark at the end of the question.</p>
<p>Now outcome here, and I'll click on yes as my first option.</p>
<p>And I'll click on No as my second option, and that's going to be fine.</p>
<p>Then I'll come here and now make this is a required question.</p>
<p>Then I'll add another question here, which is going to be select the goals you always love to achieve when investing in stocks from a mobile app.</p>
<p>Now, I'll have that in brackets.</p>
<p>Same select more than one.</p>
<p>Now outcome here, and I'll make sure this is a checkbox option.</p>
<p>Now mimicking this checkbox option is because I want the person taking the survey to select more than one answer.</p>
<p>So I would come here, I'll type in my first option, which is going to be invest quickly.</p>
<p>My second option will be found my wallet with more than one option.</p>
<p>The third option will be withdraw my dividends quickly, the fourth option will be easily access transaction history.</p>
<p>And the final option here will be to save time.</p>
<p>So this is me asking anyone taking this survey to tell us what they would love to achieve more when using a mobile app to invest in stocks.</p>
<p>So these are all the options that they can choose from and from the answers they select.</p>
<p>We the UX designers will understand what to focus on when designing and what not to focus on when designing.</p>
<p>So I would come here and I would make this a required question also.</p>
<p>And that's fine.</p>
<p>And I'll add another question here.</p>
<p>Which is going to be me asking anyone taking this survey this question it says select the frustrations you face when investing with the app you are currently using to invest so out also good Give them the option to select more than one answer here.</p>
<p>And I'd have checkboxes selected here.</p>
<p>So the first option here will be complex and unnecessary graphs, the second one will be long time to invest.</p>
<p>And the third option will be excessive ambiguity of information.</p>
<p>The fourth option will be on friendly user interface.</p>
<p>And the final option will be difficulty in funding wallets or accounts.</p>
<p>Now, this is us asking whoever is taking the survey to tell us the problems that they have with any investment app that they're currently using.</p>
<p>Now from what they would select here, we the UX designers will understand the problems to tackle and what to completely avoid when designing our own investment up.</p>
<p>So outcome here and I would make this a required question also.</p>
<p>And the final question, or the final request out have in this survey is to have the person taking the survey to upload their picture.</p>
<p>Now, this is not going to be a mandatory field, we are going to make it optional if they like the upload if they like they don't.</p>
<p>So I would come here out, click on the plus sign that add question.</p>
<p>And I'd come here and select File Upload.</p>
<p>Now outcome here, and I'll click on Continue.</p>
<p>And I would come here and I'd say upload your image.</p>
<p>And I would make sure this is not set to required.</p>
<p>That's because I want it to be optional.</p>
<p>And that's fine.</p>
<p>So at this stage, I'd like for us to preview this survey to see how it will look like when it is sent out to the people facing the problem.</p>
<p>So I would come here, and I would click on this button here, you can see where my mouse cursor is on, when I click on it, I would have a preview of the survey.</p>
<p>And this is it here.</p>
<p>It looks okay.</p>
<p>So let's come back here.</p>
<p>And let's click on send.</p>
<p>When you click on Send, you'd have this pop up show up here.</p>
<p>Now you'd come here and you'd edit this message, just in case you want to send this as an email to whichever person you want to send it to.</p>
<p>So you would come here and you'd say, vest, technologies there, you put in your own company's name, best technologies, has invited you to fill in a survey for UX research, or whatever you want to say there.</p>
<p>And that's fine.</p>
<p>Now this option is only when you want to send this survey form an email directly to people, you would come here and you type in their email address.</p>
<p>Let's say you type this in, you would use comma then type in the next email and the next email and the next email.</p>
<p>Now, if you don't want to send this as an email, you have the option of sending this also adds a link.</p>
<p>Now this option will make it possible for you to put this link up on your social media or send it through WhatsApp or send it through any other app to the public so that anyone that stays in Nigeria can stumble upon the link and take the survey.</p>
<p>Now to do that, come here and click here.</p>
<p>When you click there, you'll see the link here.</p>
<p>Now come here and click on this checkbox that says shorten URL.</p>
<p>When you do that, you'd have a shorter link.</p>
<p>Now you'd come here and just copy this link.</p>
<p>When you copy it, then you can post it on LinkedIn, you can post it on Twitter, you can post it anywhere you want to post it, you can send it to anyone.</p>
<p>And when they click on the link, they will be taken to the survey form for them to take the survey.</p>
<p>Now when they take the survey, you will be having the option to see the responses here.</p>
<p>All you do is come back to the form, click on responses and you'd see all of the responses over here.</p>
<p>Currently, I have zero responses.</p>
<p>So what's going to happen is out take this survey myself, I would take it twice, so that I would have two responses.</p>
<p>And I'll use those two responses to continue our research process.</p>
<p>Now take note in real life, you'd have more than two responses.</p>
<p>So I'll pause this video here.</p>
<p>I would go ahead and out.</p>
<p>Take the survey myself twice.</p>
<p>So I have taken the survey by myself twice.</p>
<p>And these are my responses.</p>
<p>As you can see here we have this field that says who has responded and these are the emails of the people that have responded and these are their full names and all of that now, this summary tab here in the responses section will just give you a full summary of all the responses.</p>
<p>Now for you to attend to one response at a time, come here and click on the individual tab appear.</p>
<p>When you do that, then you can come here and select the individual responses based on their email addresses.</p>
<p>Currently, this email is and@xyz.com.</p>
<p>And, and all of these responses here, all of these answers are the answers of this particular user.</p>
<p>If you want to see the answer from any other user, come here and select that with the email of that user.</p>
<p>If I select chicks@xyz.com, you will see that I would have all of this show up here.</p>
<p>Now, as you can see here, this is the email of chooks.</p>
<p>And this is the full name of trucks, trucks, EK, and the country and city of residence is Nigeria, Enugu, the age is 24.</p>
<p>The profession is importer.</p>
<p>Have you invested in stocks? Yes.</p>
<p>Have you invested in stocks from a mobile app? Yes.</p>
<p>Select the goals you always love to achieve when investing in stocks from a mobile app.</p>
<p>And Chuck said to invest quickly to one my wallet with more than one option to easily access transaction history and to save time.</p>
<p>Now, the next question here is select the frustrations you face when investing with the app you are currently using to invest.</p>
<p>And chucks says, long time to invest complex and unnecessary graphs, excessive ambiguity of information and non friendly user interface.</p>
<p>Now, for the other user, which is n, you can see the email of the user here and the name of the user is M for lucky.</p>
<p>And the country and city of residence is Nigeria Lagos.</p>
<p>I know in my initial survey form, I did not include city of residence, actually.</p>
<p>But I just had to include that so that I can target the particular location where the user is staying.</p>
<p>And the age is 24.</p>
<p>The professional is mural artist.</p>
<p>Have you invested in stocks? Yes.</p>
<p>Have you invested in stocks from a mobile app? Yes, select the goals you always love to achieve when investing in stocks from a mobile app and MCs to invest quickly to find my wallet with more than one option is the access transaction history save time and for this question here and select long time to invest complex and unnecessary graphs, excessive ambiguity of information and non friendly user interface.</p>
<p>Now at the bottom here, you would also see that the date of submission and the time of submission is recorded.</p>
<p>So I'll come back here.</p>
<p>And I'd also like to let you know that you can, you can export this response to a spreadsheet.</p>
<p>Now, I would advise you that if you want to do that, come here, click on summary, then click on create spreadsheets.</p>
<p>When you do that, you'd have this option to select, create a new spreadsheet or select existing spreadsheets.</p>
<p>Now, if this is your first time, just create a new spreadsheet.</p>
<p>Now I'll keep that now out, keep that selected, come here and out, click on Create.</p>
<p>When I do that, I'll have a new tab launched.</p>
<p>And as you can see, all of my responses has been exported into the spreadsheets.</p>
<p>Now you can also choose to come here and make your analysis from the spreadsheets.</p>
<p>And that's okay.</p>
<p>So after you create your surveys and send them out and the users or the people that you sent them out to send in their responses, you would go ahead to create what we call user personas for each and every user that sent in a response.</p>
<p>So at this stage, I'd like us to see how to create user personas and take notes.</p>
<p>Creating user personas is an action you take while you're at the empathize stage.</p>
<p>Now just understand that this empathize stage is the stage where you get to know the users better and understand their frustrations better.</p>
<p>And that's because it's only when you understand a problem better that you can come up with a better solution for that problem.</p>
<p>So let's go ahead and let's see how to create user personas for each of the user that sent in a response to our survey.</p>
<p>So I would come here now.</p>
<p>And I would select the text tool here.</p>
<p>And I'd have this here, I would say user personas, I would keep that selected.</p>
<p>I'll change this text from a normal text to a sub heading text.</p>
<p>And I'd make this bold, then I would come here and I'll change the color of this text to that.</p>
<p>So this is going to be our user persona section.</p>
<p>Let's duplicate this.</p>
<p>Let's come up here.</p>
<p>Let's call this section, workflow break down.</p>
<p>However you want to call it, it's fine.</p>
<p>That's okay.</p>
<p>So I'll just scroll down to the user persona section.</p>
<p>And the first thing I'd have here is the image of the user that I want to create a persona for.</p>
<p>So I would come here, I would select the square tool here to have a square shape here, which I am going to use to place the image of that user in.</p>
<p>Now this is necessary, whether the user sends in an image or not, you can just have these here, if the user does not send in an image, then you leave this blank, go ahead and do the rest.</p>
<p>But if the user sends in an image, then you place the image in here.</p>
<p>Now there's one way to place an image into a shape here in feature, all you have to do is keep the shape selected, right click on it, then go to plugins and use the Unsplash plugins for that.</p>
<p>So I would come here, I would launch that plugin.</p>
<p>And I would come in here and I'll type in African woman.</p>
<p>So I can have an image of an African woman show up there.</p>
<p>So I'd come here and out select this.</p>
<p>And that's okay.</p>
<p>So the next thing to do is to have all of these details about this person who has this image.</p>
<p>Now the name here is an felucca, the country and city is Nigeria, Lagos the age is 24 Professional mural artists.</p>
<p>Now, over here, I would say an is a mural artist resident in Lagos, Nigeria, and is also a stock investor who invests in stocks with existing stock investing apps in Nigeria.</p>
<p>And this is like his summary about her personality.</p>
<p>Now, I'll go ahead and out highlight her frustrations with the existing investment apps that she used in Nigeria and out also highlights the goals that she aims to achieve with an investment app.</p>
<p>So outcome here, now have this here, outpaced this.</p>
<p>And over here, these are the things that she wishes that she had as an experience with an investment app.</p>
<p>And these are her current frustrations.</p>
<p>Now all of these details about an was gotten from the response that she gave us when she took this survey that we created.</p>
<p>So you can see how this connects.</p>
<p>So let's go ahead and let's create a user persona for the other user that took the survey.</p>
<p>So that is going to be chooks.</p>
<p>So I would come here, I would have this shape here.</p>
<p>And I would run the Unsplash plugin on that shape.</p>
<p>And I would type in African man.</p>
<p>And I would go with this here.</p>
<p>And that's okay.</p>
<p>So I would have this hair for chooks.</p>
<p>This is his name, and his country and city, age, profession, and all of that out also highlight his goals and frustrations.</p>
<p>And that's fine still.</p>
<p>So what we have done so far is this, we have concluded the empathize stage, we have gotten to know about the problem from the perspective of the users.</p>
<p>And we have created user personas for each user that took our survey.</p>
<p>So we are going to move ahead to the next stage of our workflow here, which is the stage where we are going to create a problem statement based on all we have gathered during the empathize stage.</p>
<p>Now this really makes sense because you can create a better problem statement when you understand the problem better.</p>
<p>And the way to understand the problem better is to empathize with the people facing the problem.</p>
<p>And that's what we have done.</p>
<p>So let's go ahead and let's create a problem statement based on what we have learned.</p>
<p>So I'll duplicate this outcome here, I'd say problem statements.</p>
<p>And for me going by all we have learned from the empathize stage, this is my problem statement.</p>
<p>My problem statement states that users are frustrated with existing investment apps, as a result of excessive ambiguity of information and complex steps.</p>
<p>These consents negatively affect the experience of these users.</p>
<p>Now, this is my problem statements and this is the problem that our try solve.</p>
<p>So, if we come up here, you will see that we have empathized with the users and we have created a problem statement.</p>
<p>So the next stage of our workflow is the idea stage, which is the stage where we have to come up with an idea that can solve the problems that we have in the problem statement and what actions are we to take at this stage.</p>
<p>So at the idea stage, the first thing we are going to do is to set up a brainstorming session where we are going to invite other designers, product managers, business managers Lawyers, software engineers, and so on and so forth.</p>
<p>Now, when we invite all of these people, we are going to present them with enough information about the problems in the problem statement, and ask them to come up with ideas that can possibly solve the problems in the problem statement.</p>
<p>Now, when each and every one of these people that we have invited, come up with an idea, the next thing to do is to read out all of these ideas to everyone and call a vote for the best idea.</p>
<p>Now, the idea with the highest votes should be selected.</p>
<p>And when that is done, it means that you are ready to move to the next stage of our workflow, which is the stage where you'd have to design that idea into a testable prototype.</p>
<p>So before we move over to this stage here, I'd like to come here out also highlights that this stage is the idea stage.</p>
<p>This is the idea stage.</p>
<p>And since this is going to be a brainstorming session stage, and obviously I can't have a brainstorming session here in this lesson, it's going to be something that you'd set up with the people you want to set it up with, beat on Zoom discord, beat real life, anyhow, you want to set it up, that's fine.</p>
<p>So I'll just highlight this stage here.</p>
<p>And what I'm going to do is, I would assume that I conducted a brainstorming session offline, just so that we can learn better.</p>
<p>And I'd also assume that during that brainstorming session, we arrived at an idea.</p>
<p>So I'd have this here selected idea.</p>
<p>And I would paste this as our selected idea.</p>
<p>Now this is the selected idea for this course, it says Create an investment app where graphs are represented with text, where users will have the option to fund the account and wallet via bank transfer or their debit cards, where recent transaction history will be easily accessible.</p>
<p>And were plain and easy to understand English will be mostly used.</p>
<p>Now if you look at this idea, you'd see that this idea solves the problems that we have in this problem statements.</p>
<p>And this problem statement was gotten from all we learned during the empathize stage.</p>
<p>And we were able to learn all we learned during this stage because we created a survey form and sent out the survey to use us so you can see how everything connects.</p>
<p>So now that we have an idea that we can use to solve the problem, the next stage here is the design prototype stage.</p>
<p>And at this stage, the actions that we need to take all of these First things first, we need to create an information architecture for this best idea that was selected during the idea stage.</p>
<p>So I would come here, I would scroll down to this point.</p>
<p>And I would have this here, I'd say information architecture.</p>
<p>Now before we create the information architecture, let's understand what an information architecture is and why it is important to create one.</p>
<p>So the information architecture of a mobile app is the way you organize and arrange information on the mobile app that will help the users have that mobile app to accomplish their task on that mobile app without a bad experience.</p>
<p>So it is in the information architecture, that you will decide what features and what information we exist on each page of the app, and each step of the app.</p>
<p>So let's go ahead.</p>
<p>And let's create an information architecture for this idea.</p>
<p>Now, the way to start creating your information architecture is to first of all, define the goals of the users who will use the app, then define the task that the users have to complete to achieve their goals on the app.</p>
<p>So outcome here, and I'd have this here.</p>
<p>So this here is the goal of the user to invest with a good experience.</p>
<p>Now the user task here are the actions that the user will have to take to achieve this goal.</p>
<p>Now, what are the task, the user will have to sign up to the application as a new user or log in as an existing user then fund their account or their wallet, then use the fund that they have in their account or wallet to invest in any stock of their choice.</p>
<p>So if they can accomplish this task, this task and this task, it means that they have achieved that goal on that app.</p>
<p>So after defining the goals of the user and stating the task that the user has to complete to achieve that goal, we are going to go ahead to create our information architecture flow, and for the sake of time out, speed up this process, and I'll explain it so that you can understand.</p>
<p>So what we have here is our information architecture flow.</p>
<p>And our zoom in so that I can break down this flow one after another and also show you how to come up with a flow like this.</p>
<p>This is the start point of the flow.</p>
<p>This is where the user launches the app.</p>
<p>So when the user launches the app, the user will have two options, one to sign up and want to log in.</p>
<p>So let's go with the signup flow here.</p>
<p>Now, if the user is trying to sign up, the user will be required to sign up with their email address, phone number and password.</p>
<p>And after this step, the user will have to verify their phone number.</p>
<p>Now, after the phone number is verified, the user will be taken to the homepage of the application.</p>
<p>When the user gets to the homepage of the application, the user will have all of these options here.</p>
<p>And the first route or the first option here will be the menu icon, which will be on the homepage.</p>
<p>The user will also have the account balance displayed on the homepage, the user will have a fund account option that they can use to fund the account still on the homepage.</p>
<p>And still on the homepage.</p>
<p>The recent transactions by the user will be displayed there on the homepage.</p>
<p>Now, still, on the homepage, we are going to have a referral banner.</p>
<p>Still on the homepage, we are going to have an invest route that the users can take if they wish to invest in stocks.</p>
<p>Now still, on the homepage, we are going to have a transact option, just in case the user wishes to deposit or withdraw.</p>
<p>So all of this is on the homepage.</p>
<p>Now let's look at the flow of the first item here, which is the Menu icon.</p>
<p>Now if the user clicks on the menu icon, which is on the homepage, the user will see all of these options, recent transactions, card management, investment portfolio request statements and settings.</p>
<p>Now, just for the sake of those who don't know what a menu icon is, if you go to an app or a website, using your mobile phone, you would always have this icon here at the top that when you click on it, you'd have a drop down or you'd have a menu bar sliding from the left or from the right now, that's what we call the Menu icon.</p>
<p>And most mobile apps have that.</p>
<p>So this is going to be all that we show up when the user accesses the menu icon route now for the account balance, or that's going to show a base available balance.</p>
<p>And that's all.</p>
<p>Now for the fund accounts option.</p>
<p>This is the flow, the user will have to choose a method.</p>
<p>And this is important for the experience.</p>
<p>Because from our user research, it was clear to us that the users actually want an experience where they would have the option to fund their account with more than one option.</p>
<p>So when they choose a method, then they would go ahead to find the account with that method that they have chosen.</p>
<p>So that's what the fund accounts route right now for the recent transactions route.</p>
<p>All the user will have when they access a recent transaction will be the transaction details.</p>
<p>And that's okay.</p>
<p>Now we have the referral banner option here.</p>
<p>And when the user access the routes, they would have a referral promo code that they can copy you know and send to a friend to join the app for all of that and all of that.</p>
<p>And that's fine.</p>
<p>Now we have the InVEST route here.</p>
<p>When a user accesses this route, the user will see a list of stocks that they can invest in and will also see their stock portfolio that they had invested in.</p>
<p>So if the user access one of the stocks that's been listed, the user will see the detail for that stock.</p>
<p>And if they like what they see in the detail, they will go ahead to invest.</p>
<p>And that's a good flow.</p>
<p>So if you come here, we have this route here, which is the transact route.</p>
<p>When the user accesses this route, the user will have the option to make a deposit, which is also like funding the account you get.</p>
<p>And the user will also have the option to make a withdrawal from the account.</p>
<p>So this is just the basic information architecture flow for this app.</p>
<p>And it is always important for you to create this information architecture, so that you will understand and organize the steps that the user will take on the app.</p>
<p>It is also important so that you can also streamline the core features that each page Your app will have.</p>
<p>Now if you remember, that was the signup proud, the login routes is still the same, because all you have to do here to login is just enter your email address and your password, then you'll be taken to the homepage.</p>
<p>Still, when you get to the homepage, every other theme is the same.</p>
<p>So that's that if you have any questions on the information architecture here, draw my attention to it.</p>
<p>And I'm there to help.</p>
<p>So if you come here now, in our flow breakdown, you'd see that under the design prototype stage, we have created our information architecture.</p>
<p>The next action at this stage is to create a low fidelity prototype of the best idea using the information architecture.</p>
<p>Now before we do that, I'd love to explain what a low fidelity prototype is.</p>
<p>So a low fidelity prototype is a dummy version of your final design for an app.</p>
<p>Now, the question you may ask is this, why do we need to design a dummy version? Now this is it.</p>
<p>Designing a dummy version is important because at this stage of trying to figure everything out, your design, and your design process can be subject to lots of changes, and imputes from the stakeholders.</p>
<p>Now, it's just like building a dummy house first, before you build the main house.</p>
<p>Now, if you use paper to build a dummy house first, before building the main house, it's going to be a lot easier when the owner of the house comes to make a correction or comes to make a change.</p>
<p>Since it's a paper, you don't have much to lose, all you have to do is just tear it and put it back in seconds.</p>
<p>But if you go ahead to build the main house first, and the owner of the house comes and says, Okay, I don't want this design here, I don't want that there, it means that you'd have to break down that part of the house and rebuild that part of the house with all of the resources that you have put into building that part of the house.</p>
<p>And that's going to be a lot more hectic compared to you using a paper to just build a prototype or a model of the house.</p>
<p>So that's basically what a low fidelity prototype is.</p>
<p>And that's why it is important for you to have a low fidelity prototype, then take that to the stakeholders for correction and changes and imputes and all of that.</p>
<p>Now, when the low fidelity prototype has been accepted and agreed on, then you can go ahead to design the real app itself, which is the high fidelity prototype.</p>
<p>So let's go ahead and let's see how to create a low fidelity prototype of our best idea.</p>
<p>So we are going to do that using a figma design file.</p>
<p>So I would come here, I would go to figma.</p>
<p>And I'll create a new design file.</p>
<p>And I'll call this stock investment app.</p>
<p>And out come here and out, rename the page one to low fidelity.</p>
<p>And this page is going to contain all our low fidelity screens.</p>
<p>So let's go ahead and let's start.</p>
<p>So to design low fidelity screens is easy.</p>
<p>And it is easy because you don't need a design system for that.</p>
<p>Like you don't need a style library.</p>
<p>To do that.</p>
<p>You don't need a component library.</p>
<p>To do that.</p>
<p>You don't need all of that, all you have to do is focus on the user task.</p>
<p>So if you come here, you'd see that our user task on this app is to sign up a login on your account or wallet and invest.</p>
<p>And if a user accomplish all of these tasks, it means that the user will achieve their goal on this app, which is to invest in stocks.</p>
<p>So we are going to design a low fidelity screams around these user task.</p>
<p>So let's come back here and I've picked my design file.</p>
<p>And let's see what it is to create low fidelity screams, all you have to do is select the frame tool, then go with any template of your choice, I would go with iPhone 13 Promax, and not have that.</p>
<p>So the next thing I'll do is to just come here.</p>
<p>And since this is going to be the splash screen, I'll just have this logo stay here out align it to the center, horizontally and to the center vertically, then I would go ahead to create the login screen, the signup screen and all of that.</p>
<p>And actually, the way I like doing it is this, I like to segment the screams into categories using the user task.</p>
<p>This section or this segment should be four authentication screens.</p>
<p>So I'll go ahead, speed up this process and have other screens here.</p>
<p>Then I'll explain how I came about all of that.</p>
<p>Now before I do that, I may have missed something here.</p>
<p>I know some people who are new to fit jam may not understand how these connectors are created.</p>
<p>Now all you have to do is use the connector to select it, click on the point, then you connect it anyhow, you want to connect it, you can take your connector anywhere, connect any shape that you are trying to connect, and that's fine.</p>
<p>And when your connector is created, you can actually play around with it, you can click on it to select it, grab the points, take it up, take it down, anyhow, you want to play around with it, it's fine.</p>
<p>Now you can also select the connector and change the color of the connector, just like this.</p>
<p>So all of these connection lines were created using the connector tool here.</p>
<p>So let's go back to our figma design file.</p>
<p>And out pause this video here and come back with all of our low fidelity screams, then I'll explain further.</p>
<p>So what we have here are low fidelity screens for the authentication task.</p>
<p>So let's zoom in.</p>
<p>As you can see, here, we have the splash screen, which is this.</p>
<p>Now after the splash screen, we have this screen where the user will have to choose that authentication action, which is either to login or to sign up.</p>
<p>Now to create this button here, you don't need to use an auto layout or any of that, all you just have to do is select the rectangle to like this created anyhow, you want to create it, then come here, select the text to and you can just say login or sign up or whatever you want to have.</p>
<p>They're just like this.</p>
<p>That's how I created this.</p>
<p>And I did not have to come up with a color.</p>
<p>And it's advisable for you not to use colors when creating your low fidelity screams.</p>
<p>And that's because if you have colors chosen, it may distract the stakeholders when you are presenting the low fidelity screams to them at this stage, all you should focus on is the user experience.</p>
<p>So having colors or making the low fidelity screams look good, may distract the stakeholders away from the user experience.</p>
<p>So that's how I came up with the buttons there.</p>
<p>And here also, this impute fields, I just use the rectangle, the rectangle to create a rectangle shape there, I added a stroke.</p>
<p>And I took out the field color and I had that then I had a text inside there saying email just like that.</p>
<p>And this button, we know how to do that.</p>
<p>I duplicated all of this.</p>
<p>And I had one more field here for the phone number.</p>
<p>And my button is still here.</p>
<p>Then here we have this field for a verification code.</p>
<p>And over here I have the Verify button that Okay, so all of the screens here are for the authentication task.</p>
<p>Now let's scroll down to the next task, which is going to be the fund wallets task.</p>
<p>And that task actually will happen from the homepage.</p>
<p>So that's why I created a low fidelity version of our homepage.</p>
<p>So you can see that we don't have too much of information here.</p>
<p>So if I scroll down, you'll see that I have the fund accounts pop up action here.</p>
<p>Now this element is going to show up when a user clicks on fund accounts here.</p>
<p>When they do that, this pop up will show up for them to choose the method that they want to fund the account with.</p>
<p>And that's okay, so this is easy to create, just have a rectangle like this and have your text inside of it.</p>
<p>Then the background of this navigation section is also a rectangle that I had across the screen like this, and I changed the color to something like this, just like that.</p>
<p>That's easy.</p>
<p>So over here, this is a rectangle also with a text on it.</p>
<p>And I have a rectangle here with a corner radius of 16 px.</p>
<p>And that's okay here, we know how to create a button.</p>
<p>And this is just text.</p>
<p>Now for this icon here, I got that from an icon plugin, I used the feather icons plugin to have that sorted.</p>
<p>So this task is complete, we have the font accounts button here, which if a user clicks on it, you will have this pop up show up like this.</p>
<p>Now let's move over to the next task on our app.</p>
<p>And the next task here is to invest.</p>
<p>So if I come here, and I scroll down, you'll see that I have this screens for the InVEST task.</p>
<p>Now this is the section for that we have this page here we have this icon we have this text here.</p>
<p>Now I have this section which is like the list of stocks to invest in.</p>
<p>I have this search bar here.</p>
<p>I have this search field here which is also easy to create.</p>
<p>All you have to do is create a rectangle give it a corner reduce of let's say 16 Or let's say 816 is a lot.</p>
<p>Then come here take out the the fill color and give it a stroke Hello, and you have that, then you have a text inside there, that's really easy to create, then I have the list of stocks here.</p>
<p>So I just have a rectangle here also with this text on top of it.</p>
<p>So it's also easy to create, all you have to do is just have something like this, then give it a canary use of 16, then take the color down the beats to this point, then have your text written on top of its plot away, then keep this here, then have this plus 234 percent.</p>
<p>They're all any number that you're okay with.</p>
<p>So that's how I created this.</p>
<p>And if you scroll down, you'll see that we have the your stock portfolio section, which has this also, we know how to create this.</p>
<p>And over here we have the navigation section.</p>
<p>And that's okay.</p>
<p>So the next page here, let's zoom out a bit.</p>
<p>The next page here is the stock Details page.</p>
<p>Now, this is all assuming that a user is interested in this stock here, you can see where my mouse cursor is on.</p>
<p>So if a user is interested in this stock, and the user goes ahead to click on it, this details page will show up for the stock showing the details of that stock and the company that owns the stock, you'd have the company logo here.</p>
<p>And you'd have the stock percentage and all of that there, you'd have the interest for that stock, minimum cap volume, about the company, the valuation rank and all of that, then you'd have an invest button here.</p>
<p>And I think by now we know how to create all of the elements here.</p>
<p>Now, if a user clicks on the InVEST button, they would go to this page where they would have to enter the amounts that they wish to invest in that stocks with.</p>
<p>And I believe on this page here, we know how to create all of the elements that we have here.</p>
<p>Now, if a user clicks on the next button here, after entering, the amount they wish to invest in that stocks with the user will be taken to the next page here, which is going to display the summary of the investments they're about to make.</p>
<p>Over here, they would have the amount that they typed in here, display here, the minimum cap, the interest value, and so many other details, and so many other details that are not listed here.</p>
<p>Now, if the user is okay with that, the user clicks on the Proceed button, and the next page that user will be taken to is the success page indicating that that investment is successful.</p>
<p>Now the user will have the option to click on the back to home button here.</p>
<p>And that's that it means that that task, which is the Invest task has been successful.</p>
<p>So for us to properly present low fidelity screens like this for testing and for impute and for opinions.</p>
<p>And for all of that.</p>
<p>For us to properly do that, it means that we need to make a prototype of this low fidelity screens, so that we can present them properly for testing and for imputes from the stakeholders.</p>
<p>So let's go ahead and let's do that.</p>
<p>I'll click on the prototype option here.</p>
<p>So let's start with the splash screen.</p>
<p>So out select out, click on the splash screen to select it.</p>
<p>When the splash screen is selected, you'd have this point here, all you have to do is click on it, hold it and drag it to the screen of destination.</p>
<p>So I would want the users to go from the splash screen to this screen here.</p>
<p>Now when I connect this splash screen to this other screen here, you'll see that figma will bring up this interaction details card for us.</p>
<p>So that we can set the mode of our interaction.</p>
<p>So over here I have the On Click event.</p>
<p>And the action for that onclick event is a navigate to action.</p>
<p>So what this means is that when the splash screen is clicked, we are going to navigate to this screen here, which is iPhone that in Promax two, this is the name here actually, you can actually it is advisable for you to rename all of your screens, that's the best way to do it.</p>
<p>So this practically means when the splash screen is clicked on, navigate to this other screen, which is this one here.</p>
<p>Now we have an animation section here that we can set the animation of that transition or the animation of that navigation.</p>
<p>So currently to set instance, I can come here and set this to smart animate, then set this to ease in and out and out.</p>
<p>Set the animation delay time to 800 milliseconds, just type in 800 there and press the Enter key on your keyboard and figma will add the milliseconds for you.</p>
<p>Now this animation settings is optional.</p>
<p>The most important thing here is that we have set the event and the action that will be triggered by that event, then we have sets to destination frame for that action.</p>
<p>And that's okay.</p>
<p>So that's sorted.</p>
<p>Now outcome here, out, click on this button.</p>
<p>And I will say, okay, when a user clicks on this login button, they should go to the login screen, which is this.</p>
<p>Now for the Interaction Details, ugly with set like this.</p>
<p>This is the setting we had before now.</p>
<p>So I'll leave it set like that.</p>
<p>Now, for the sign up button.</p>
<p>When a user clicks on the sign up button, it means the user is a new user.</p>
<p>So I would like that user to be taken to the signup page, which is this one here.</p>
<p>Now, when the user goes to the login page, and the user enters their email and their password, it means that they would have to click on the login button.</p>
<p>And when they click on the login button, I'd like them to go straight to the home page, which is this.</p>
<p>Now remember, for a user to log in, it means the user is an existing user.</p>
<p>Now, when a user selects the Sign Up option here, it means the user is a new user, and the user will have to enter their email address, phone number and password right.</p>
<p>Now when they do that, it means they would have to have their phone number verified first.</p>
<p>So when the user clicks on sign up, the user will be taken to the verification code page.</p>
<p>And when the user's phone number is verified, the user will then be taken to the homepage.</p>
<p>And that's fine.</p>
<p>So you have seen that we have created the authentication flow.</p>
<p>So let's come over here on the homepage, let's work on the next task.</p>
<p>Now the next task is to fund the accounts, right.</p>
<p>And to fund the accounts, the user will have to click on the fund accounts button.</p>
<p>Now when they do that, we are going to want a pop up to show up on the screen.</p>
<p>And that pop up should show this card here that will that will require the user to choose the method that they want to fund their accounts with.</p>
<p>Let's come here in our Interaction Details.</p>
<p>Over here, it's an On Click event.</p>
<p>That's okay.</p>
<p>Now, over here, we have the Navigate to option.</p>
<p>And that's not what we want, we want a popup to show up on that same screen, we don't want the user to leave that page that the user is on, we want the user to still stay on that page, but have a pop up show up.</p>
<p>So how do we make that happen, we are going to change this from navigates to to open overlay.</p>
<p>When we change it to open overlay, we are going to come here and select the center option, because I would want this pop up to stay at the center of the screen here.</p>
<p>So over here, I would keep this selected, which is closed when clicking outside and out.</p>
<p>Also keep this add background behind overlay options selected, then for the opacity of the background overlay out, keep it set to 25%.</p>
<p>Now for the animation, you can still keep it set instance or come here and select any other option of your choice.</p>
<p>So that's okay.</p>
<p>And we are okay with that.</p>
<p>Now, if a user selects bank transfer or debit card, they will be taken to another page where they would have to process that transaction method.</p>
<p>So you can also come here, if you don't mind, let's click on Design, you can come here and duplicate this page and and create a low fidelity screen for that you can call these bank transfer.</p>
<p>And you can have whichever element you want to have here.</p>
<p>And you can go ahead to have the debit card page also that the user will go to when they select the debit card option here.</p>
<p>But that's not the point here.</p>
<p>So I'll take this out.</p>
<p>Now we are done with the fund wallet task.</p>
<p>So the next task is the Invest task.</p>
<p>And this task will happen from the homepage.</p>
<p>It is when the users go to the homepage, that they would click on this invest option here for them to go to the InVEST page so that they can invest in stocks.</p>
<p>So from this homepage here, outcome held click on prototype.</p>
<p>From this homepage here, I would select this invest button here.</p>
<p>And I'll create a connection to this page.</p>
<p>And that's okay.</p>
<p>So when a user clicks on that invest button at the navigation section there on the homepage, that user will be taken to this page here, which is the Invest page where the user will see the list of stocks that they can invest in and their stock portfolio.</p>
<p>So if a user comes to this invest page, the task we want them to complete is to invest So let's say the user is cool with this stock here and the user wishes to invest in this stock, I would select it, then I would create a connection like this.</p>
<p>This means that when the user clicks on this stock, the user will go to the stock details page for that stock.</p>
<p>And when the user is okay with that stock details that the user sees here, the user will click on the InVEST button here.</p>
<p>And the user will go here to this other page, where the user will have to enter the amount that they wish to invest in that stocks with.</p>
<p>And when the user enters the amount they wish to invest with, the user will click on the Next button, which will take the user to this page here where the user will see a summary of the investment the user is about to make.</p>
<p>And when the user is okay with all the user sees here, the user will click on proceed and the investment, which is the task will be completed.</p>
<p>So what we have here is we are done creating a low fidelity screens.</p>
<p>And we can present a low fidelity screens for testing now.</p>
<p>So how do we do that, I would come here, I would select the splash screen, because that's where the whole journey starts from right? When I select it, I would come here, and I would click on this presents button here to have that presented, a new tab will be launched for that.</p>
<p>So I would come here, and I would click on the Enter full screen option here you can see where my mouse cursor is on.</p>
<p>Now, this is the presentation, I would present to the stakeholders, which are my employers or the owners of the app.</p>
<p>So I will take this presentation to them to demonstrate the user experience that I have come up with that will enable the users to accomplish their task on this app.</p>
<p>So I would go from here, I would click on this screen.</p>
<p>And I'll explain to the stakeholders at this point that existing users can click on login.</p>
<p>And new users can click on sign up.</p>
<p>So I would demonstrate these as a new user, I would say okay, when they click on sign up, they would come here enter their email, phone number and password.</p>
<p>When they click on the Sign up button, they would have to enter a verification code.</p>
<p>And when they are verified, they would go to the homepage.</p>
<p>Now, if they want to invest, it means they have to fund the account.</p>
<p>So I would click on the fund account button to demonstrate to them that in this case, now we have a bank transfer method and debit card method, I would say okay, if the users go ahead to fund to fund the accounts, then it means the users are ready to invest.</p>
<p>So for them to invest, they would come down here and click on the InVEST button there.</p>
<p>When we use that those that the user will see list of stocks that they can invest in.</p>
<p>And if the user chooses to invest in any of the stock, let's use this, for example, they would click on it, when they click on it, the user will be taken to the stock details page for that stock.</p>
<p>And when the user is satisfied with the details of the stock, the user will click on the InVEST button here, then the user will be required to enter the amount they wish to invest in that stocks with when the user does that, the user will click on the Next button here.</p>
<p>And when the user clicks on that next button, the user will see a summary of the investment they are about to make.</p>
<p>And if the user is satisfied, the user clicks on the Proceed button here and the investment will be successful.</p>
<p>And when the user is done, the user clicks on back to home, and the user will be taken back to the homepage.</p>
<p>So a presentation like this will really reveal the experience that the user will have using this product.</p>
<p>So if your low fidelity prototype has been accepted by the stakeholders, it means that it is now time for you to go ahead and start the process of designing your high fidelity prototype, which is going to be like the real design version of your app, or the final design version of your app.</p>
<p>And it is at that stage that you'd focus on themes like colors, typography, effects, components, library style library, and all of that.</p>
<p>So in this course, let's assume that our stakeholders gave us a pass for these low fidelity screams and they are okay with it.</p>
<p>Let's assume that our stakeholders now want us to go ahead to design the real version of the app.</p>
<p>So what do we do? Let's click on Design.</p>
<p>Come here.</p>
<p>Create a new page and call this Hi Fi deleting.</p>
<p>So at this stage, I'd like to welcome everyone to the most interesting part, which is the part where we start building our designs from scratch.</p>
<p>So first things first, I'll go ahead to create my style library.</p>
<p>And I will start by creating my typography styles.</p>
<p>So I will do that using the Material Design version to guide.</p>
<p>So I would come over here, I would go to material.io.</p>
<p>And when I come here out, click on Design.</p>
<p>When I click on Design out, come here on the left side, and I'll click on typography, then I would select the type system.</p>
<p>And when I do that, I would come here.</p>
<p>So the first thing that I would have set is the typeface or font family that I want to use for this project.</p>
<p>For this project, I would love to use the rubric font family.</p>
<p>So I would come here, and I would select it here for headlines and subtitles, then I would go ahead to select it here for body and captions, just like that.</p>
<p>Now I'll use the data here in this type scale to create my typography styles.</p>
<p>Now let's start with creating headline textiles for this project.</p>
<p>Now since this is a mobile app project, I won't see the need to have a headline one text, same for the headline to text.</p>
<p>So I would go with the headline for textile as my own headline one textile just because this is a mobile app design and this size of text is going to look too big for a mobile app.</p>
<p>So I would come here out click on headline for and I would use these details here.</p>
<p>So I would come here I'll create a frame here where my textiles are going to stay in so I would say headline one a duplicate this out say headline one bold.</p>
<p>So outloud say headline two now this is me getting everything set before I start applying the details that out get here from the type scale generator.</p>
<p>So outcome here out, duplicate this and out see headline to bold and out come here out have this out see a headline three.</p>
<p>And this is going to be headline three bold, and that's going to be that for my headline textiles for this project.</p>
<p>Now I'll go ahead to have my body textiles.</p>
<p>So I would come here out, prepare this for body large.</p>
<p>And I'd have this be a body large bold textile, then I would go with body small here.</p>
<p>And I'd have this as Bodhi small bald.</p>
<p>Now this is my own style.</p>
<p>And this is my own pattern.</p>
<p>I am not saying this is the standard out there.</p>
<p>I'm just doing this because this is what I feel will give me the best design.</p>
<p>Now come here.</p>
<p>This will be for my button text and I'll have a caption text.</p>
<p>So after having all of this set out, come here out select the headline one text here.</p>
<p>And I will use the headline for textile here in material design.</p>
<p>Just like I said I would use this for my headline one textile.</p>
<p>So the font family sets Rubik, the width is set to Normal, which is regular, the size is set to 35.</p>
<p>And the letter spacing is set to 0.25 px.</p>
<p>So I would go ahead and I would have all of these sets.</p>
<p>So I would come here keep this selected, how to set this to Rubik and how to set this to regular and for the letter spacing out come here and out set this to 0.25 px, and for the size out set it to 35 px.</p>
<p>Now I'll use these same settings for this headline one text for the headline, one bold text, the only difference will be that this is going to be a bold text and this is going to be a regular text.</p>
<p>So I would select this.</p>
<p>Now to set this to 35.</p>
<p>I would set this to beak and I'll keep it set to bold like I said, and I'll make this 0.25 px and that's okay, so I'll go ahead and now do same for headline to headline three body large body large bowed down to the caption text.</p>
<p>Now for the headline to text here, I would come here in material design and I would use the headline five textile for my own headline to textile.</p>
<p>So the font families Rubik, the weight is normal, the size is 24.</p>
<p>So I would set the size to 24.</p>
<p>And for the weights out, keep it set regular and for the font family.</p>
<p>I'll keep it set to Rubik.</p>
<p>Now the letters business zero px, so I can just keep it set at 0% or just come in here and type in zero px, and that's fine.</p>
<p>I would use the same setting for the headline to bold, but the difference will be that this is going to be a bold text So I would come here, I would set this to 24.</p>
<p>Send this to Rubik.</p>
<p>Keep this set to zero, keep the letter spacing set to zero, and then keep this sets bold.</p>
<p>So I can have that.</p>
<p>Now for my headline three text.</p>
<p>If I come here, I'll use the headline six textile here for my own headline pre text.</p>
<p>So I would keep this set Rubik, this set to medium size set to 20.</p>
<p>So I'll keep the size set to 20.</p>
<p>And for this, I'll keep it set to medium and outside this to Rubik.</p>
<p>Then for the letter spacing, it sets 0.15 px.</p>
<p>So I would come here, I would say 0.15 px.</p>
<p>And that's going to be cool.</p>
<p>Then for the headline three bold, I would have the same sentence there.</p>
<p>But the only difference as usual will be that this is going to be a bold text.</p>
<p>So I would come in here, outside this to rubik cube assets board.</p>
<p>And for the size, I think it's 20 px, and for the letter spacing is 0.15 px.</p>
<p>So I'll type that in.</p>
<p>And I'll keep this set to 20 Just like this.</p>
<p>And that's okay.</p>
<p>So for the body large text, come here and use the body one textile here, you can see that the size is 16 px, the width is normal, and the letter spacing is 0.5 px.</p>
<p>So I'd come here, keep this here, I would set the letter spacing to 0.5 px outsets, the weights to regular and outset these to 16.</p>
<p>And out set this to Rubik and that's okay, for the body large board, you know what to do already, how to set this to 16, set these to 0.5 px, set this to bold, then set this to Rubik.</p>
<p>And that's it.</p>
<p>So I'll go ahead and out, have my body small text here.</p>
<p>And if I come here and material design out, use the body to textile here material design for that.</p>
<p>So I'll keep it set to normal set the size to 14 and the letter spacing to 0.25 px.</p>
<p>So I would have this set to 0.25 px, I'd set this to 14, out set this to Rubik, and I'd set this to regular.</p>
<p>So I'd have this here.</p>
<p>And this is going to be 14 0.25.</p>
<p>And this is going to be Rubik.</p>
<p>And that's sorted.</p>
<p>Now for the button text.</p>
<p>I'll keep this here.</p>
<p>If you come here, you'd see that the button text here has a size of 14 px and a letter spacing value of 1.25 px with a weight that is set to medium.</p>
<p>Now, over here, material design to the button text is all in uppercase.</p>
<p>But in my case, I won't have my text stay in uppercase.</p>
<p>And I think in material design version three, the button text is not represented in uppercase.</p>
<p>So I would go ahead and I'd have this set of 14.</p>
<p>And the letter spacing is pretty big.</p>
<p>So I would have that set to 1.25 px.</p>
<p>And this will be set to medium with the font family sets to Rubik.</p>
<p>And that's what we have here.</p>
<p>Now for the caption text, it's going to be set to 12 px with a letter spacing value of zero points for PX and a normal weight.</p>
<p>So I would come here, I'll keep this here.</p>
<p>And now I have this sets regular, this will be 0.4 px.</p>
<p>And this will be set to 12 Just like this.</p>
<p>And the font family will be set Rubik.</p>
<p>So this is going to be a caption text.</p>
<p>So at this stage, what I'll do is I'll go ahead to save all of these styles that I have created to my style library.</p>
<p>And I think we all know how to do that by now.</p>
<p>So I would speed this process up, I would select this column here, and I would call this headline one out go ahead fast forward this part of the course and come back.</p>
<p>So this is it, I have created and saved the textile that I would need for this project.</p>
<p>So I would come here and I would rename this frame typography styles, just for better documentation, you know, now when I click on my empty canvas, you would see that I have all of my saved textiles over here.</p>
<p>Now let's go ahead and let's create a color styles out.</p>
<p>We'll name this frame to color styles.</p>
<p>I'd save that now out create my color styles based on my meat.</p>
<p>I want to make use of the Material Design Guide to create my color styles.</p>
<p>And that's because you can actually do that.</p>
<p>You can create your color styles your textiles you can create any of your styles without using the Material Design Guide And you can actually mix it, you can create your textiles with the Material Design Guide and have your color styles created from your own inspiration.</p>
<p>So outcome here, I'd like to have a background color here.</p>
<p>So I'll use this my background color, or have a text stay at the top here to indicate that this is for my background color, I would select this text and I would make use of one of my saved textiles.</p>
<p>So I'll go with the body large text there.</p>
<p>So for my background color style, I'd like to use this color.</p>
<p>And that's good.</p>
<p>Let's zoom into this point.</p>
<p>So we can see clearly, and after having a background color, I'll duplicate this use this here, I would love to have a surface color.</p>
<p>And for my surface color, I'd like it to be this color here, you can use any color of your choice, this is my own choice.</p>
<p>So I'll duplicate this, and have this day here.</p>
<p>And this time, I'd like to have a surface text column, you can call this an on surface color, actually.</p>
<p>So I'd like to have a surface text color, which is going to be the color that I'll use to write text on the surface color.</p>
<p>So I'd like this to be white.</p>
<p>Actually, I know this may not be visible.</p>
<p>But I'd like that to be whites just like that.</p>
<p>So I would duplicate this.</p>
<p>Now for us to make this visible out, select it and add a shadow effect.</p>
<p>The next color that out heavier, we called the off text column.</p>
<p>And that's my own choice, I'd like to have another color for my text.</p>
<p>So I would use this shade for my off text color.</p>
<p>And duplicate this.</p>
<p>And I'd have another color here, which is going to be my error column.</p>
<p>And obviously, this is going to be a red color.</p>
<p>So I'll use this shade of red for that, then I'd have this here.</p>
<p>And I'd like to have a second surface color.</p>
<p>And I'd like that color to be just like this.</p>
<p>And that's fine.</p>
<p>So I have selected all of the color styles that I would want for this project.</p>
<p>So I would go ahead and I would save all of these styles to my style library.</p>
<p>And I think we all know how to do that.</p>
<p>So I would select this column here.</p>
<p>And I'd call that background color, I would speed up this process and I would come back to it.</p>
<p>So as you can see, I am done creating and saving my color styles.</p>
<p>And these are my color styles here.</p>
<p>So that's sorted.</p>
<p>The next thing I'd like us to do is to go ahead and create the grid style that we are going to use for this project.</p>
<p>So to do that, I would use a mobile layout, I would use the iPhone pattern Promax layout, so I would have the iPhone 10 Promax layout here, I would rename it to mobile grid style out zooming to this point, I'll keep it selected, then I'll add a layout grid property to it, just like that, then I'd have this big column grid.</p>
<p>Now I have the count before I would have the margin be 16 out have the gotta be 16.</p>
<p>And for the color out go with something like this.</p>
<p>Now, we are sorted for the column grid.</p>
<p>So I would go ahead and add a row grid property to it.</p>
<p>I'll keep it selected still come here.</p>
<p>Now to add another grid property that outset, as a row grid property, just like this out, set the count to 800.</p>
<p>And out set the stretch to center out set the gutter property to zero out come here, I will set the height property to eight.</p>
<p>And that's because I want the space between the row lines to be eight px, then outcome here now change the color something like this.</p>
<p>And that's going to be okay for me.</p>
<p>So I would keep this selected.</p>
<p>Come here.</p>
<p>And I'll save this grid style as my grid style for this project.</p>
<p>So I'll click on style there.</p>
<p>And I'll call this mobile grid style.</p>
<p>You can call it whatever you want to call it.</p>
<p>Now we have three styles saved to our style library, we have our textiles, we have our color styles, and we have agreed styles.</p>
<p>So I would like for us to go ahead and create shadow styles for this project.</p>
<p>To do that, I would come here out have a frame here.</p>
<p>Then I would rename this to shadow styles, when I renamed that to shadow Stiles out have some rectangles right inside that frame.</p>
<p>And the rectangle is just to display the shadow effects and how it's going to look like.</p>
<p>So I'll keep that selected.</p>
<p>I'll make the corner radius to have a value of eight.</p>
<p>I'll give it this column.</p>
<p>And I'll duplicate this and have this here.</p>
<p>I'll just have three shadow effect styles.</p>
<p>So I'll keep that there and outcome here in material design.</p>
<p>Now, go to the homepage out, click on the Search icon there and I'll type in shadow.</p>
<p>When I press the enter key out, have these results show up.</p>
<p>So I would come here, I would click on this link here, that's going to take me to material design version one, bear out make use of the recommendations that they have there for creating shadow styles.</p>
<p>So I would click on that link.</p>
<p>Now come here, and I would use this shadow recommendations that's under the sketch section.</p>
<p>So I want to go with the one DP elevation table here, I'll scroll down, and I'll make use of the 16 DP elevation table.</p>
<p>So I'll use these values here to create my shadow styles.</p>
<p>So I'll create a key shadow and an ambient shadow.</p>
<p>Now on that key shadow, you can see that we have two types of key shadow styles.</p>
<p>We have the Umbra key shadow style and the penumbra key shadow style.</p>
<p>So I'll create an ombre key shadow style first, and for that the Opacity value is set to 14.</p>
<p>So I would come out keep this selected, I would add an effect property, and I would set the Opacity value here to 14, and the X property is set to zero with the Y property set to 16.</p>
<p>So outcome here for the Y property out set this to 16, the X property has already set to zero.</p>
<p>Now the block properties 24, and the spread properties too.</p>
<p>So for the block property out, set it to 24.</p>
<p>And for the spread property out set it to.</p>
<p>And here we have our umbrella key shadow effect.</p>
<p>So I would go ahead and create for the panel, Brad key shadow effect and the MPs shadow effects.</p>
<p>So I would speed up this process also, and I'll come back when I'm done.</p>
<p>So these are the shadow styles that I have created.</p>
<p>So I'll go ahead and out, save them to my style library, the way to do that is pretty easy.</p>
<p>Select this rectangle there, then come here in the Effects section, click on that style icon there.</p>
<p>And you can call this whatever you want to call it out call this light shadow out cold this other one here, mid shadow, and out cold this peak shadow and that's okay.</p>
<p>So far, I have my textiles created, I have my color styles created, I have my effects styles created and I have my grid styles created.</p>
<p>Now at this stage, we are ready to start designing the components for our app.</p>
<p>So I would like us to go ahead and start that.</p>
<p>So the method I would like to use in the designing of our components will go like this, I'd like for us to design our components based on the user task of this app.</p>
<p>Now the first task I'd like us to look at is the authentication task.</p>
<p>So for this task, I'd like us to design all of the components that will be needed to complete this task.</p>
<p>So let's come up here, let's have a text here, I would zoom in to 200.</p>
<p>And I would have a text here, this is going to be the section where I would have all of my authentication components.</p>
<p>So I would come here, I would select this textile to have that there.</p>
<p>So for the authentication task, we have the login form and the signup form.</p>
<p>So for the login form, which components do we have there, we have the input field, and we have the button.</p>
<p>So I would go ahead to design the input field.</p>
<p>So I would come here, I'll just say, inputs.</p>
<p>Now this is going to be my placeholder.</p>
<p>So I would come here and I'll use the body small text for that.</p>
<p>And I would keep it selected, then create an auto layout on it.</p>
<p>Now when I create an auto layout, and it out, add the fill color, like this, then I'll just stretch it to this point.</p>
<p>Now I'll still keep this auto layout selected, come here and make sure that the content of the auto layout is aligned to the left.</p>
<p>And that's fine.</p>
<p>Now for the corner radius property, I would give it a corner radius value of eight to have that now outcome here and I would rename this to impute field.</p>
<p>Now while this is here, I'll select the background color for the input field itself, then the text here, I'll give it this off text color here.</p>
<p>And I'd like this input field to have a stroke color, which is going to be the color of the off text also.</p>
<p>So I can have this.</p>
<p>Now this is sorted, we are done with creating a imputes field.</p>
<p>This impute field is what we are going to reuse for the collection of emails, passwords, phone numbers, so I'll go ahead keep it selected and out, come here and click on Create components.</p>
<p>Now the next thing to create will be our button components.</p>
<p>So I would come here and I would have this text here and for that text outcome here now to select the button text for that Now I'll keep the text selected and I'll create an auto layout on the text.</p>
<p>Now outcome here, for the Button Auto Layout out, make sure the padding around items value is set to 16.</p>
<p>Now, same happened for this, the padding around items value for this input field is also 16.</p>
<p>So take note of that.</p>
<p>Now for this button components outcome here now give it this color, which is the surface color.</p>
<p>Now for the text, their outcome here, and I'll give it the surface text color, which is white.</p>
<p>Now outcome here, I would select the button auto layout, come here, now align the content of that auto layout to stay at the center.</p>
<p>Still keep it selected, come here and give it a corner radius of eight.</p>
<p>And there we have our button components created.</p>
<p>So I would come here out, rename this to button, then come here and click on Create components.</p>
<p>And there we have created our button components.</p>
<p>Now the next component I'd like for us to create here under the authentication task will be the input field, but the users will have to impute their verification code in now that input field will not look like this, it's going to look different.</p>
<p>So I'd like for us to go ahead and do that.</p>
<p>So I would come here, out of habit text here, let's just say zero.</p>
<p>And I'll keep the number selected, then go ahead and create an auto layout on that number.</p>
<p>Now I'll keep the auto layout I just created selected, come here and align the content of the auto layout to stay at the center of the auto layout, then I'd come here and add the fill color to that auto layout.</p>
<p>Now I'd come here, I would select the pencil.</p>
<p>And I'll just draw a line horizontally, then I'd click on Done.</p>
<p>And this line I just created here will be grabbed and taken into that auto layout that has that number zero.</p>
<p>And you can see that the line is placed here.</p>
<p>Now what I'll do is this outcome here, inside this auto layout, now I would select this straight line that I created, which is called vector one here, when I select it, I would come here and now change its horizontal resizing value from fixed width to fill container.</p>
<p>So that I can have that now I have a problem here, the padding around value for this auto layout is really big.</p>
<p>So I would select the auto layout outcome here and I would set it eight.</p>
<p>When I set it to eight, it's going to look like this.</p>
<p>Now I'd like it to be like this, because if I am placing these components on my screen, I would most likely increase the width.</p>
<p>And as you can see, when I increase the width, the number zero just stays the way it is.</p>
<p>But the line itself stretches across the container, which is actually what I want.</p>
<p>So this is okay, now, now seems the verification code will be a four digit verification code, I like to have this component go into four places.</p>
<p>I'll go ahead and do that.</p>
<p>So I'll keep this component selected.</p>
<p>And I'll create another auto layout on top of it like this.</p>
<p>Now this auto layout that I just created is called prim to out, keep it selected, come here and now it sets its direction property to horizontal direction.</p>
<p>When I set that to horizontal direction, I would come here and I would set the padding around items value to zero, just like that.</p>
<p>Now outcome here now expand the frame to auto layout.</p>
<p>Now just so that I can access the frame one Auto Layout inside of it.</p>
<p>Now when I select that frame one Auto Layout inside of it, I'll duplicate it.</p>
<p>And you can see that I have duplicated this into four places.</p>
<p>Now I'll come back here how to select the frame to auto layout, and how to set the spacing between items value to zero, just to have this now let's check to see if this auto layout itself is a responsive auto layout.</p>
<p>So I'll keep it selected still an outcome here and I'll try to expand it.</p>
<p>And as you can see if I expanded horizontally, the layout itself is not responding to that expansion.</p>
<p>So I would Ctrl Z to go back to how we were before.</p>
<p>And at this stage, what I'm going to do is this out, select the individual sub Auto Layout inside this main Auto Layout out select this one, which is frame one outcome here now to set its horizontal resizing value to pill container.</p>
<p>And I'll do that for all of them just like that.</p>
<p>Now when I select the frame to auto layout now and I increase the size horizontally, you will see that it's all responsive.</p>
<p>And that's what I want.</p>
<p>So I would keep this here, I would rename these two, verification imputes keep it selected, come here and click on Create component and that's sorted.</p>
<p>So at this stage, I'd like for us to go ahead and create our authentication screams.</p>
<p>So let's create a section for that.</p>
<p>Not a page actually.</p>
<p>I'd say authentication screams authentication Hi Fi screens just like this.</p>
<p>So I would come here, I'd have an iPhone that in Promax screen here, and I would rename this, make sure you rename your layout at this stage.</p>
<p>So I would rename this to splash.</p>
<p>And we all know what the splash screen is.</p>
<p>Yeah, that's the screen you see, when you launch an app for outcome here, I'll change the color of the splash screen to this.</p>
<p>And on the splash screen, I'd like for us to have the logo of the brand.</p>
<p>And the logo of this brand is really easy.</p>
<p>It's just VXS t, just like that.</p>
<p>So I would keep the text selected outcome here, now go with the headline to bold, and I'd work with this.</p>
<p>So I'll keep that text selected, come here and align it horizontally and align it vertically.</p>
<p>And that's okay.</p>
<p>So this is our splash screen.</p>
<p>So after the splash screen, the next screen to create will be the screen where the user will have to select the authentication action.</p>
<p>So I will duplicate the splash screen, I'll take this out.</p>
<p>And I'll change the color of this screen now to this, then come here and rename it of selection.</p>
<p>You can call it whatever you want to call it.</p>
<p>Now over here, out, bring in the button components out, go to my Assets panel out, bring this in and out, align it to the center horizontally, now expand it to this point.</p>
<p>Now for me to expand it properly, I would need to apply my grid style on this layout.</p>
<p>So I would come here and now apply my mobile grid style here.</p>
<p>So that I can use this as my guide to properly expand these buttons.</p>
<p>So I'd like the button to take up two column grids.</p>
<p>And that's what I have here.</p>
<p>So I would come here, I'll change the text to login.</p>
<p>And I would bring in another button components here.</p>
<p>And I'll change these to get started.</p>
<p>Now outcome here, select this button components and change its color to this just to make a difference.</p>
<p>So I would keep this here.</p>
<p>And I'll keep this here.</p>
<p>And that's fine.</p>
<p>So I would select this, and now align it to the center vertically.</p>
<p>And I'd bring this in place this Get Started button right under this login button.</p>
<p>But I'll use the row grid to ascertain the space value out give to that.</p>
<p>So I have 1234 rows here, and it's into four places is 32.</p>
<p>So I have a 32 px bottom margin space between this login button and the get started button.</p>
<p>Now I think the row grid is not really visible.</p>
<p>So I would come here, I'd go to my row grid saved style, I'd click on Edit style out, select rows and out, increase the opacity of that color to 20.</p>
<p>So this is sorted, this cream is sorted.</p>
<p>Now if the user goes ahead to click on the login button here, it means the user will go to the login page, right.</p>
<p>So I'll create that now.</p>
<p>So let's zoom in.</p>
<p>Let's take this out.</p>
<p>And let's click on layers and change the name of this frame to log in page.</p>
<p>And what I'll do is this when I zoom in, I'll bring this here.</p>
<p>So what I'll do is I'll just have logo stay here, out, come here now to select headline to bold, that's too big out GUI headline three board, that's okay.</p>
<p>So out align it to stay at the center horizontally, and I'll bring it down to this point, then I'll change the color to this.</p>
<p>Now what I'll do next is to have my login form created.</p>
<p>And I'll do that with my input field here, which is this.</p>
<p>Now I'd like this input field to stretch from here to here, just like that.</p>
<p>Now, this input field would have a label here.</p>
<p>So I'll just give it a label here that says enter email address.</p>
<p>I'll keep label here.</p>
<p>Now the space between this liberal and this input field is 16 px have two row spaces between this label text and this input field.</p>
<p>Now for the input field, I'll change the placeholder text from inputs to enter email address.</p>
<p>That's okay.</p>
<p>So I would come here, I'd have another input field here, which is going to be used for the password.</p>
<p>So I'll change the placeholder here to enter password.</p>
<p>And I'll give this input field its own label or duplicate this.</p>
<p>And first of all, I would say okay, the space between this input field and this liberal text should be 1234568 times six is 48.</p>
<p>So I'd like a 48 px margin space between this input field and this liberal text.</p>
<p>So that's sorted.</p>
<p>Now I'd like a 16 px space between this liberal text and this impeach field.</p>
<p>So I would come here and I'll edit this from enter email address and password.</p>
<p>That's okay.</p>
<p>let's align this properly.</p>
<p>So the next thing I'd have here is the login button.</p>
<p>So I'll bring a button component here.</p>
<p>And for this button components, I'd like to have your margin space here of that two px.</p>
<p>So it's going to be 1234.</p>
<p>So I'll bring this here, place this there.</p>
<p>And let's zoom out, let's stretch this to this point and stretch this to this point, then I'll change the text of the button to login.</p>
<p>Let's see how it looks.</p>
<p>Okay, this doesn't look really good, the spacing is not really consistent.</p>
<p>So I'll zoom out.</p>
<p>And I'd have the space between this label text and this input field to be 32 px, actually, so it's going to be 1234.</p>
<p>So I'd have that stay there.</p>
<p>And I'd have this stay here.</p>
<p>Then I'd have 123456, which is 48 px.</p>
<p>So let's see.</p>
<p>Hi, looks.</p>
<p>So this looks okay.</p>
<p>Now, I like us to have a text here, which is going to be the forgot password.</p>
<p>txt, forgot password.</p>
<p>So let's keep this here.</p>
<p>And let's have that stay 16 px away from this input field and 16 px away from this button component.</p>
<p>So I would select the text, and I would make sure it is a body small text.</p>
<p>And that's okay.</p>
<p>So I'll just zoom out, you can see that we have that.</p>
<p>So I would go ahead and create the signup page for our authentication task.</p>
<p>So I would come here, I'll click on layers, and I would rename this to sign up page.</p>
<p>And if you come here, the only difference we are going to have here is the fact that we are going to have an additional input field to collect the user's phone number.</p>
<p>So this means that I'll take this out for now, take this out for now.</p>
<p>And I'd have another placeholder here, which is going to have a margin top space of 32 px, which is 1234.</p>
<p>I'll bring this here and out, bring in an input field, which is going to stay here, then out, stretch the input field to this point.</p>
<p>Now I'll use this second input field to collect the user's phone number.</p>
<p>And I'll change the placeholder here to phone number, then I'll use this thought imputes field to collect the user's password, just like that.</p>
<p>Now I'll go ahead and I'll bring in a button here.</p>
<p>And this button is going to have a 48 px margin top space, it's going to be 123456.</p>
<p>I'll bring this here.</p>
<p>And I'll change the text here to sign up.</p>
<p>So I'll zoom out, I'll keep this selected out, stretch this to this point and out, stretch these to this point.</p>
<p>And that sorted, so we have created a login screen and our signup screen.</p>
<p>Now when the users click on the Sign Up button here, the users will be taken to that page where they would have to enter the verification code that was sent to their phone number.</p>
<p>So we are going to go ahead to create that page.</p>
<p>So I would come here and out rename this verification page.</p>
<p>And I'll take all of this out over here.</p>
<p>After the logo, I would have a rectangle that's going to be that's going to be this big.</p>
<p>I like the rectangle to be 48 px tall rectangle, just like this out, zoom out, or have this here and out, stretch the rectangle to this point.</p>
<p>And I'd have the rectangle have this background color.</p>
<p>Now on this rectangle, I would have a text that says a verification code has been sent to just like that.</p>
<p>So I'll keep this text here.</p>
<p>And I'll use a body small text for that, then out align the text to the center horizontally, then I'll keep this text aligned to the horizontal center of the page, just as the like this.</p>
<p>And that's okay.</p>
<p>And that's okay.</p>
<p>So I'll go ahead and bring in that input components for the verification code.</p>
<p>But before I do that, let's change the color of this text.</p>
<p>So I would come here, and I'll give you this color.</p>
<p>Then I'll click on the Assets panel now and I'll bring in this component.</p>
<p>Now for this component, I'll keep it selected First things first, I'll change the color of that components out, select the individual items inside the components.</p>
<p>And now change these to the background color that we have.</p>
<p>Just like this.</p>
<p>And that's okay.</p>
<p>Now for the lines that we have, I'll change the color of all those lines to this.</p>
<p>And for the numbers.</p>
<p>I'll change the color of the numbers to this.</p>
<p>And that's okay.</p>
<p>So I would keep this selected.</p>
<p>Now increase the width to this point.</p>
<p>So let's zoom in.</p>
<p>So now we can organize this properly.</p>
<p>So I will keep this here and how to snap the heights.</p>
<p>This points just like this.</p>
<p>So I'd have a placeholder text there.</p>
<p>That's going to say enter very occasion code, just like this.</p>
<p>And now change the color of that text to this.</p>
<p>So let's go ahead, and let's change the color of this label text that we have here to this, change this to this, come here, change this to this and change this to this.</p>
<p>Now for the Enter password text here, I'll change this also.</p>
<p>And for the Forgot Password text, I'll change this.</p>
<p>And that's okay.</p>
<p>Now, let's go back to our verification code page.</p>
<p>And let's have this button come up to this point.</p>
<p>So it's going to be 123456.</p>
<p>Out keep this here, and I just have a verified text, just like that.</p>
<p>So at this stage, we have created a verification page for our authentication task.</p>
<p>Now when the users click on the Verify button, we are going to need a pop up that would show up on the screen to let the users know that their verification has been successful.</p>
<p>Now, how do we create that pop it simple outcome here, I would select the frame to now creates a pop up just like this.</p>
<p>Now the reason I'm creating this here is so that I can use the width of this layout to set the width of this pop up.</p>
<p>Now the definite way to do this is this, if you come here, and you select this page, you will see that the width is 428.</p>
<p>Now the margin space on this layout is 16.</p>
<p>Here, and 16 here, which is 32, right, so to get the container space here, and use the width of the container space for this, my pop would be me subtracting 32 from 428.</p>
<p>So I would just select this outcome here, I would say four to eight minus 32.</p>
<p>And that's going to be the width for my pop.</p>
<p>And this is it as easy as that.</p>
<p>So I would come here and I'll give it a corner radius of eight, then I would go ahead and I'll give it this background color, when I give it this background color, then I'll have a text right inside that layout that's going to say, pull number verified, or whatever you want to say.</p>
<p>So I would come here and I would select a better textile.</p>
<p>For that, I would go with the body large textile just like this out, align it to the center horizontally, now out bring in the button components here and out have a Proceed button here that the user will click on to go to the homepage.</p>
<p>And we are done creating this.</p>
<p>So I would select this, go to the Layers tab and out, call this verify popup just like that.</p>
<p>So that pop up is going to show up when the user enters their verification code here and click on the Verify button.</p>
<p>So I'll grab this now.</p>
<p>And I'll place it here.</p>
<p>And that's fine.</p>
<p>So at this stage, I'd like to say that we are done with creating all of the screens that we need for our authentication task.</p>
<p>So this is going to take us to the next task of our app.</p>
<p>And that task is actually the fund task where users will have to fund their wallets or their accounts so that they can invest.</p>
<p>So I would come here, and I'd have this here.</p>
<p>I'll change this to fund accounts.</p>
<p>So all of the components that are heavier will be the components that will aid the user to fund their accounts on this app.</p>
<p>So let's go ahead and let's do that.</p>
<p>Now what you need to take note of is this, for a user to fund the account, the user will have to go to the homepage of the app first, right? Because it is from the homepage, that dude see the fund account button.</p>
<p>So what does this mean? This means that we need to create components for the homepage and have our homepage sorted first, before we handle different account routes.</p>
<p>So let's go ahead and let's do that.</p>
<p>On the homepage, the first component that we are going to have will be a card components that will display the balance that we have in our account.</p>
<p>And it is still on that card components that we are going to have the one account button.</p>
<p>So let's go ahead and let's create that.</p>
<p>So I would have a text here is going to say primary accounts, I would keep that text selected.</p>
<p>And I would set the typography style to body small boat.</p>
<p>Now let's zoom in to 200.</p>
<p>So this is it.</p>
<p>Now outcome here and I'll create another text, which is going to be like the account number or the account ID I would say this and I'll keep that selected also.</p>
<p>Now I would set this to body small.</p>
<p>So now I would select both of these, and I'll create an auto layout on the both of them.</p>
<p>Now when that auto layout is created out make sure that the padding around items value is set to zero for now.</p>
<p>Now outcome here How to select this text and how to set its horizontal resizing value to fill container out, select this here, and how to set its horizontal resizing value to fill container.</p>
<p>And for the height outcome here and out sets the height property here to auto height to make it balanced.</p>
<p>Now we have this created to outcome here, I'll add a fill color to this.</p>
<p>Now, I'll duplicate this, I'll bring this here.</p>
<p>And I'll change this text to account balance, or let's just say available balance.</p>
<p>Actually, that's not the account balance, I would say available balance, and here I'll write down the available balance, that's fine.</p>
<p>So I'll keep this here also.</p>
<p>Now, what I'll do is I would select these two auto layouts, and now add an auto layout on the both of them for this new auto layout that I have created, I would come here and I would set the spacing between items value to 24.</p>
<p>And out select this auto layout that inside this new auto layout, and how to set its horizontal resizing value to fill container.</p>
<p>And I'll do that for this also.</p>
<p>Now I would select this new auto layout and add a fill color of white to it to have this now you can see that this is actually responsive.</p>
<p>And that's okay.</p>
<p>Now, I'd like to bring in a button component and place it inside this auto layout so that that button will be used for the font accounts action.</p>
<p>So I would come here and bring in a button component here, then how to select that button component in the in the design tree here, hold it and grab it into this frame seven auto layout, which is our auto layout.</p>
<p>And you can see that the button component is placed inside this auto layout.</p>
<p>Now I'd like this button component to look different.</p>
<p>So I would keep it selected.</p>
<p>Come here and I would set its top padding value to eight and its bottom padding value to eight.</p>
<p>So I can have this now change this text to font accounts, just like this.</p>
<p>And that's okay.</p>
<p>Now I'll go to the feather icons plugin.</p>
<p>And I look for an icon that out place on the right side to make the components just look better.</p>
<p>Let's come in here, let's just type in home.</p>
<p>I'll bring this in actually bring this here and replace it here.</p>
<p>Now I would select all of these and I'll create an auto layout on all of them.</p>
<p>Now a new auto layout called frame eight has been created.</p>
<p>Now inside this frame eight auto layout, we have this auto layout here and this icon.</p>
<p>So I would select this auto layout now that's inside the frame.</p>
<p>It's auto layout.</p>
<p>And now to set the value for its horizontal resizing property to fill container.</p>
<p>And I'll leave this set to fixed we know how to select the frame.</p>
<p>It's Auto Layout now, which is a main Auto Layout now, and I would come here and I would set the spacing between items value to 24.</p>
<p>When I do that, I would come here and add a fill color to this.</p>
<p>Now add the fill color to the auto layout to have this.</p>
<p>And the final thing I'll do here is to come here and set the padding around items value to 16.</p>
<p>When that's done, I'll give it a corner radius of eight.</p>
<p>To have this now I can expand this to this point like this.</p>
<p>And you can see that this component is responsive.</p>
<p>And that's that.</p>
<p>So let's go ahead and let's play around with the colors of the elements on this component.</p>
<p>So I would select this text here, and I'll give it this color, I would select this now give it this color do same for this and do same for this then for this out select the icon itself, and that's fine.</p>
<p>So I would rename this to balance card, or whatever you want to call it.</p>
<p>I will keep it selected and now click on Create components.</p>
<p>And here we have our components created.</p>
<p>So on the home page Still, I'd like to display a list of recent transactions that's been carried out on the app.</p>
<p>So let's go ahead and let's create a component that's going to serve that purpose.</p>
<p>So I'd come here out create a text out call that deposit come here now to select the body large bold text then I'd come here now create another text and I'd have this which is going to be a dates that deposit happened.</p>
<p>So how to select these two text and how to create an auto layout on the both of them.</p>
<p>Now how to select this text inside the auto layout and how to set its horizontal resizing value to fuel container.</p>
<p>Now do that for this also.</p>
<p>Now out select the auto layout and how to set it spacing between items value to four.</p>
<p>And that's okay.</p>
<p>Now for this deposit text.</p>
<p>I'll change the color to this.</p>
<p>And for the date here.</p>
<p>I'll change its color To this, and that's okay.</p>
<p>So I'll keep this here.</p>
<p>And the next thing I'll do is to have a frame here, that's going to be 48 by 48.</p>
<p>I'll keep it selected and out, give it a corner radius of 100.</p>
<p>To make it round, then I'll go to the feather icons plug in and out have an icon there, that signifies incoming, which is this, I would select this icon now, and I'll place it on top of this 48 by 48 px frame that I created.</p>
<p>When I placed it there, I would come here now to set its constraints value two center for the horizontal axis and center for the vertical axis.</p>
<p>And that's okay.</p>
<p>Now select this frame, which is now a circle and out set its color, let's set it to green like this.</p>
<p>And for the icon, outset, it's colored this and that's okay.</p>
<p>Now for this frame, now that I have created, I'll bring you to our PC here, and how to select all of this and out create an auto layout on the both of them.</p>
<p>Now for this new auto layout, I would come here and I would set it spacing between items value to 16.</p>
<p>And I would come here now to set its alignments value to the center just like this.</p>
<p>Now out keep it selected to come here and add a fill color to it just like this.</p>
<p>Now I would come here now and I would create this text.</p>
<p>And this text is going to be a body large bold text, I would come here and create another text, which is going to just like display the balance out keep that selected and out make it a caption text, just like this.</p>
<p>Now to select both of them, create an auto layout on the both of them and sets the spacing between items value to for now to select the text inside the auto layout now and how to set its horizontal resizing value to feel container to have that and that's sorted.</p>
<p>So I'll select this now and I'll give it a fill color of white.</p>
<p>Now for the color of the text out set this to something lights like this.</p>
<p>And this will be something like that.</p>
<p>Now what I'll do is I'll select all of these and I'll create an auto layout on all of them.</p>
<p>First things first out align the content of the auto layout to stay at the center, then I'll add a fill color to the auto layout to have this now for the spacing between items value of this new auto layout.</p>
<p>Now, I like to set it to 76.</p>
<p>And that's okay.</p>
<p>Now for the padding around items value, I'd like to set this to eight.</p>
<p>And that's okay.</p>
<p>Now let's check to see if this auto layout is responsive.</p>
<p>As you can see, it's not.</p>
<p>So let's sort that out.</p>
<p>And to sort it out is really easy.</p>
<p>I would select this frame here, this auto layout here, I would select this auto layout here.</p>
<p>And I'll set its horizontal resizing value to fill container.</p>
<p>Now when I set this to fill container out, select the auto layout that's inside it, which is frame eight and out set its horizontal resizing value to fill container also, now I'll make sure all of these sets of field container so I'll select the items to be sure that they are also set to feel container.</p>
<p>Now when I select the frame 12 Now, which is our major frame, you would see that this is now responsive.</p>
<p>And that's okay, so I'll keep it selected, come here and now set the corner radius value to eight.</p>
<p>And I have this I'd like to duplicate this to have a withdrawal component where the circle is going to be red and the icon is going to be different.</p>
<p>So I would set the position of this icon to let's set it to 180.</p>
<p>That's the angle position.</p>
<p>That's what I'm setting here.</p>
<p>Or you can call it the rotation property of that icon.</p>
<p>So I'm setting it to 180 degrees.</p>
<p>And I'll change this with roll.</p>
<p>Then you can change all of these details.</p>
<p>If you want to change them out, select the circle itself, which is this frame, and I'll change the color to this and that's okay.</p>
<p>So outcome here out, select this out, rename this to withdraw our card, keep it selected, make it a component, okay, that's supposed to be deposit card.</p>
<p>So out select this column here and out, rename this to deposits card.</p>
<p>Keep it selected.</p>
<p>Come here and click on Create components.</p>
<p>Then select this.</p>
<p>Rename this to weave Travel Card, keep it selected and make it a component and that's sorted.</p>
<p>Still on the homepage.</p>
<p>We are going to have a banner that will be used to copy referral links.</p>
<p>So I would go ahead and out creates that.</p>
<p>So I'd have this text here.</p>
<p>that's going to see invites your friends out, keep that selected.</p>
<p>And I would go with this textile here, which is the body large bold textile.</p>
<p>And I'd have another text here, that's going to be invite your friends with this pack code.</p>
<p>And I'll go with the caption textile here.</p>
<p>And that's cool.</p>
<p>So I would select this, when I select it, I would create an auto layout, and outcome out sets the spacing between items value to eight, then out, select the text items inside this auto layout and how to set these to fill container.</p>
<p>And I'll do that for this also.</p>
<p>Now the next thing I'd like to do is to have a frame layout here, that's going to be 48 by 48.</p>
<p>And I'll keep it selected still out, give it a corner, reduce value of 100, then come here and give it that color.</p>
<p>Now I would go over to the feather icons plugin and Outlook one and I would look for an icon I can use on that.</p>
<p>So I like to use this icon here, I would select it, or bring it here and place it on this frame layout.</p>
<p>Now when I placed there, I would make sure it's at the center, then I'd come here now to set its horizontal constraints value to center and its vertical constraints value to center.</p>
<p>And that's okay, now select that icon, then I'll set its color to this.</p>
<p>And that's okay now to select all of this creates an auto layout on it.</p>
<p>So I would come here and I would align the contents of that auto layout to always stay at the center.</p>
<p>Now I'll keep this auto layout selected, and I'll give it a fill color which is going to be the background color like this.</p>
<p>Now, I would select this auto layout that is inside this main auto layout.</p>
<p>Now as you can see, it's the brim 12 auto layout that has this text, when I select it out, come here, and I'll set this to fill container.</p>
<p>And when I select the main auto layout, now you'd see that this is a responsive auto layout, which means we are good to go.</p>
<p>Now for the spacing between items value of this auto layout, I like to set it to 24.</p>
<p>And for the padding around items value, I'd like to set it to 16.</p>
<p>To have that, then come here and set the corner reduce value to eight.</p>
<p>And here we have a component.</p>
<p>So I would keep this selected.</p>
<p>Now rename this to refer our banner, then come here and click on Create component to make it a component.</p>
<p>And that's okay.</p>
<p>Now on our homepage, we have one final component, which is going to be a very interesting components to create.</p>
<p>And that's going to be the navigation components on our homepage, which is going to be at the bottom.</p>
<p>So let's see how we can create that components before we put our homepage screen together.</p>
<p>So I would come here and I would get the home icon from the feather icons plugin.</p>
<p>I'll type in home there, I'll bring this in.</p>
<p>Now I'd like to zoom in at this point so that you can see clearly, when I placed this icon here, I would come here and I would create a text.</p>
<p>And I'll call that home.</p>
<p>Now for this home text, I would create an auto layout on it.</p>
<p>And I would set the padding around items value for that auto layout zero, then set its alignment position to the center.</p>
<p>Now select the Home text that is inside this auto layout.</p>
<p>And now to set its horizontal resizing value to fill container.</p>
<p>Now out keep this text auto layout here, then I would select the Home icon and that text auto layout.</p>
<p>And I will create an auto layout on the both of them.</p>
<p>Now this auto layout is frame 15.</p>
<p>What I'll do now is I would come here and I would set the spacing between items value for this auto layout to for when I do that, I would come here now to set the alignments of the contents in that auto layout to always be at the center.</p>
<p>Now outcome here and how to select the Home auto layout and how to set its horizontally resizing value to fill container.</p>
<p>And that's okay, just stretch this and it's going to be sorted.</p>
<p>Now at this stage.</p>
<p>What I'll do is this out have a frame layout here.</p>
<p>That's going to be 48 by 48.</p>
<p>And I'll grab this pre empting Auto Layout now and I'll place it on this 48 by 48 px frame layout, make sure it's at the center.</p>
<p>When I place it at the center, I would select the frame 16 frame layouts, which is our 48 by 40.</p>
<p>It's layouts now and I would make it an auto layout.</p>
<p>Now when I make it an auto layout, I'll bring it here and I'll rename this to Home link.</p>
<p>Now after I rename it to HomeLink outcome here and now set its alignment to the center so that the content of that auto layout will always be at the center.</p>
<p>Now the padding top value is set to three out, set it to four, just so that we are going to have even numbers all around, I would set this to four also, and this outset four, and this outsets.</p>
<p>Four, just to have this.</p>
<p>So at this stage, what I'd like to do now is to have other navigation links.</p>
<p>So I'll keep this home link Auto Layout selected, and I'll create another auto layout on top of it.</p>
<p>Now this auto layout that I just created has a padding around items value of 16.</p>
<p>Yeah, I'll leave it set to 16.</p>
<p>Because actually, that's what it's supposed to be now outcome here out, expand this new auto layout, and how to select the Home link or to layout and I'll duplicate it like this into three places.</p>
<p>And that's because I want to have just three items there.</p>
<p>Now outcome here, I'll change this from home to invest.</p>
<p>And I'll change this from home to transact.</p>
<p>Let's select our frame 16.</p>
<p>And let's add the fill color to it to have this.</p>
<p>So if I expand the frame 16, you'd see that the icon and the text is just that it's not responsive.</p>
<p>So I'd like to change that.</p>
<p>So to change that out, select this home link sets these to fill container, select this, do that also select this and do that also.</p>
<p>Now when I select frame 16, and I increase the width horizontally, you would see that this text wrap into the next line is actually fixed.</p>
<p>So for this icons, let's go ahead and let's change this icon to a better icon and these two are better icon.</p>
<p>So I would come here, I would go to the feather icons plugin.</p>
<p>And I would like to have this icon.</p>
<p>So I'll bring this here.</p>
<p>And I would come in here and I will trace the auto layout that has that you can see it's still called Home link, I'll change that to invest link, when I change it to invest link, you'd see that to have the home icon inside here.</p>
<p>So I would come here now, I would select this bar chart icon now.</p>
<p>And I'll take it inside the InVEST link auto layout.</p>
<p>Now place it right inside here.</p>
<p>And you can see that it is here at the bottom.</p>
<p>So I would select the Home icon and out, delete it with the delete key on my keyboard, then come here, grab this invest icon, hold it and take it upwards like this.</p>
<p>So I'll go ahead and I'll do same for the transact link here.</p>
<p>So I'll keep this selected.</p>
<p>Come here out, rename this to bottom navigation, keep it selected and click on Create components and that components has been created.</p>
<p>So at this stage, we can go ahead to make use of all of these components in designing our homepage.</p>
<p>So to design our homepage, out, come here out, select the frame to and I'll bring in an iPhone fatin Promax frame here.</p>
<p>Now zooming to this point, now I would select this iPhone 13 Pro Max frame, rename this to home.</p>
<p>When I do that, I would come here and how to apply the grid style on it.</p>
<p>And when I do that, let's zoom in to 200.</p>
<p>out go ahead and I would bring in the menu icon using the feather icons plugin.</p>
<p>So I'll use that one there.</p>
<p>Now whenever you bring in an icon and you want to place it into a layout, make sure the icon is inside that layout here in the design tree.</p>
<p>As you can see, currently, this icon which is aligned justified is not placed inside this layout, which is our homepage.</p>
<p>So what I'll do is I would come here in the design tree, click on it to select it, hold it and drag it into the home layout.</p>
<p>And as you can see it is now inside the home layout.</p>
<p>So I would come here, and I'll place this here.</p>
<p>So I would count it row spaces from the top 1234567 and eight.</p>
<p>And that's okay.</p>
<p>So I'll have a text here.</p>
<p>So I can come here and I can say hi and for laka.</p>
<p>Now I'd like to call your attention to something important.</p>
<p>And that is the fact that as you can see here, I have the name of the user written here, which is N for lucky.</p>
<p>Now the question you should ask is this, how did I arrive at displaying the name of the user here when in the signup form, I did not collect the name of the user.</p>
<p>If you remember, in my signup form, I only collected the email address the phone number and the password of the user, which means that the app itself does not have a record of the name of the user.</p>
<p>So the question you'd ask, which is no malice.</p>
<p>How did I arrive at displaying the name of the user here? Now this is going to be your first assignment in this course, because I'd like you to come here in the authentication section here and refactor the authentication flow here.</p>
<p>To collect the name of any user that's signing up to this app.</p>
<p>Now I'll leave this open without giving you a guide on how to do that.</p>
<p>I'd like to see your thoughts process on how to refactor this authentication process with the best experience.</p>
<p>And also with the fact that you would collect the name of any user signing up to this application.</p>
<p>If you think coming here and adding another field for the name collection is fine, go ahead and do that.</p>
<p>If you have another idea that can make the experience better, go ahead and implement that.</p>
<p>Now when you implement the name collection in the authentication task here, go ahead tagged me on social media for my comments.</p>
<p>That's your first assignment in this course, then I can have another text here.</p>
<p>I'll bring this here.</p>
<p>Now the next thing I'd like to have here is the balance card.</p>
<p>So I would come here in the Assets panel, and I'll bring this component in like this.</p>
<p>Now, I'd like to have four row spaces between this text and the balance card.</p>
<p>But before I do that, I like to keep this balance card selected, then come here and apply my shadow style that I saved.</p>
<p>So it so I would go with image shadow like this.</p>
<p>Now let's zoom into this point.</p>
<p>And let's make sure we have four row spaces.</p>
<p>And that's okay, let's zoom out.</p>
<p>Now what we are going to do is to stretch this to this point.</p>
<p>And that's going to be successful because our components is a responsive component.</p>
<p>So nothing is going to break.</p>
<p>And this is okay.</p>
<p>So I would come here at the bottom here, out, snap this to this roll line.</p>
<p>And that's sorted.</p>
<p>So the next thing I'm going to have here is a text that's going to say recent transactions out, keep that selected and out go with a body large bold text.</p>
<p>So I'll make sure I have 1234 Group spaces there.</p>
<p>And that's sorted.</p>
<p>So I'd have that there.</p>
<p>And I would select a different color for that.</p>
<p>I'll go with this.</p>
<p>Now for this also out have this color set this now just in case I forget to set the color of the text as I proceed, you go ahead and do that.</p>
<p>So I would select this icon also now change the color to this, that's okay.</p>
<p>Now right on that this will be sent transactions text out have those transaction cards there.</p>
<p>So I'll bring this in, which is the opposite cut out, give me the shadow style outcome here.</p>
<p>I'll give it a meet shadow style there.</p>
<p>Let's zoom out to this point.</p>
<p>And I'll just stretch this to this end here.</p>
<p>And I'll make sure this snaps properly too.</p>
<p>And that's not going to be a problem because a component is responsive.</p>
<p>So let's look at the space in between this card and this text out zooming, you can see we have 123 I'll make this four.</p>
<p>Let's zoom out.</p>
<p>Okay, that's actually too far away.</p>
<p>So I'll bring this here, I'll have two row spaces.</p>
<p>Okay.</p>
<p>So I would have this one here.</p>
<p>So I'd have two spaces from this text to this card.</p>
<p>And if I select the text, you'd see that I have one row space and two space before this card.</p>
<p>And that's okay.</p>
<p>So what I'll do now is I would go ahead, I'll duplicate this.</p>
<p>And when I duplicated, I'd make sure I have just one row space, which is SPX, I'll bring in this other one, which is four, which is for a withdrawal event.</p>
<p>Outcome.</p>
<p>Yeah, I'll give it a meet shadow out, zoom out and out, snap this to this points.</p>
<p>And I'll make sure it's just eight px space.</p>
<p>So I'll bring this here and that's okay.</p>
<p>Now I'll have just three recent transactions here.</p>
<p>So I'll go ahead and bring in this referral banner and upload it here.</p>
<p>So I'll make this snap to the end also, just the other point, now zooming, and I'll make sure I have a consistent space in here.</p>
<p>So I'll have a 48 px margin space over here, which is going to be six row spaces, right.</p>
<p>So I'd have 123456.</p>
<p>So I'll bring this in place here.</p>
<p>So I'll zoom out, and at this point, what I'll bring in will be a bottom navigation components.</p>
<p>I bring it up let's see here.</p>
<p>Let's zoom in and let's make sure this is properly placed.</p>
<p>As you can see I have properly placed this so I would keep it selected.</p>
<p>Come here and I'll change the fill color to this out select this, change the fill color to do this, select this select this I'll change the fill color to this now select the icon itself now change the fill color to this or do that for this also.</p>
<p>And I'll do that for this also.</p>
<p>Now for the text out select the text and I'll change the fill color to this and that's okay.</p>
<p>Now for the text color of this navigation link.</p>
<p>I like the text color actually to be pure white so that it can be really present there.</p>
<p>And I think this is better.</p>
<p>And that's it.</p>
<p>So we have just designed our homepage now using the components that we created.</p>
<p>So I would also advise that while designing, it's also good most times to test what you're designing, so I would select this column here, and I would click on present to see how this is going to look like actually.</p>
<p>So this doesn't look good like this, I like to present this inside an iPhone device.</p>
<p>So outcome here, click on prototype, click on prototype Settings and select a device here, which is iPhone 13 products.</p>
<p>When I do that outcome, help select this layout once more, and I'll click on present again, that's going to sort it.</p>
<p>And this is what we have, this looks good, you can come here and present this in full screen just like this, to see it better.</p>
<p>So let's go ahead and let's keep designing our application.</p>
<p>So I'll press the Escape key on my keyboard to go out of that full screen display and not come back here.</p>
<p>So the next action I'd like to design for will be the action of the user clicking on different accounts button.</p>
<p>So when the user clicks on the fund accounts button, I'd like to display a pop up that will allow the user choose the method in which they would like to fund the account with and that's easy, because we have actually created a pop up before.</p>
<p>So I would come here, I'll duplicate this pop pop, and I'd have the Pop Pop stay here.</p>
<p>And right inside this pop up here, I would have one button here, which is going to say bank transfer.</p>
<p>And I'd have another button here that's going to present the option to fund the account with a debit card.</p>
<p>So I'd have this the here and now expand this to this point.</p>
<p>Now expand this to this point.</p>
<p>I'd also keep this here and expand this to this point.</p>
<p>Now to expand this to this point, I'll keep it selected and how to center it horizontally.</p>
<p>So outcome here, I'll bring this downwards.</p>
<p>And I'd have it textured that's going to say select method.</p>
<p>So I'll change the color of that text to this.</p>
<p>And that's going to be cool.</p>
<p>So I would select this pop now, and I would rename it from verify pop to bond method pop up, keep it selected, and I would make it a component.</p>
<p>And that's going to be it.</p>
<p>So when the users click on bond account here, they would have this pop pop show up asking them to choose the method in which they would like to fund their account with now let's say the select the bank transfer method, they will be taken to the page where they would have that happen.</p>
<p>So for that out creates that page now.</p>
<p>So I would come here, I'll duplicate this, and I would rename it bank transfer, when I rename it to bank transfer, I would come here and I would take all of these outs.</p>
<p>And I would also take the bottom navigation out also.</p>
<p>So what I'd have here is an icon that will direct the users back to the previous page.</p>
<p>So I would go to further icons.</p>
<p>When I come here, I would scroll down, and I would select this icon for that.</p>
<p>So I'll take this out.</p>
<p>And I'll bring this here.</p>
<p>And as you can see, this icon is not inside this layout.</p>
<p>That's why this smart guy is not active.</p>
<p>So I would come here, I would select this icon and I'll take it into these layouts, just like this.</p>
<p>Now when I select it, and I move it around, you'd see that the smart guide is active.</p>
<p>So I'll make sure that I have it spaces from the top 12345678.</p>
<p>And that's correct.</p>
<p>So I will keep that icon select and I'll change the color of the icon vector to this.</p>
<p>And that's okay.</p>
<p>The next thing I'd have here is a title for this page.</p>
<p>That's going to say bank transfer, you can call it whatever you want to call it.</p>
<p>So I'll use the headline three bold text for that.</p>
<p>I'll keep that there how to center this horizontally actually, to be sure it's at the center horizontally.</p>
<p>And that's fine.</p>
<p>Now I'd come here, and I'd have bits here.</p>
<p>So I would have these details here.</p>
<p>So what I'll do is I'd make sure I have 1234.</p>
<p>Okay, I'd have it's row spaces there, I'd have 12345678.</p>
<p>So what we are going to have here is the destination account details where the user should make the bank transfer to so here's the account number.</p>
<p>Here's the account name and here is the bank name.</p>
<p>And that's it.</p>
<p>So I would come here and I'd have a button component here, out align it to the center and I would stretch it to this point and stretch it to this point also, I would have 123 456.</p>
<p>So I have seven, and eight.</p>
<p>So I'd have a two row spaces there.</p>
<p>Now what I'd have on this button will be copy account number.</p>
<p>So the user can just click on this button to copy the account number here.</p>
<p>So I have sorted the routes for funding the account on this app with bank transfer.</p>
<p>So let's go ahead and let's create the page where the user will use to fund the account with their debit card.</p>
<p>So outcome here, so I will change this debit debit card, or align this to the center, that's okay, I'll take this out, then I'd come here, I'll take this out also, then I'd have all of this here.</p>
<p>So I would have it row spaces from this icon also.</p>
<p>So let's zoom in so that we can count better.</p>
<p>So I would have 12345678.</p>
<p>I'll keep this here.</p>
<p>And I'd have one two, I'll have that there.</p>
<p>out, zoom out.</p>
<p>So this is going to be the page that will enable the user fund their accounts on this app with a debit card.</p>
<p>So what we have here is, the user will enter the amount and have the option to select that they want to use the existing card that they have on this app, or they would like to add another card.</p>
<p>So let's fix some alignment issues here.</p>
<p>Let's keep this there, come here and keep this here also, then come here, balance that's there.</p>
<p>And keep that there.</p>
<p>Also, I would also come here and make sure that this is sorted also here.</p>
<p>So for the action of adding another card, we are going to see how to do that as we proceed for now let's go ahead and let's have a button component here, align that to the center horizontally, keep that there, keep that there, then for the text out, say font accounts.</p>
<p>And that's that.</p>
<p>So if the users click on the font accounts button, they would have this pop up show up for them to choose the method they want to use, when they select the bank transfer method, they would have this page show up, if they select the debit card method, they would have this page show up also, they would have this page show up.</p>
<p>Now, if the user clicks on this fund accounts button, when they want to fund the account with a debit card, the user will be taken to another page, which is going to indicate that the account has been successfully funded.</p>
<p>So I'll duplicate this to have that there.</p>
<p>Now, before we work on that page, I'd like to change the name of this page from bank transfer to debit card transfer.</p>
<p>Now for this page here, out, rename it to transfer successful.</p>
<p>Come here, I'll take all of these outs.</p>
<p>I'll take this out also.</p>
<p>And I'd have a frame here, which is going to be 100 by 100 frame, that's how it's going to look like that's quite small.</p>
<p>So I'll make this 240 by 240.</p>
<p>And I'll just work with this.</p>
<p>So I'll give it this color.</p>
<p>And I'll give it a corner radius of 200 to make it a circle.</p>
<p>And I'll go over to the feather icons plugin.</p>
<p>And over here in the feather icons plug in out bring in this icon, and that icon will be placed on top of this frame.</p>
<p>Now go ahead and use the Scale tool to scale that icon to this point, just like this.</p>
<p>Now, when you scale the icon, make sure that the constraints of that icon is set to the center horizontally and the center vertically.</p>
<p>So I would come here now I would select this icon and I'll change the color of that icon to this when our habit text here that would say count funded successfully, or you can have whichever text you want to have they that's fine.</p>
<p>So I would come here and I'll change the color of this to that.</p>
<p>So after that, I would have a button component here, that will redirect the user to the InVEST page.</p>
<p>So I would say invest.</p>
<p>Now when they get this page, they would have the option to click on the InVEST button here to go straight to the InVEST page where they can invest.</p>
<p>So that's the next page we are going to look at we are going to look at creating the InVEST page where users can invest in stocks.</p>
<p>So to create that page, it means that we need to create the components that the page will need.</p>
<p>So let's go ahead and let's see how to create the components for that page.</p>
<p>So for the InVEST page, the first component I would have there will be a little card component that will be used to display the cash amount that the user has.</p>
<p>So I would come here and I would create that.</p>
<p>This is the fund accounts component section here.</p>
<p>So I would have the invest component section here.</p>
<p>And to create that card, I would have this here, I would say cash.</p>
<p>And I'll use the body small textile for that.</p>
<p>And I'd have an amount here, just any amounts.</p>
<p>Okay, so I would use body large bold here, then I'll just select the both of them, I would create an auto layout on the both of them, make sure the padding around items value is set to zero, then I'll come here and I'll add the fill color to it.</p>
<p>To have that now select the cache text and set the horizontal resizing value to fill container and do that for this or that text on the here, which is the amount of cash that the user has.</p>
<p>Now when that's sorted, select the auto layout, and then come here and set the space in between items value to for now, I'll go over to the feather icons plug in, and I'd look for an icon that I can use to represent cash there.</p>
<p>So I would scroll down and I'll look for one of the icons here.</p>
<p>So I am going to make use of this icon here, I would select it, I'll bring it here, then I would select both of these and out create an auto layout on the both of them the outcome here.</p>
<p>And I would make sure that the alignment value for this auto layout is set to be top left corner of the auto layout.</p>
<p>So I would keep this auto layout selected, I would add a fill color to it.</p>
<p>And I would set the spacing between items value to eight, then set the padding around items value to eight, then come here and I'd have the corner radius value set it also.</p>
<p>So over here, I would select this auto layout inside the main Auto Layout now.</p>
<p>And I would set its horizontal resizing value to feel container.</p>
<p>And when I do that, you will see that this component will be irresponsive components just the way I want it to be.</p>
<p>Now let's go ahead and let's set the colors for this.</p>
<p>So I will set the color of this to that now set this to this now for this icon out set the color of this icon to this.</p>
<p>So I'll keep this here, I'll duplicate it, when I duplicate it out, go ahead, change these two assets, then I'll leave the value here just like this, or you can change it if you want to change it.</p>
<p>Now the next thing I'd like to do is to take out that icon and have another icon there.</p>
<p>So I would go to further icons.</p>
<p>And I would have this selected for that.</p>
<p>So I'll bring this here, let's go to the Layers tab here.</p>
<p>And I would select the briefcase icon here, which is this, I would select it here.</p>
<p>And I'll take it into the frame 19 Auto Layout, just like this.</p>
<p>And you can see that it is staying here on the right side of the auto layout, I would grab it and I'll take it to the left side.</p>
<p>Now I'll select this one, and I'll delete it.</p>
<p>And I have that.</p>
<p>So I would select this icon now and I'll change the color of this icon.</p>
<p>And this is sorted.</p>
<p>So I would rename this to cash card, whatever you want to call it is okay.</p>
<p>And I would rename this to assets card.</p>
<p>And that's okay.</p>
<p>So I would select this, make it a component, select this, make it a component.</p>
<p>So let's go ahead and let's create the other components that we are going to need on the InVEST page.</p>
<p>So the next component, our need on the InVEST page will be an input field component that the user can use to search for top stocks that they would like to invest in.</p>
<p>So we have an input field here already created, it's already a component.</p>
<p>So what I'm going to do is out duplicate it, I'll bring it down here.</p>
<p>And I'll keep this here.</p>
<p>Now when you duplicate the components like this, the duplicates will be a child components.</p>
<p>Now, I wouldn't love to work with this as a child components.</p>
<p>So what I'm going to do is out out keep the components selected, right click on it and out select detach instance.</p>
<p>Now when I select detach instance, you would see that this is back to a regular auto layout.</p>
<p>So I would come here, and I would change the name to such impute field, then what I'm going to do is I would go to further icons now bring in a search icon, which is this out, grab it and drop it inside this auto layout, which is the search input field auto layout.</p>
<p>Now the issue is this.</p>
<p>I want this search icon to be smaller than this, because it's quite too big.</p>
<p>And as you can see it has increased the height of the impute field.</p>
<p>So I'll keep the icon selected.</p>
<p>Come here, and I'll set this to 12.</p>
<p>And I'll set this to 12.</p>
<p>And that I have that now I think 12 is too small outside this to 16.</p>
<p>And out set this to 16.</p>
<p>And that's sorted.</p>
<p>So the next thing is this, I'd like this icon to stay on the right side of this impute field.</p>
<p>So how do we do that? Just select the search input field auto layout.</p>
<p>Come here.</p>
<p>Click on the alignment and padding property.</p>
<p>then change this property from packed to space between, and that's going to be sorted.</p>
<p>Now let's change the color of that icon.</p>
<p>I'll change it from black to this.</p>
<p>Now I can select it now and make it a component.</p>
<p>And as you can see, it can be used just the way you'd like it to be used.</p>
<p>So let's go ahead and let's create the next component that we are going to have on our invest page.</p>
<p>So the next components will be the components that will display the list of stocks that are available to invest in, in this app.</p>
<p>So let's come here, let's have some space here, I'll use the brand fetch plugin.</p>
<p>To pull up the logo of a brand, I'd have this Come here, I'll type in dangoty, or press the Enter key on my keyboard.</p>
<p>And I'd have this here.</p>
<p>So I would select this out, click on it to select it, and I'd have it there in my canvas.</p>
<p>So I'll bring this here, and I'll make it a 24 by 24 frame logo just like this.</p>
<p>Now when I make it 24 by 24.</p>
<p>The next thing I'd love to have is the price of this stock, I would have that out select the caption text for that, then I would have this, then I would have this, make sure I use the caption text for that also, then I'll create an auto layout on this and I'll set the padding around items value to zero.</p>
<p>Now out select the text inside this auto layout and set its horizontal resizing value to fuel container.</p>
<p>Now, I'd like to have an icon here that will indicate decline or increase.</p>
<p>So I would go to the feather icons plugin.</p>
<p>And I would bring this icon in, and I place it here.</p>
<p>Now I'll make this icon a 16 by 16 icon just like this, when I plus here, how to select both of them.</p>
<p>Now create an auto layout on the both of them.</p>
<p>Now for the spacing between the auto layout, it's going to be set to four.</p>
<p>Now to select this auto layout that's inside this framlington Auto Layout, I am talking about the auto layout that has this number here, I would select it, when I select it, outset its horizontal resizing value to fill container, then out select the frame 19 Auto Layout now, and now add a fill color to it.</p>
<p>Now let's go ahead and let's select this icon.</p>
<p>And let's make the color to be green just indicates progress.</p>
<p>Yeah, so I would come here now, I would select both of these and create an auto layout on the both of them.</p>
<p>Now for this auto layout here, I would set the spacing between items value to eight, it's already set it for me.</p>
<p>So I'll just leave it set to eight.</p>
<p>Then I'll come here and I'll add if fill color.</p>
<p>To have this outcome here.</p>
<p>Out select this text now, which is inside this new auto layout and outset it's horizontal resizing value to fill container.</p>
<p>And for this outset, it's horizontal resizing values fill container.</p>
<p>Now when I select this frame 20 Auto Layout, as you can see here, it's a frame 20 Auto Layout, when I select it, and I resize it, you would see that it's a responsive auto layout, just like this.</p>
<p>And that's what I want, actually.</p>
<p>So I'll bring this here.</p>
<p>Now I'll go ahead to create a text that will signify the title of that stock, I'll just call it dang.</p>
<p>Now I'd come out set this to body large bold, and I'd have this day here with this text.</p>
<p>Now what I'll do is I would select this and this text, and I'll create an auto layout on both of them.</p>
<p>Now outcome here now add the fill color to this auto layout first, then come here and align the contents of that auto layout to the center.</p>
<p>After that, I would set the spacing between items value of that auto layout to eight to have this now bring this here and I'd have this here.</p>
<p>The next thing to do is to have all of these selected, then out add an auto layout on all of them.</p>
<p>Now for this new auto layout.</p>
<p>Now, I would set the spacing between items value to eight, then come here, select this auto layout and set its horizontal resizing value to fill container, then how to select the auto layout now and now add a fill color to it to have this now for the padding around items value, I would set it to eight and set the corner radius value to eight, just like this.</p>
<p>Now if I expand this, you'd see that I have this component looking just like this.</p>
<p>And this is okay.</p>
<p>So I want to select it out, name this stock list and out make it a component.</p>
<p>That's fine.</p>
<p>Now the next component I'd like to have there on the InVEST page will be a component that will be used to display the list of stocks that the user have invested literally the stock portfolio of the user.</p>
<p>So I would come here let's zoom in one small out have a 48 by 48 px frim going out, give it a corner radius of 100 to make it around, then I'll give it this color.</p>
<p>Now out, go to the brand fetch plugins, and out, look for the paystack logo, which is this.</p>
<p>Now outcome here, I would right click on this paystack logo, I like to pick out the background color.</p>
<p>So I'll use the Remove BG plugin.</p>
<p>for that.</p>
<p>I'll keep the logo selected, and I'll make it a 24 by 24 px logo, just like this, and I'll place it right at the center of this circular frame that we have created.</p>
<p>Now when you place that on top of that circular frame, make sure to set the constraints value for the horizontal axis to the center and for the vertical axis to the center.</p>
<p>So the next thing to do is to go ahead and I'd say pay stack, I'll keep it selected, come here.</p>
<p>And I'll use the body large bold text for that.</p>
<p>And right under this, paste that text out have plus 345, just to represent the appreciation value of that stock.</p>
<p>So I'll keep it selected and outcome here.</p>
<p>And I'll go with the body small text.</p>
<p>Now I'd make this to have a green color, just like this and for the paste that text and make it to have this color.</p>
<p>So I would select both of these, first of all, create an auto layout, make this space in between items value to be set to four, then out select this text, set it to fill container.</p>
<p>And for this outset to fill container also now out expand this, and that's fine.</p>
<p>Now the next thing to do is to select all of this, create an auto layout on all of them.</p>
<p>When I create an auto layout on this outcome, how to set the spacing between items value to eight, and out add the fill color to that to have this now when I set this to eight outcome here and out set the pattern around items value to eight.</p>
<p>Now I'd like for us to check to see if this is a responsive auto layout.</p>
<p>And as you can see, it's not and that's because I have not set the horizontal resizing value for this auto layout inside of it to feel container.</p>
<p>So when I set this to fill container, and I come here now you'll see that we have a responsive layout.</p>
<p>So I'll keep it selected outcome here.</p>
<p>Now it sets the corner radius value to eight.</p>
<p>And then we have our portfolio listing component.</p>
<p>So I would say portfolio portfolio list.</p>
<p>And I'll click on Create components.</p>
<p>So I think we have created all of the components that we are going to need on our invest page.</p>
<p>So at this stage, I'd like for us to go ahead and create our invest page.</p>
<p>So I would come here now out, select this out, duplicate it out, rename this to invest.</p>
<p>And I'd come here and take all of this out.</p>
<p>And now leave the bottom navigation components, this time around outcome here, what I'd have first will be that cash card.</p>
<p>So I'd have 1234 space before that.</p>
<p>But to see cash card, I'll bring the cash card in here.</p>
<p>And for this cash card, I'll change the fill color of this cash card to this out, select this and I'll change this also to this, I'll change the text color here to this.</p>
<p>And for this, I'll change this to that.</p>
<p>So I'll go ahead now.</p>
<p>And I'll bring in the Assets card.</p>
<p>And I'll do the same to that also come here, I'll change the color of that to this.</p>
<p>And this will be changed to this, change this to this and this to this.</p>
<p>And that's okay.</p>
<p>So what I'll do now is out arrange all of this to stay organized.</p>
<p>So I'd like this to take up two columns.</p>
<p>And I'd like this to come here and take up two columns.</p>
<p>So let's zoom in to be sure that this is properly organized.</p>
<p>So this is not properly organized.</p>
<p>And that's because I want four row spaces before this.</p>
<p>So I will bring this down here.</p>
<p>When I select this, I'd have 1234 And this is okay.</p>
<p>So I'll bring this here.</p>
<p>And I'll bring this down here.</p>
<p>So this is sorted, we have this section sorted.</p>
<p>So the next section of this page will be the section where I would write a text that's going to say top stocks to invest in.</p>
<p>So I would have eight row spaces before this.</p>
<p>So I would say 12345678.</p>
<p>I don't have this to hear.</p>
<p>Now for the text here.</p>
<p>I'd like this text to be a body large text, not a body large bold text.</p>
<p>Now after this text, I'd like to have that search field.</p>
<p>So I would snap this to this point.</p>
<p>And I would go ahead to bring in that search impute field which is this and I'll just have only an eight px space between this text here and the input field.</p>
<p>So out come here stretch these to this point.</p>
<p>And I'll change the placeholder fetch.</p>
<p>So let's change this from stock to stocks.</p>
<p>And that's fine.</p>
<p>So the next component I'd like to have is the stock list components.</p>
<p>So I'll keep this here, and actually give it a shadow effect so that we can see that clearly.</p>
<p>So let's zoom in.</p>
<p>So I would give it two spaces, one, two, and that's fine.</p>
<p>So out, snap this perfectly.</p>
<p>And I would like this stop here.</p>
<p>And I would like this also, to stop here.</p>
<p>Let's zoom out.</p>
<p>So I would duplicate this and have this house.</p>
<p>And let's duplicate this here.</p>
<p>Let's duplicate this hair also.</p>
<p>So let's zoom in to confirm that all our components are aligned perfectly.</p>
<p>So you can see this is okay, this is okay.</p>
<p>This is okay.</p>
<p>And this is okay.</p>
<p>So that looks okay, now on have a stock portfolio section.</p>
<p>Now, to differentiate the two sections out, bring in the button components, and I would use it for something different this time around.</p>
<p>So I would have 1-234-567-8910 1112 spaces.</p>
<p>So I'd have 12 Row spaces here, I would zoom out, out stretch this to the end like this, I would come here and align the content of this button now to the left, then I would set its top padding value to eight and the bottom padding value to eight.</p>
<p>Now what I have here will be stock portfolio.</p>
<p>Now to make this look different, I'll keep this selected, come here now to set the corner reduce value to zero, just like this.</p>
<p>Now what are we going to have here, we are going to have the paste back component here.</p>
<p>So let's zoom in.</p>
<p>And let's make sure this is properly organized.</p>
<p>So I'd have 1234 space before this.</p>
<p>And that's okay, outcome here.</p>
<p>Now give it a shadow effect, just like this now out, keep this selected, come here, now change the color.</p>
<p>So I would come here, I'll change the color to this.</p>
<p>So the green color here needs to actually be thicker than it is now, just like this.</p>
<p>So I would make this to have two columns, then I'll duplicate it and have this they have also taken up two columns also.</p>
<p>Now you can go ahead and have other stocks listed here.</p>
<p>That if you want to have that, and here we are, we are done with our invest page.</p>
<p>Now since we won't be able to display all of the stock portfolio here, I would like to have a see all text here.</p>
<p>So this see all text will be brought in text out copy here.</p>
<p>And I'll duplicate this see all text.</p>
<p>And I keep you here also, and I'll change the color of this, see all text or change this and that's fine.</p>
<p>Now the next flow will be this.</p>
<p>Now let's assume a user likes this talk here and the user wants to invest in this talk means the user will click on the stock and the user will be taken to the stock Details page.</p>
<p>Right.</p>
<p>So let's make that happen.</p>
<p>I'd come here, select this page, and I'll duplicate it, come here and change this to stock details.</p>
<p>And that's fine.</p>
<p>So for the stock Details page, I'll take all of this out and out zoom in, then go to the feather icons plugin to get that icon that signifies going back to the previous page.</p>
<p>And this is it.</p>
<p>I'll get it.</p>
<p>I'll bring it here.</p>
<p>And I'll make sure that this icon is actually inside the stock Details page.</p>
<p>And I'll take this to this point.</p>
<p>And that's sorted out, select the icon vector and I'll change its color to this.</p>
<p>So what do we have here, I like for us to have a title here that's going to say stock details.</p>
<p>And this text should have a headline three bold textile for it.</p>
<p>So I would align it to the center horizontally.</p>
<p>And that's okay, now let's change the color this and that's fine.</p>
<p>So what I'd have here will be a component that I would create, I would just come here, I would have this frame to select it and out create a frame with it like this out set this eight, then out sets the colored this van out sets the color to this than out go to brand fetch to get that logo and out place the logo right on that frame layouts that I just created.</p>
<p>I'll grab it and upload it here.</p>
<p>Now I'd keep it selected and outset the horizontal constraints to center and the vertical constraints to send that and that's okay, so what I'll do now is out keep this frame selected, rename this to stock detail.</p>
<p>And then I'll come here and I'd make it a component.</p>
<p>So I'll go to that page now.</p>
<p>And over here I'd have that stock detailed banner components placed.</p>
<p>This is it here.</p>
<p>I'd have it stay here out stretch it to this point.</p>
<p>and are stretched this this point, that's okay.</p>
<p>So I would come here now, let's snap that in.</p>
<p>And let's also make sure that this is snapped in perfectly, just like this.</p>
<p>So over here I have 123.</p>
<p>Let's make it four.</p>
<p>So over there have four row spaces between this stock details, text, and this stock detail banner components.</p>
<p>And that's fine.</p>
<p>So let's zoom out.</p>
<p>The next thing I'd have here will be the stock price.</p>
<p>And the appreciation value, I'll make sure I have 1234 spaces.</p>
<p>That's okay.</p>
<p>Now I'll go ahead to create a component that outplays here and and that component will go into more details about the stock.</p>
<p>So let's go ahead and let's create that component.</p>
<p>So to create that component outcome here, and now to select the frame to now create a frame that's 42 px tall, just like this.</p>
<p>Let's zoom in to this point.</p>
<p>When I create this frame here, I'll come over here and I'll create a text on this frame, I'd say my position, I'll keep this text here, just like that.</p>
<p>And that's fine.</p>
<p>Now for this text, I'll use the body small textile that I have here, which is this.</p>
<p>And that's okay.</p>
<p>Now I'll go ahead, I'll create another text here, I'll actually make this text box to be this Why'd not come here, now just type in 35.</p>
<p>Now, I'll keep this text box selected now and align the content of that text box to stay at the right select this frame layout now, and then make it an auto layout.</p>
<p>Now I would come here and I'll click on the alignment and padding value, and out sets the left padding to 16 and sets the right padding to 16.</p>
<p>Then out set the top padding to 12 and the bottom padding to 12.</p>
<p>Now I'd like this text to always stay here and this text to always stay here.</p>
<p>So I would come here and now change this from pact to space between.</p>
<p>And that's okay.</p>
<p>So if I come here now, you'd see that if I take this in, this is always staying here.</p>
<p>And this is always staying here.</p>
<p>Same thing happens if I resize the left side here, just like this.</p>
<p>And that's what I want actually.</p>
<p>So I'll keep that selected, then come here.</p>
<p>Now I'm select this text here to make sure this is set to hog content, then come here and select this text to make sure this is set to fixed width.</p>
<p>And that's okay.</p>
<p>So out select this, and out creates an auto layout on this auto layout now, just like this, now this new auto layout is called brim 25.</p>
<p>Yeah.</p>
<p>So inside this new auto layout that I just created, we have this auto layout here, which is frame 24.</p>
<p>Out select it and not duplicate it vertically just like this.</p>
<p>Now select the frame 25 Auto Layout, then I'll set the space between the items inside the auto layout for when I do that, I would come here and now change the padding around items value to zero just to have that now I would come here and I would set the color for this frame 25 auto layout to this.</p>
<p>Now what I'll do is I would set the corner radius value for this auto layout to eight.</p>
<p>Now the corner radius won't be visible.</p>
<p>And that's because this auto layout here is staying on top of that auto layout.</p>
<p>So I would select this auto layout here which is at the top, and I'll come here, I would click on independent corners here.</p>
<p>And I'll set the top left corner reduced value to eight.</p>
<p>And now set the top right corner reduce value to eight, just like this outcome here out select this, click on Independence corners and outset the bottom right corner reduce value to eight and I'll set the bottom left corner reduce value to eight.</p>
<p>And that's sorted.</p>
<p>Now for each of these rows here out select this, then come here and I'll change it horizontal resizing value to fill container.</p>
<p>I'll do that for this also.</p>
<p>Do that for this also.</p>
<p>And do that for this.</p>
<p>And that's okay.</p>
<p>Now let's see if this responding how we actually wanted to respond.</p>
<p>And it is actually now let's edit these values that we have here.</p>
<p>So I would come here and how to set this open and how to set this to previous close and out set this to market cap.</p>
<p>Now for this I'll change the value to So out, come here, previous close out, say that plus this and open, just any value there, actually, just any value, there will be fine, actually.</p>
<p>So with this, I have successfully created these components that allow us to show more details about that stock.</p>
<p>So I would come here and not call this detail table.</p>
<p>Actually, I would call it stock detail table.</p>
<p>And I'll save that, then come here and make it a component.</p>
<p>And here we have that.</p>
<p>So I would zoom out, and I'll go over to this page, and out, bring that component.</p>
<p>So let's come here, click on the Assets tab, come here, grab this and place it here.</p>
<p>So out, keep it selected, and I'll add a shadow effect, just like this, then zoom in so that I can calculate the row spaces better.</p>
<p>So from this item here, I would like to have 123 and four row spaces people this, let's zoom out, and let's stretch this to this point.</p>
<p>And that's fine.</p>
<p>So I can go ahead, select this text, so that I'll be able to change the colors out, select all of this, come here and change this.</p>
<p>To that good, this was not selected.</p>
<p>So I would change that.</p>
<p>For this also out, change it.</p>
<p>Now the next component I'd like to have here will serve as links just in case the user wishes to read more about the stock and the company that owns the stock.</p>
<p>So I'll go ahead, and I'll have that it's going to be similar to what we have here.</p>
<p>Now this is me creating this just the same way I created this stock portfolio components here.</p>
<p>The only difference here is that I just changed the color from what I have here to this.</p>
<p>So let's zoom in to be sure that we are placing our items properly.</p>
<p>So outcome here, I would have 1234 Row spaces before this.</p>
<p>And that's okay.</p>
<p>So at the bottom here, I'd have a button component just for a user who is satisfied with what they see here on this stock Details page.</p>
<p>And this button is going to be an invest button.</p>
<p>So out zooming to calculate the space better.</p>
<p>So I have 123456 Row spaces here.</p>
<p>And I would like to stop at the sixth rule space.</p>
<p>And that's it.</p>
<p>So if a user likes what they see here, on the stock Details page, the user can go ahead and click on the InVEST button.</p>
<p>If the user is not satisfied, the user can come here and click on this button to go back to the previous page where the user will still have to see all the stocks listed here.</p>
<p>So that's it.</p>
<p>So the next page here will be the page that the user will go to, when the user clicks on this invest button here, I'd like us to go ahead and create that page.</p>
<p>So I would duplicate this.</p>
<p>So outcome here, I would rename this to enter stock, amount, whatever you want to call it is okay.</p>
<p>So outcome here, I'll change this to enter amount.</p>
<p>And that's cool.</p>
<p>So I'll go ahead and I'll have this here.</p>
<p>Now this is me using an input field and a button as simple as that.</p>
<p>So I will zoom in to this point and out calculate the space better, I would select this item and out calculates the space from that item, I would say 123456.</p>
<p>So I'd like six rule spaces there.</p>
<p>So I would select this.</p>
<p>And I'll make sure that snaps perfectly.</p>
<p>And that's it.</p>
<p>Now the space between this input field and this button is 1234.</p>
<p>And that's fine.</p>
<p>How to come here.</p>
<p>Now check out this invest button.</p>
<p>And this page is sorted.</p>
<p>Now when the user enters the amount that the user wishes to invest in the stock with, the user will go ahead and click on this Proceed button.</p>
<p>Now when the user clicks on this Proceed button, the user will be taken to another page.</p>
<p>Now that page will be where the user will be presented with a summary of the investment that the user is about make.</p>
<p>Now outcome here.</p>
<p>I would select this and out duplicate it and out.</p>
<p>Rename this to investments summary.</p>
<p>Now I'll zoom in outcome here.</p>
<p>And now take all of these out.</p>
<p>And I'd have this here.</p>
<p>Now this is going to be a summary of the investment that the user is about to make.</p>
<p>And if the user is okay with the summary that the user sees here, then the user would go ahead and enter their secrets been here, before they click on the InVEST button to finally make the investment.</p>
<p>So outcome here out, select all of these, and out calculate the row space is better.</p>
<p>So I would come here, I would keep this here, I would make sure that I have lead zoomin, I'd make sure that I have 123456 Row spaces there.</p>
<p>And that's cool.</p>
<p>So out, zoom out to this point, and this page is sorted.</p>
<p>So this is the flow so far.</p>
<p>Now when the user is on the homepage here, and the user wants to invest, the user will click on this invest link at the bottom navigation here.</p>
<p>This is it here at the bottom navigation here.</p>
<p>When the user clicks on this link, the user will be taken to the InVEST page, which is this.</p>
<p>And if the user goes through the list of stocks that we have here, and the user is interested in investing in one of these stocks, let's say this one here, the user will go ahead to click on it.</p>
<p>And when the user clicks on it, the user will be taken to the stock Details page here, which is this.</p>
<p>Now when the user is taken to this page, the user will read about the stock.</p>
<p>If the user likes what the user sees here, the user will go ahead and click on the InVEST button here.</p>
<p>When the user does that, the user will be taken to this page, where the user will have to enter the amount that the user wishes to invest in that stock with.</p>
<p>Now, when the user enters the amount here, the user will click on the Proceed button here.</p>
<p>When the user does that, then the user will be taken to this page where the user will see a summary of the investments that the user is about to make.</p>
<p>Then if the user is okay with this, the user will go ahead to enter their secrets pin here.</p>
<p>When the user does that, the user will click on the InVEST button here for the investments to be made successfully.</p>
<p>So before we proceed further, I'd like to come here and change this to summary.</p>
<p>So I would keep that selected and align it to the center horizontally, I'd also come here, select these and make sure it's aligned to the center horizontally.</p>
<p>Now, I'll come to this page, which is the Invest page.</p>
<p>And I'd like to have a title here, I'll change this to invest an hour, align it to the center horizontally, just like that.</p>
<p>Now, when the user clicks on this invest button here, the user will see a page that says investment successfully made or investment made or whatever, whatever just a success message.</p>
<p>So I would come here, I would select this, and I'll duplicate it, and I would rename this successful investments.</p>
<p>And I'd save that.</p>
<p>So what I'm going to have here will be similar to what I have here.</p>
<p>So what I'll do is out, take out all that I have here on this page, I'll take this out.</p>
<p>Also, I was supposed to take this out also this debit card title here, I'll take that out.</p>
<p>Also, I'll just select all of this out, duplicate it.</p>
<p>And I bring this in here, just like this.</p>
<p>And I'll zoom in.</p>
<p>And I'll just change this to success.</p>
<p>I'll keep it selected and out, align it to the center horizontally.</p>
<p>Now I'd come here, I'd say go back home.</p>
<p>And that's it.</p>
<p>That's sorted.</p>
<p>So so far.</p>
<p>So so far, we have achieved the authentication task, we have achieved the funding task, and we have achieved the investment task.</p>
<p>Now we are going to go ahead to create more screens that will actually make the user experience on this app to be better.</p>
<p>So one of those screens will be the Transaction Details page.</p>
<p>And that's the page that the user will go to when the user clicks on any of this card here under the recent transactions section.</p>
<p>So if the user clicks on this card, for example, the user will be taken to a page where the user will see the full details of this transaction.</p>
<p>So let's go ahead and let's create that page.</p>
<p>So outcome here out select this one here, and I'll duplicate it.</p>
<p>And I have that.</p>
<p>So let's keep it selected, come here.</p>
<p>And let's call this transaction details.</p>
<p>And for the Transaction Details page, I'll take this out.</p>
<p>And I'll take this out.</p>
<p>Now this is what I would have on this transaction details page.</p>
<p>This is it's as simple as this.</p>
<p>So first things, first, let's calculate our row space to be sure that it's perfectly set.</p>
<p>So I'll have this here and out Count 123456.</p>
<p>So I like this to start here 123456 Out, snap this correctly, and out snap this correctly.</p>
<p>And that's okay.</p>
<p>So this here is to display the transaction date that that transaction happened.</p>
<p>So this is not complete, actually, I can give some space here and say 1603, just like that, so that we will depict the date and time of the transaction.</p>
<p>And that's cool.</p>
<p>Now, what we have here is the transaction amount.</p>
<p>And here we have the amount in words, here we have the transaction type, which is a withdrawal, here we have the transaction remark, which is for Netflix, and the status of that transaction is successful.</p>
<p>So I would select all of this zoom in.</p>
<p>And I would make sure I have 1234 photo spaces there.</p>
<p>Now for the button components here, how to select this, and I'll make sure I have 123456, I'll make sure I have six row spaces there.</p>
<p>And that's fine.</p>
<p>So if a user comes here, and the user clicks on one of these transactions, the user will go to a transaction details page, where the user will see more details about that transaction.</p>
<p>So I'll go ahead and out create other pages, that's going to make the experience on this app to be better.</p>
<p>Now, before we do that, I'd like to give this transaction details page, a page title.</p>
<p>So out, duplicate this, and I'll bring you here a lot call that transaction details out, align it to the center horizontally, just like this.</p>
<p>And that's fine.</p>
<p>So the next flow that I'd like to design will be the flow that the user will go to when the user clicks on this menu icon here.</p>
<p>Now when the user clicks on this menu icon, I'd like for a menu bar to slide in with other options that the user can use to improve their experience on this app.</p>
<p>So how do we make that happen? It simply, so outcome here, I'd have an iPhone 13 Promax, here, out, rename this to manage slide bar, and out, keep it selected, come here, and I would divide the width by two, just like this.</p>
<p>And I'd have this.</p>
<p>So I might decide to go ahead and increase this further.</p>
<p>And what I'll do is this outcome here, I'll just have the logo here.</p>
<p>And I would go ahead to have list items of menu links.</p>
<p>So the first menu link, I would have here will be recent transactions.</p>
<p>I'll keep that selected here.</p>
<p>And I'll change this to a body small text just like this.</p>
<p>Now let's zoom in.</p>
<p>Let's keep this here.</p>
<p>I'll keep it selected, and I would create an auto layout on that text.</p>
<p>Now this auto layout, I would like the auto layout to have a padding around items value of 16.</p>
<p>And I'd also like the alignment value to be set to the left.</p>
<p>So I would come here now I would keep this then creates another auto layout on top of it.</p>
<p>Now this new auto layout that I have created will have a padding around items value of zero, just like this.</p>
<p>Now outcome here out expand this new auto layout here in the design tree.</p>
<p>When I do that out, select the recent transactions auto layout, and I'll duplicate it just like this.</p>
<p>Now go ahead to edit all of these two other links.</p>
<p>Before I do that, let's select the main Auto Layout now, which is frame 34.</p>
<p>Here, and let's set the spacing between items value two, four, just to have that.</p>
<p>So the next link here will be card management, I'd have this be investment portfolio.</p>
<p>I would have this be request statement.</p>
<p>And I'd have this be settings and that's fine.</p>
<p>But I would come here I would select all of these text.</p>
<p>And I'll change the color to this.</p>
<p>And that's what we have.</p>
<p>So whenever the user clicks on On this menu icon, this is going to slide out from the left.</p>
<p>And that's okay.</p>
<p>So let's go ahead to create the routes that the users will go to when the users click on this transact link here at the bottom navigation section.</p>
<p>So to do that, I would come here, I would select this here, and I will duplicate it.</p>
<p>I would rename that to transact, without zooming out, come here.</p>
<p>And I would say, transact.</p>
<p>Keep that selected and out, align that to the center horizontally, then I'll take all of these outs.</p>
<p>Now, I'd like to have two card components here, one for withdrawal action, and one for a deposit action, as simple as that.</p>
<p>So let's go ahead and let's create those card components.</p>
<p>So outcome here out, create a text here, I'll just say deposits.</p>
<p>And I'll keep this text selected.</p>
<p>Come here, and I'll go with the headline three bold text, just like this.</p>
<p>Now, I'd come here and I'd have a 48 by 48 px frame layout, with a corner reduce of 100, then I'd come here and I'll give it a color, that's green, then go to be further icon slogan.</p>
<p>And I'll get an incoming icon there, which is this, this is our incoming arrow icon out, place this here, then come here and set the constraints value to center and center.</p>
<p>Now out, select the icon vector, and now change the color to this.</p>
<p>So I would bring this here, select this, and then create an auto layout on it.</p>
<p>Now for this auto layout, I would come here and I'd set the alignment property to center.</p>
<p>When I do that, I'd come here and outset the space in between items value to 16, then go ahead to add a fill color.</p>
<p>When I add the fill color out, come here and I'll set the padding around items value to eight.</p>
<p>To have that then I would go ahead to set the corner reduce value to eight.</p>
<p>Now outcome here now select the deposit text and change the horizontal resizing value from hog content to fill container.</p>
<p>So this is the deposit action card that I would have on that page.</p>
<p>outcome here, I would rename this to deposit action, save that, and then come here and click on Create components.</p>
<p>Now select this text and I'll change the color to this.</p>
<p>Now I would come here now I would go to this page.</p>
<p>And I would bring in VAT components.</p>
<p>This is it.</p>
<p>I'll keep it selected.</p>
<p>And I'll give it a shadow effect out zoom into this point.</p>
<p>I'll bring this here.</p>
<p>And I'd make sure I have 123456 Row spaces.</p>
<p>And that's okay.</p>
<p>So out stretch this to this point like this.</p>
<p>And I'll create a component or withdrawal.</p>
<p>I'll duplicate this component, which is the master component, take notes.</p>
<p>And I would detach instance, when I detach instance out, select the circular frame there out, make this red out, select the arrow frame there, and I would set the rotation value to 180 degrees.</p>
<p>And that's sorted, as easy as that.</p>
<p>So I would come here select it's come here and go to the design three and rename this to withdraw action.</p>
<p>When I do that, I'll keep it selected.</p>
<p>And I'll click on Create components here.</p>
<p>And that's okay.</p>
<p>So outcome here now, I'll bring this in give it a shadow effect, like this, I would have this day here.</p>
<p>And I would spread this to this point.</p>
<p>And that's okay.</p>
<p>So finally, on this page, I would love to have a button here that can be used to perform the adding of card action.</p>
<p>So I would keep this here I'd have 16 px margin space here, which is to row spaces.</p>
<p>One and two are keep the bottom selected.</p>
<p>out, set the top padding value to eight and the bottom padding value to eight.</p>
<p>Then I'll change the text contents there to add card just like that.</p>
<p>And that's sorted.</p>
<p>So this is the page that the users will go to when the users click on this transact link here at the bottom Navigation component.</p>
<p>So this is where I would stop for this project in regards to creating screens and outs stop here because we have achieved the actual user task for this app.</p>
<p>Now I'd like you to take this as your own assignments and and when you are done.</p>
<p>You can Tagami tweets on Twitter, my Twitter handle is you can go ahead and tag me to your assignment on Twitter.</p>
<p>Now, the assignment is this, I'd like you to have a notifications icon here.</p>
<p>And the notification icon should take users to a page of notifications when they click on it.</p>
<p>And the notifications can be anything.</p>
<p>It can be newsletters, it can be transaction notifications, it can be anything at all.</p>
<p>Now place the notification icon here and create a Notifications page that users will go to when the user clicks on the notification icon.</p>
<p>Now, after that, come here and create a route or create a page that the user will go to when the user select add another card, create a page that the user can use to add their debit card details to this app.</p>
<p>The third assignment will be this, come here and create a page that the user can use to request for their statement.</p>
<p>After that, create a settings page now on this settings page, lets the user be able to set their secrets been there.</p>
<p>Now over here, which is the card management link, the user should be able to delete a card that they have added to this app, or add another card that they want to add to this app.</p>
<p>So that should be possible when the user clicks on card management here.</p>
<p>This should take the user to a page where they will be able to see all the cards that they have on this app.</p>
<p>And and also, they should have the ability on that page to add and delete cards.</p>
<p>Now take notes, this Add Card button here should take the user to the same page that you would create for this add another card here, just like that.</p>
<p>And also, this recent transactions link here should take the users to a dedicated page for the list of all recent transactions.</p>
<p>This investment portfolio link here should take the user to a dedicated page of all the investments that the user has made on this app.</p>
<p>So go ahead to build all of those pages, so that you can have a full and complete user experience.</p>
<p>Now, finally, for the assignment, just before I forget, come here and create a Forgot Password page, create a page here that the user can use to reset their password just in case the user forgets their password.</p>
<p>And that's going to be it.</p>
<p>So at this stage, what we are going to do is to create a prototype of all of these designs that we have created, we are going to link this perfectly and see how it's going to work.</p>
<p>So to do that, let's zoom in out come here, I will start from the splash screen.</p>
<p>So I would select it.</p>
<p>Come here click on prototype.</p>
<p>When I click on prototype, I would come here and I would connect the splash screen to this page.</p>
<p>Now the action will be an on tap action.</p>
<p>And that's because this is a mobile app actually.</p>
<p>So we are actually supposed to tap this screen with our fingers.</p>
<p>Now when the user taps on the screen, the user should move to or should navigate to, you can see the action here should navigate to the author selection page, which is this.</p>
<p>Now the transition animation or the navigation animation should be a smart animation.</p>
<p>So it's going to be an ease in animation.</p>
<p>And I would like this ease in animation to be for 800 milliseconds.</p>
<p>Actually, I'd like this to be an ease in and out animation, just like this.</p>
<p>Yeah, that's better for me.</p>
<p>So outcome here now.</p>
<p>And I will say okay, when the user clicks on the login button here, the user should go to the login page.</p>
<p>And I'll keep all of the sets the way it is.</p>
<p>Now when the user clicks on the get started button here, the user should go to the signup page.</p>
<p>So I would come here, click on this login button here.</p>
<p>And I would say when the user clicks on that login button after after passing in their email address and password, the user should go to the homepage, which is this over here.</p>
<p>When the user clicks on the signup button, the user should go to the verification page where the user will have to enter the verification code sent to their phone numbers.</p>
<p>Now when the user types in the verification code here, the user should click on the Verify button.</p>
<p>And when the user clicks on the Verify button, this should show like a pop up so I would connect it to this.</p>
<p>So out connect this And I'd keep it as on top, then for the action out habit set to open overlay, then come here and I'll keep it sets a centered actually, after setting these two Centered Outcome here, and I won't select this option.</p>
<p>And that's because I don't want the user to close the pop up.</p>
<p>If they mistakenly click outside the pop, I'd like the user to click on proceed here.</p>
<p>So this other option here out selected, this is the add background behind overlay property or the add background behind overlay option.</p>
<p>When I select it, it means that when the popup shows up, the background will be faded.</p>
<p>So I would set the Opacity value to 35%.</p>
<p>And I would like the animation to be an instant animation.</p>
<p>And that's going to be okay.</p>
<p>Now, when the user clicks on this Proceed button, the user should be taken to the homepage.</p>
<p>Now, when you are creating a prototype like this, you can just take the connection here to any page at all, then come here and set it to the page you want to set it to.</p>
<p>So I would come here and I would select Home.</p>
<p>And you can see that the connection has gone to the homepage, just like this.</p>
<p>So the authentication is set.</p>
<p>Now when the users come to the homepage, and the users click on this menu icon, the user should be taken to the menu, slide bar them here, this is what should show up when the user clicks on that menu icon.</p>
<p>Now, I would want that menu slide bar or that slide bar menu to actually slide in from the left.</p>
<p>So I'll click on this connection here to have the Interaction Details page show up.</p>
<p>Now for the action here, I would set these to open overlay outcome here and I'll set it to manual.</p>
<p>When I set it to manual, it means I'll be the one to set how the interaction is going to happen.</p>
<p>So I'll grab this, and I'll place this here, just like this.</p>
<p>This is how it's going to look like when you click on that menu icon.</p>
<p>Now outcome here.</p>
<p>And I would say close this slide by menu, when the user clicks outside of it, I would select that and over here out have a background behind overlay properties selected, also an out have the Opacity value set to 35%.</p>
<p>Now for the animation, I'll change this from instance, to move in just like this.</p>
<p>And for the moving action out habits moving from the left and out have the speed of that animation set to 800 milliseconds.</p>
<p>Now outcome here, I'll click on this font Account button here.</p>
<p>And I'd say okay, when a user clicks on this button, this should show us a pop up.</p>
<p>So we all know how to set a pop up, right.</p>
<p>So I'll change this to open overlay.</p>
<p>Keep it set centered, and out add a background behind overlay action.</p>
<p>And also, if the user chooses not to fund the account anymore, the user can just click outside the pop up and go back to the homepage.</p>
<p>So I would select that.</p>
<p>I'll keep this set to 35%.</p>
<p>And for the animation here, I'll keep it set instance.</p>
<p>So I'll close this.</p>
<p>Now if the user selects the bank transfer option, the user should come here, as easy as that.</p>
<p>And if the user clicks on copy account number, this account number will be copied to the user's clipboard.</p>
<p>And when that happens, the user will come here and click on this arrow here to go back to the homepage out sets this from instant to smart animates.</p>
<p>And that's okay.</p>
<p>So if the user clicks on the debit card option here, the user would be taken to this page.</p>
<p>If the user is taken to this page, and the user types in the amounts that they are trying to actually fund the account with, then the user will go ahead to tap or to click on the fund account button here.</p>
<p>And when the user does that, the user would come to this page where the user will have a message that says account funded successfully.</p>
<p>Now, at this stage, we are going to want the user to go directly to the InVEST page.</p>
<p>So I'll select this button now.</p>
<p>And I'll take this flow to the InVEST page, which is this.</p>
<p>So when the user gets here, I'll take this menu icon out here actually, when the user gets here, and the user wants to invest in one of these listed stocks, let's say this one, the user will click on it and the user will be taken to the stock Details page.</p>
<p>When the user gets to the stock Details page and the user is okay with all of these details here.</p>
<p>The user will click On the InVEST button here.</p>
<p>And when the user does that, the user will come here and be required to enter the amounts that they wish to invest in that stocks with.</p>
<p>When the user enters the amount and the user clicks on the Proceed button, the user will be taken to this page, which is where the user will see a summary of the investment that the user is about to make.</p>
<p>Now, if the user is satisfied with this summary, the user will go ahead to type in their secrets pin here, and then click on this invest button.</p>
<p>And when the user does that, the user will be taken to this page, which is a success page, that's going to let the user know that, hey, you have successfully invested in that stock.</p>
<p>So the user will come here and click on the Go back home button, and out, take this back to the homepage, how to select home here.</p>
<p>So let's come here, let's see the other links that we have not created.</p>
<p>So let's say the US is trying to see the transaction detail of any of this recent transaction.</p>
<p>Yeah, let's see the withdrawal transaction here, I would click on it to select it.</p>
<p>And I would link this to the Transaction Details page, which is this.</p>
<p>So if the user clicks on that transaction card, there, the user will be taken to this page.</p>
<p>And if the user goes through the whole detail, and the user is satisfied, when the user clicks on done, the user will go back to the homepage, outcome here and select home here.</p>
<p>Same will happen if the user comes here, clicks on that arrow, the user will go back to the home page.</p>
<p>So you can see that we are creating lots of connections and flows here.</p>
<p>Lots of connections and flows here.</p>
<p>So let's go back to the homepage, and let's see the flow that we have not created.</p>
<p>So this is the home page here.</p>
<p>So this home link here is safe to be there.</p>
<p>Now let's say the user clicks on this invest link here, which is in the bottom navigation components, the user should be taken to the InVEST page.</p>
<p>If the user clicks on this transact link here, the user should be taken to the transact page.</p>
<p>So if I come here, now out still connect this, this should go to the homepage.</p>
<p>And since this is the Invest page here, it means we are here.</p>
<p>So this should go to the transact page.</p>
<p>I'll do that for this also.</p>
<p>So let's come here.</p>
<p>Let's see, let's see what we have not connected yet.</p>
<p>So if the user comes to the transact page, and the user clicks on the deposits card here, the user should have that pop up, show up, that would require them to select if they want to deposit with bank transfer or their debit card, it should be the same flow.</p>
<p>Now over here, I should actually change this to withdraw.</p>
<p>If the user clicks on this withdraw card here, the user should be taken to a page where they would have to enter the amount and the destination bank that they are trying to withdraw their funds to.</p>
<p>So this is also going to be a part of your assignment.</p>
<p>Go ahead and create that flow.</p>
<p>When you create it.</p>
<p>Go ahead and tag me on Twitter for my comment.</p>
<p>So let's go ahead and let's present this flow.</p>
<p>And let's see how it's going to look like.</p>
<p>So I would come here, I would select the splash screen.</p>
<p>And I'd come here and click on present.</p>
<p>So when I click on present, I would have the splash screen show up here.</p>
<p>When I click on it, I would have the option to either login or get started.</p>
<p>So I'll click on get started.</p>
<p>And here we are on the signup form page.</p>
<p>So if the user enters their email address, phone number and password when the user clicks on the signup button, the user will be required to enter the verification code.</p>
<p>When the user enters that the user will click on the Verify button here.</p>
<p>And a pop up will show up here saying phone number verified.</p>
<p>Now you'll see that when I click outside the pop up, the pop up won't go away until I come here and I click on the Proceed button.</p>
<p>When I do that, I'll be taken to the homepage.</p>
<p>Now here we are in the homepage.</p>
<p>Now if I come here and I click on this menu icon here, you will see that this menu slide bar or this slide bar menu and how you call it is fine.</p>
<p>This slide by menu slides in from the left.</p>
<p>When I click outside of it, it goes back in.</p>
<p>Now let's check the font accounts flow.</p>
<p>When I click on it, I would have this pop up show up here that says Select method.</p>
<p>Now let's say I choose to select the bank transfer method, I would have this show up here, I'd be able to copy the account number.</p>
<p>And when I'm done, I would come here and I would click on this arrow icon here.</p>
<p>To go back to the homepage.</p>
<p>Now let's click on the bond Account button once more, and let's select the debit card method, you can see that I'll be taken to this page where I would have to enter the amount that I'm trying to fund this account with.</p>
<p>Now, let's say I type in the amount, I would come here and I'll click on the fund account button, just like this.</p>
<p>And I'd have this message that says accounts funded successfully.</p>
<p>Now if I go ahead and click on this invest button, I'll be taken to the InVEST page, which is this.</p>
<p>And over here, I would see a list of stocks.</p>
<p>Now I'd like to present this in full screen actually, so that we can see better.</p>
<p>So over here, I would see a list of stocks that I can invest in.</p>
<p>Now let's say I'd like to invest in this one here, I would click on it.</p>
<p>And I would see full details about this stock here.</p>
<p>Now, I don't have some of my components showing here.</p>
<p>So I would go back to my design outcome here.</p>
<p>So this is the stock Details page.</p>
<p>So this three buttons actually not inside that layout.</p>
<p>So I would select the three of them.</p>
<p>And I'll take them inside that layout.</p>
<p>And that sorted.</p>
<p>Now when I come back here, you will see that I have that here.</p>
<p>So let's go back to our full screen presentation.</p>
<p>So if the user likes what they see here in the stock Details page, the user will go ahead to click on the InVEST button here.</p>
<p>And when the user does that, the user will enter the amount that they would like to invest in that stocks with.</p>
<p>When the user does that, the user will go ahead to click on the Proceed button here.</p>
<p>Now that flow is not created.</p>
<p>So I would come back to our design here, I would click on this Proceed button here, click on prototype.</p>
<p>And now let's see what the problem is.</p>
<p>So I came here and I clicked on this connection link here.</p>
<p>And I changed this from on drag to on top.</p>
<p>Now when I come back here, and I click on the Proceed button here, you will see that we are taken to the Summary page.</p>
<p>Now this page will be the page where the user will see a summary of the investments that the user is about to make.</p>
<p>And if the user is OK with this, the user will go ahead to enter their secrets pin here and then click on the InVEST button.</p>
<p>Now the InVEST button is not active also outcome here and out see the problem for that.</p>
<p>So I would click on invest here.</p>
<p>And I would select the connection flow here.</p>
<p>And as you can see here, there is an undo drag event here, outcome here.</p>
<p>And I'll delete that on drag event here.</p>
<p>And I'll just leave this set to tap now.</p>
<p>But the tap event, there is no navigation destination.</p>
<p>So I would set this.</p>
<p>First of all out to take note of the screen here.</p>
<p>This is the successful investment page.</p>
<p>So I would come here and I would go to the successful investment page.</p>
<p>And that's sorted.</p>
<p>Now when I come here, and I click on invest, I'd be taken to the success page.</p>
<p>Now when I click on Go back home, I'll be taken back to the homepage.</p>
<p>Now that is after I have successfully invested in a stock.</p>
<p>Now, what happens if I come here, and I click on one of the recent transactions here, let's say the withdrawal transaction here, you would see that I'll be taken to the transaction details page for that transaction.</p>
<p>When I'm done going through it out, click on Done.</p>
<p>And I'll be taken back to the homepage.</p>
<p>Now what's going to happen if I come here and I click on this invest link at the bottom navigation components.</p>
<p>I'll be taken to the InVEST page still.</p>
<p>And I'd be able to still invest in a stock just like this.</p>
<p>Now what happens if I come here and I click on the transact link here or be taken to this page where I'd have the option to deposit funds or withdraw funds.</p>
<p>And I'd also have the option to Add Card.</p>
<p>Now if I am okay with this outcome here, and I'll click on this arrow to go back to the homepage and that arrow is not active.</p>
<p>So I would have that sorted out come here and connect that arrow to be homepage and it's going to be an on tap event.</p>
<p>So when I come back here, when I click on that arrow now, you will see that I'm taken back to the homepage.</p>
<p>So go ahead, create the order pitches and the other route as your assignment, then tag me to it on Twitter.</p>
<p>So that's that for this course.</p>
<p>If you found this cost to be helpful, go ahead, click on the subscribe button, leave a comment in the comment section.</p>
<p>And stay tuned for more content.</p>
<p>Thank you and see you in another course. </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ UI Design with Figma - Tutorial ]]>
                </title>
                <description>
                    <![CDATA[ Figma is a vector graphics editor and prototyping tool that is often used for UI design.  We just published a 10-hour Figma course that will teach you how to use the tool for UI design. Joseph Brendan developed this course. Joseph is a great instruct... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/ui-design-with-figma-tutorial/</link>
                <guid isPermaLink="false">66b206b5a8b92c93292364bf</guid>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Beau Carnes ]]>
                </dc:creator>
                <pubDate>Wed, 05 Jan 2022 18:46:36 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/01/figma.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Figma is a vector graphics editor and prototyping tool that is often used for UI design. </p>
<p>We just published a 10-hour Figma course that will teach you how to use the tool for UI design.</p>
<p>Joseph Brendan developed this course. Joseph is a great instructor who has taught thousands of people on his YouTube channel. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/image-41.png" alt="Image" width="600" height="400" loading="lazy">
<em>Figma looks like this.</em></p>
<p>Here are all the sections covered in this comprehensive course:</p>
<ul>
<li>Creating a Figma Account</li>
<li>Creating &amp; Naming a Figma Design File</li>
<li>Creating Shapes in Figma</li>
<li>Selection in Figma  </li>
<li>Editing Shapes in Figma</li>
<li>Introduction to Typography in Figma</li>
<li>Design Tree in Figma</li>
<li>First Design Task</li>
<li>Colors in Figma</li>
<li>Drawing Tools in Figma</li>
<li>Margin and Padding in UI UX Design</li>
<li>Figma AutoLayout</li>
<li>Formatting Principles in Figma</li>
<li>Figma Constraints and Resizing</li>
<li>Website Design in Figma</li>
<li>Jakob's Principle Of Design</li>
<li>Introduction to Styles and components</li>
<li>Figma Component Variants</li>
<li>Layout Design &amp; Configuration For Websites in Figma</li>
<li>Layout Grids in Figma</li>
<li>Introduction to Responsive Design</li>
<li>Material Design Guide</li>
<li>Introduction to Tailwind UI</li>
<li>Tailwind UI Design Project</li>
<li>Responsive Landing Page Design Project</li>
<li>Designing Mobile Apps</li>
<li>Iconography in Figma</li>
<li>Boolean Groups</li>
<li>Figma Tokens</li>
<li>Animation in Figma With Figmotion</li>
<li>Mobile Design Project</li>
</ul>
<p>Watch the full course below or <a target="_blank" href="https://youtu.be/jwCmIBJ8Jtc">on the freeCodeCamp.org YouTube channel</a> (10-hour watch).</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/jwCmIBJ8Jtc" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Use Figma to Design Websites ]]>
                </title>
                <description>
                    <![CDATA[ Figma is a vector graphics editor and prototyping tool that is great for designing websites. We just released a Figma course on the freeCodeCmap.org YouTube channel that will teach you how to use the tool to design websites. Joy Shaheb developed the ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-use-figma-to-design-websites/</link>
                <guid isPermaLink="false">66b2036008bc664c3c097eaa</guid>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Beau Carnes ]]>
                </dc:creator>
                <pubDate>Wed, 01 Sep 2021 13:21:54 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/09/figmacourse.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Figma is a vector graphics editor and prototyping tool that is great for designing websites.</p>
<p>We just released a Figma course on the freeCodeCmap.org YouTube channel that will teach you how to use the tool to design websites.</p>
<p>Joy Shaheb developed the course. Joy is a prolific tutorial creator and excellent teacher.</p>
<p>Here are the topics covered in this course:</p>
<ul>
<li>Figma Setup</li>
<li>Left Panel</li>
<li>Top + right Panel</li>
<li>Text Tool</li>
<li>prototype test</li>
<li>Auto Layout</li>
<li>Layout Grid</li>
<li>Constraints</li>
<li>Components</li>
<li>Desktop Design</li>
<li>Mobile Design</li>
</ul>
<p>Watch the full course below or <a target="_blank" href="https://www.youtube.com/watch?v=D56hs0Twfco">on the freeCodeCamp.org YouTube channel</a> (3-hour watch).</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/D56hs0Twfco" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-transcript">Transcript</h2>
<p>(autogenerated)</p>
<p>Figma is a vector graphics editor and prototyping tool that is great for designing websites.</p>
<p>And this course joy will show you how to use it.</p>
<p>Joy is a prolific and excellent tutorial creator.</p>
<p>Hey guys, you're here.</p>
<p>This is a big material for complete beginners.</p>
<p>And today, you and me together, we're going to make a complete responsive web design, both for the desktop version, and another one for the mobile version.</p>
<p>So this is the homepage of our desktop version.</p>
<p>So do you see this nav items over here, home teachers contact us signing according to this nav items, we have four pages, okay, let me walk you through all the pages and sections.</p>
<p>Okay, so this is the home page, I mean, the landing page over here, and then if I scroll down, then we're going to find this section over here.</p>
<p>And then this section over here are offered courses.</p>
<p>This is the Education website, okay.</p>
<p>And then if I scroll down, then you're going to find this over here.</p>
<p>And then lastly, we have this footer over here.</p>
<p>All right, let me zoom out a little bit.</p>
<p>And this is the teacher section over here, you can see that.</p>
<p>So this is the teacher section over here, we're going to make some cards over here along with some buttons.</p>
<p>And we're going to also work with svgs.</p>
<p>This is the footer over here for this page.</p>
<p>And then we have this contact us page over here, you can see that so we're going to also work with icons, you see these icons over here, we're going to work with them, and also make some forms over here as well, you can check out the sign up page over here as well.</p>
<p>This is the last page, you can download this entire figma file through the link in the description down below.</p>
<p>So once you download the figma file, you're going to find all of these pages over here.</p>
<p>So this carries the next design.</p>
<p>I mean, this one over here, and this one carries the mobile design.</p>
<p>Look at that we have the mobile design over here.</p>
<p>Okay, so this is our homepage, let me walk you through this.</p>
<p>Okay, so this is the homepage over here.</p>
<p>And these are the style guides, I'm in the typographic guides that we're going to follow, okay, what will be the font size of the logo, font size of the large text, font size of the button, text, etc.</p>
<p>Every design carries the style guide.</p>
<p>Okay, let me show you.</p>
<p>The mobile carry the style guide laptop, the cabinet design carries the style guide as well.</p>
<p>The laptop design also carries this style going over here and the next version, this one is at the very top, we're going to find this style guide over here.</p>
<p>So once you download the finger file, you're going to find all of these pages over here you see this, the next step carries the design for the next version.</p>
<p>And the mobile page carries the design for the mobile version.</p>
<p>Okay, so I'm going to click over here also, you're gonna find design for the laptop and the tablet version as well over here.</p>
<p>So this is a web design for the mobile version.</p>
<p>Okay, let me actually zoom in a little bit like that, look at that.</p>
<p>This is our homepage over here.</p>
<p>And then this is the next section, third section, fourth section, and this is our footer over here.</p>
<p>Okay, let me zoom in a little bit.</p>
<p>There we go.</p>
<p>And then we have our social media icons over here as well.</p>
<p>And then look at this teacher section over here.</p>
<p>And this is the rest of the design.</p>
<p>So today, you and me together, we're going to design the Dexter version.</p>
<p>Okay, this one, and the mobile version will see this laptop and tablet.</p>
<p>This is your homework.</p>
<p>After this tutorial, you're going to practice over here, okay, you're going to make this web design for the tablet version.</p>
<p>And also you're going to make the web design for the left version as well.</p>
<p>Okay, so these two are your homeworks.</p>
<p>This entire video is divided according to these chapters over here, there is one over here, you're going to find the timestamps on the description down below.</p>
<p>So first of all, we're going to look at all the tools figma carries.</p>
<p>So once we have covered all the tools figma carries, then we're going to start making a responsive web design for the next version first, and then we're going to start making the web design for the mobile version.</p>
<p>By the way, this entire video is made for beginners who doesn't know anything about figma.</p>
<p>So we're going to start from scratch, I will not use any plugins, libraries or design systems just plainly from scratch, we're going to use all the tools that FEMA provided and we're going to make the design using the tools only.</p>
<p>If this video gets at least 2000 likes then I'm going to make another video at once level figma tutorial, where I'll be covering how to make a web design using the design system plugins, libraries, prototypes, and also how to save time as well.</p>
<p>So hit the like button and also hit the subscribe button so the gear brother can afford them.</p>
<p>Ah, this is Luke 800.</p>
<p>This one.</p>
<p>Also note that these are our breakpoints, okay, for the extra version, it is 1400 40 pixels, okay.</p>
<p>And for the laptop version, it is 1024 pixels.</p>
<p>And for the tablet version, this is 768 pixels.</p>
<p>And for the mobile version, I have picked the 414 pixels, which is the width of the iPhone 11 Pro max alert In this video, we'll start according to these chapters over here.</p>
<p>First of all, you're going to open any web browser, okay, and you're gonna type figma.com fig ma.com like that, hit enter.</p>
<p>You're gonna find this interface over here and then you can log in or you can sign up don't have an account.</p>
<p>Okay, so I have an account.</p>
<p>And I'm going to log in over here, like that.</p>
<p>I'm going to use Google over here.</p>
<p>So once you have signed up, you're going to find this interface over here.</p>
<p>Okay, let me explain this insured.</p>
<p>Okay, so all of these are your draft, the projects that you're working on.</p>
<p>Okay, let me actually scroll down a little bit so that I can show you some of my projects over here.</p>
<p>Okay, like that.</p>
<p>And this one over here, do you see this, this is used to create a new draft file, I mean, a new project.</p>
<p>And over here on this section over here, you're gonna find some templates over here in order to save your time.</p>
<p>Okay, you can scroll down and see all of this templates over here as well.</p>
<p>If you want to download figma for the next version, you can do it as well, you're gonna click this over here, on your profile icon, okay, like that.</p>
<p>And then you're gonna click this get dekstop app, and then it's going to automatically download figma for you.</p>
<p>Alright, now I'm going to show you this community tab over here, okay, I'm gonna click this, or what you can do is you can come over here, and you can click this community over here, and it's gonna bring you over here.</p>
<p>So So this community tab contains works of other people, so that you can download and use for your own purposes.</p>
<p>Okay, let me scroll down a little bit.</p>
<p>So you're gonna find this.</p>
<p>So these are the trending files over here, you're gonna find various assets over here, various design systems, okay, so look at this over here.</p>
<p>These are various icons that you can download and use for all your projects.</p>
<p>So like that we have tons of resources published by other people for completely free.</p>
<p>Alright, so I'm gonna scroll down so that you can look more, okay.</p>
<p>And then at the very top over here, these, these are the filters, okay? If you want just plugins, if you want to just look at plugins, you can click over here, or perhaps you want to see some illustrations, okay, you're going to click illustrations over here.</p>
<p>And then you're going to find various illustrations, various digital assets, okay, like that.</p>
<p>For instance, let's say that, look at this illustration over here, if I click over here, if you want to use this for your project, what you're going to do is you're going to click this duplicate option, okay, like this.</p>
<p>And it's going to give you a copy to your figma file.</p>
<p>And you can navigate the designs, I mean, navigate the assets through this pages over here, okay? Like the components, look at all of these components over here.</p>
<p>So you got this for completely free.</p>
<p>Okay, let me zoom in a little bit, so that I can show you various design assets.</p>
<p>And if I want to change the background color, I can also do it by this, look at that, from purple to white like this.</p>
<p>Now look at my designs over here, okay? Look at this models over here that I can use for my projects, okay? Like this.</p>
<p>Okay, I can zoom in, I can zoom in and zoom out and various assets over here, like that, look at all of this assets.</p>
<p>Along with the people illustrations, I also get this over here, look at this.</p>
<p>In order to go back to your profile from the community tab, what you're going to do is you're going to click over here, okay, and then you're going to click on your profile like this.</p>
<p>And you're going to come back to your figma dashboard over here.</p>
<p>So this is our practice project, I have included a link in the description down below, you click that, and you're gonna come over here.</p>
<p>So once you come over here, you're gonna click this duplicate option.</p>
<p>Okay, so if you click on this duplicate, then it's going to duplicate your project on your profile like this.</p>
<p>First of all, let's inspect what we have on our left panel over here, you see this panel over here.</p>
<p>So you see this layers over here, this layers represents all of this layers that we have over here.</p>
<p>And this assets over here, I'm going to discuss in details about this one, when I am discussing about the components part, this one over here, part number nine.</p>
<p>All right, now I'm gonna come back layers over here.</p>
<p>And this one represents all my pages.</p>
<p>Okay, so these are all my pages over here, if I click this over here, it's going to hide my pages.</p>
<p>If you click it back, it's going to show me all the pages that I have.</p>
<p>If you want to create a new page, then you can click this plus sign over here, and you can name it whatever you want.</p>
<p>Like I'm going to name page one over here, like this, and I'm going to hit enter.</p>
<p>If you want to delete a page, then you can just right click over here and delete this like that.</p>
<p>Or perhaps if you want to rename it, then you can click this over here.</p>
<p>So I'm going to delete this, okay, I don't need it.</p>
<p>So all our designs are arranged into these pages over here.</p>
<p>First of all, you have the Start button over here, I mean start page over here, you can see this.</p>
<p>So you can see this thumbnail over here, the topics covered page over here, the breakpoints over here.</p>
<p>And if I come to this dekstop page, you're going to find the web design for the next version.</p>
<p>Okay, if I click this laptop over here, you're going to find the design for this laptop version.</p>
<p>Okay, similarly for the tablet as well.</p>
<p>This is the design for the tablet version.</p>
<p>This is the mobile version.</p>
<p>This one is the responsive test.</p>
<p>I'm going to discuss about this part when I'm discussing the constraints providing this one, Part Number eight, I have included a small sample on this page over here so that they can test how products work in figma.</p>
<p>So I'm going to discuss paradise in Part number five.</p>
<p>And this page, the assets page carries all our assets, all our illustrations and social media icons, we're going to make our web design easy, all of this assets over here and this section, the credit section carries all the links from where I have downloaded the illustrations.</p>
<p>Okay, so you can see this over here, if you double click over here like this, then you can copy this link, and you can go to that link and see the original source of the illustrations.</p>
<p>Alright, then I'm back to the start page over here.</p>
<p>And now we're here I'm going to create a new frame, okay, by the way, all our designs are arranged in two frames, okay, if I hit F, or if I click this over here, this frame button, don't worry, I'm going to discuss in details, I would all the tools on this top panel, and on this right panel over here, okay, if I select this frame over here, and if I drag it like this, like that, okay, by the way, regarding the basic movements, you can use your mouse scroll to go top to bottom like this, okay, if you hit Shift and throw your mouse wheel, you can go left to right like this.</p>
<p>Okay, if you hit Ctrl, and if you use a mouse scroll, then you can go zoom in and zoom out like this, look at that.</p>
<p>Alright.</p>
<p>Alright, so I'm back over here on this frame over here, all our design in all our elements are arranged into frames, okay, let's say that I have a circle, okay, I'm going to hit a ball.</p>
<p>And I'm going to draw a circle over here like this, that, and now I'm going to create a rectangle, okay, if I hit r on my keyboard, then I can draw a rectangle over here like this.</p>
<p>Let's say that I want some text, okay, if I hit t on my keyboard, and click over here, then I can write text, okay, like this.</p>
<p>Control a, and you increase the font size over here to 50.</p>
<p>Not 50, let's say 200.</p>
<p>Okay, like that, look at that, we have some text over here as well.</p>
<p>And so look over here, this is our frame, okay.</p>
<p>And this frame carries all our elements over here, this, this ellipse over here, you see this ellipse, it gets highlighted in blue, you can see this blue highlighted color, okay? If I highlight the rectangle, look at this, I'm selecting the rectangle, okay, if I select the text over here, like this, look, it gets highlighted over here.</p>
<p>And do you see these two buttons over here, if I click this, then it's going to hide me the frame like this, look at that.</p>
<p>Okay, now look at this, I can move this frame anywhere I want.</p>
<p>Okay, if I do it like this, look at that.</p>
<p>But if we want to lock the position of this frame, what you can do is you're gonna click this over here, the frame, or you can just click on the name over here, usually, you see this frame number 52, I'm going to click this on the name, and then I'm going to click this lock button over here, then it's going to lock me the position it is, it's not going to move from its position is going to stay fixed over here, including all the assets that is carried on the frame.</p>
<p>Now look, I can't select the text, I can't select this shapes over here as well is going to get locked over here.</p>
<p>In order to unlock that, I'm going to click this over here like this unlock.</p>
<p>Now I can move it and I can select all of these elements over here as well like that.</p>
<p>So I'm going to delete this frame over here like this.</p>
<p>Alright, now we're going to keep our content inside our frame as it is, or we can also arrange them into groups, we can group them directly, or we can also use the Auto Layout option.</p>
<p>So if so if I select all of them over here, and if I right click over here, and we're going to get this option over here, auto layout, add auto layout, I'm going to discuss in details about this tool on part number seven over here.</p>
<p>So if I right click over here, then I'm going to get this add Auto Layout option.</p>
<p>Along with that I have this option group selection, if I click on that is going to behave is going to behave like a group.</p>
<p>Okay, if I remove my mouse and click over here, outside this box, then look at this, it gets it removes the blue outline.</p>
<p>If I click over, if I hover over here, look, all the elements gets highlighted, which means that it acts like a group.</p>
<p>Okay.</p>
<p>So if I want to ungroup this, what I'm going to do is I'm going to click over here and Ctrl Shift g Ctrl, Shift g like this.</p>
<p>Now look, it will behave individually like that, look at that, this is behaving individually, there is one is behaving individually, there is one as well.</p>
<p>Same thing goes for the oral Layout option.</p>
<p>Okay, now I'm going to fill all of them again and I'm going to create a new group over here.</p>
<p>Okay, group selection.</p>
<p>Now look, it behaves like a group.</p>
<p>Okay, let's say that you want to move Okay, now let's say that you just want to select the rectangle and nothing else.</p>
<p>So in this cases, what you have to do is you can double click on the rectangle like this, there is just like just the rectangle over here, or what you can do is you can hit Ctrl on your keyboard control and click one time over here, then is to select only the rectangle.</p>
<p>If you want just only the text, you're going to select Ctrl on your keyboard and just select the text over here like this, or what you have to do is you're gonna select this whole thing, and then double click over here like this.</p>
<p>Look at that, it's going to select your text over here.</p>
<p>Now we're going to discuss in details I want all the tools that is listed on the top bar over here, this one over here, and all the tools that is listed on the right side over here.</p>
<p>So let's get started.</p>
<p>Alright, The very first thing that I want to talk about is a movement, how will you move back and forth in your figma file, okay, so if you hit shift, and then if you scroll your mouse wheel, then you can go left and right like this, look at that.</p>
<p>Okay, so if you release this shift and just use your mouse scroll, then what you can do is you can just scroll top to the bottom like this, look at that.</p>
<p>Okay, so in order to go top to bottom, you're going to use a mouse scroll like this, okay? Like that.</p>
<p>And if you want to go to left to right, then what you're going to do is you're going to hit shift, and then you're going to scroll your mouse like that, okay, that you're going left to right, if you want to zoom in and zoom out, what you're gonna do is you're gonna hit Ctrl, and then you're gonna use your mouse scroll like this, look at that, I'm zooming out.</p>
<p>And then I'm zooming in like that, look at that, okay, and you can also use this hand tool over here, okay? If you hover over here, or perhaps you can also use h, t on your keyboard like this.</p>
<p>And then you can pinch your left mouse button, or you can just click over here, and you can just move back and forth like this, look at that.</p>
<p>There we go.</p>
<p>Let's talk about this feature over here.</p>
<p>So if you click over here, you have two options, the move option and the scale option.</p>
<p>First of all, let's look at the move option.</p>
<p>Okay.</p>
<p>So if I click this move option, or shortcut V, okay, you can see all the shortcuts over here v for move and scale, it is key, okay, so I'm going to select that move option over here, V, okay, and then I'm gonna come over here, and then I'm going to select this frame, in order to like this frame, you're gonna select this name over here.</p>
<p>And then what you're going to do is you're gonna move it like this, look at that, you can move freely, independently, anywhere you want.</p>
<p>Okay, you can select any frame you wish, for instance, let's say that I want to select this frame over here, okay? And then I'm gonna move it anywhere I want like this, because that I can move it like that, not just frame, you can move any element, okay, if you want to move this image, then you can also move it like this, look at that, I have selected this and I'm going to move it like that.</p>
<p>I can move it anywhere I want, like that.</p>
<p>Okay, Ctrl zet.</p>
<p>In order to make you understand the scale feature, I mean, this one even better.</p>
<p>First of all, we need to look at the frame feature, this one and the rectangle feature over here.</p>
<p>So let's go.</p>
<p>Alright, now I'm going to come over here and let's discuss about the frame feature.</p>
<p>Okay, so I'm going to come over here and then I'm going to select this, or shortcut, I'm going to hit F, okay, f like this, then you're going to get all of this options over here.</p>
<p>Okay, who do you know what these are, these are your, these are the screen width of various devices.</p>
<p>Okay, so let's say that I want to work with mobile.</p>
<p>Okay, so I'm gonna click this phone over here and look at this, I have an iPhone 11 Pro max.</p>
<p>And then you see this one over here, this measurement, this is the width and the height of the screen.</p>
<p>Okay, I can also work with iPhone eight, iPhone as a Google Pixel two, etc.</p>
<p>We have a lot of options over here.</p>
<p>But if you don't want the phone, you can also go for the tablet, there we go.</p>
<p>And if we want to work with the desktop, boom, there we go.</p>
<p>And you can also you can even also work with watch, like Apple watch over here.</p>
<p>And then we have social media post dimensions over here as well.</p>
<p>But if we want to make something custom, what you are going to do is you're going to hit F like this, and then click over here like this and you can drag this little icon over here anywhere you want and you can just customize the width and height according to your needs.</p>
<p>Okay, so now the next thing that I want to talk about is this one over here Okay, so what is this this is a frame Okay, it is going to show me that it is a frame but if you want to change it if you want to change the frame to a custom frame, let's say that I want to work with iPhone 11 Pro Max, okay, I'm going to select this Now look, it's gonna change me the width and the height like that, look at that, but if we want to work with it, say we have Surface Pro for okay look at this predefined width and height Okay, if I select this, then it's gonna give me that width and height.</p>
<p>If I select this now look 1368 by 912 pixels, I mean 1368 is the width 912 is the height like that, look at that.</p>
<p>And also you can just drag like this according to your needs, okay, you can adjust the width and height, okay? So look at this x and y, these are the coordinates I mean, where is your frame located in your figma file, this x and y represents that if you drag it like this with that your frame is moving to the left, I mean to the right, okay, if you want to move it to the left like this, then you can also do it like that.</p>
<p>There we go.</p>
<p>If you want to move it vertically, then you can do it with the y axis over here like that.</p>
<p>And if you don't want that feature, then you can just drag your frame over here and I will click your frame over here and drag anywhere you want.</p>
<p>Like this, look at that.</p>
<p>Okay, let's say that I want to place it over Here, okay beside my offered courses, frame over here like that, okay that I have kept it over here, and it's gonna give me automatic calculations over here.</p>
<p>I didn't have to worry about that.</p>
<p>Now let's look at this feature over here, the width and the height.</p>
<p>Okay? You can guess it by the name.</p>
<p>This is used to set the width and height of your frame or perhaps your rectangles as well, or any shapes you want.</p>
<p>Okay? So I'm going to select this.</p>
<p>So I'm going to select this like this and look at this features over here.</p>
<p>Okay, I'm going to select this, and I can individually set the numbers, let's say that I want 800 pixels, Okay, I'm gonna write 800 pixels over here, there we go.</p>
<p>It is 800 pixels over here.</p>
<p>You can also do mathematical calculations over here as well.</p>
<p>Let's say that I want to add another 50 pixels, Okay, I'm gonna write 50 over here.</p>
<p>Now I'm gonna hit enter, look at that.</p>
<p>850 pixels, you can also do minus multiplications, etc, according to your needs.</p>
<p>Okay, I'm gonna, let's say I want to minus nine pixels from here it is 859 pixels.</p>
<p>So minus nine, enter, there we go.</p>
<p>858 50, which is a square.</p>
<p>Okay, I changed my mind, I'm going to set it to, let's say, 350 over here, like this.</p>
<p>Look at that.</p>
<p>Okay, so do you know what mode this is? This is the portrait mode over here.</p>
<p>And let's convert it to landscape mode.</p>
<p>Okay, I'm gonna click this over here like this.</p>
<p>And do you see this tool buttons over here? This is the portrait mode.</p>
<p>And this is the landscape mode.</p>
<p>Look at this.</p>
<p>I look at my first of all, look at my width and height, okay, the width is 350.</p>
<p>Height is 650 is gonna get shifted between these two.</p>
<p>Okay, let me show you.</p>
<p>Okay, I'm going to select this over here.</p>
<p>Now look.</p>
<p>So after selecting this button over here, now look very carefully.</p>
<p>The value of this two jumped, it was 650.</p>
<p>Before, and now it's 350.</p>
<p>Okay, it was 315 hours.</p>
<p>650.</p>
<p>Now look very carefully, I'm going to convert it back to portrayed Okay, like this, look at that, look at that these two values are jumping at the same time our frame is changing over here, look at this.</p>
<p>There we go.</p>
<p>Like that.</p>
<p>If you want to change the angle of a frame, you can just drag over here like this, look at this, I can change the angle of my frame.</p>
<p>Look at this, it is rotating.</p>
<p>Okay, um, let me actually zoom in a little bit.</p>
<p>Now look at this, it will rotate like this.</p>
<p>Okay, we have negative values, we have positive values.</p>
<p>So you can just manually do it as well like this.</p>
<p>I'm going to set to zero like this.</p>
<p>There we go.</p>
<p>Boom.</p>
<p>Now look at this over here.</p>
<p>This is the corner radius.</p>
<p>Okay? Look here very carefully.</p>
<p>I'm going to zoom in, you see this, this is pointy corners, okay? So if I select this, and if I drag like this on the right side, now look.</p>
<p>We can set curves on our shapes and frames, okay? So look at this.</p>
<p>Look very carefully.</p>
<p>Look at this, you see this? Okay, now, let me talk about this one.</p>
<p>Okay, the clip content what this is, okay, in order to make you understand this clip content, first of all, I'm going to set some text over here, okay? He or you can just select this option over here, but don't worry, I'm going to explain in details about this tool and all of these properties.</p>
<p>Okay, it is coming.</p>
<p>Wait a minute, okay.</p>
<p>I'm going to click over here and then click over here like this look, and I'm gonna select some text or it's very big.</p>
<p>Okay, so I'm gonna, what I'm going to do is I'm gonna select over here, okay.</p>
<p>180 pixels.</p>
<p>I'm going to set it to 60 over here like this.</p>
<p>Look at that.</p>
<p>ADF Okay.</p>
<p>Oh, sorry.</p>
<p>fidf.</p>
<p>Okay, just some random text.</p>
<p>Okay.</p>
<p>I just placed some random text over here like this.</p>
<p>Look at that.</p>
<p>ABC.</p>
<p>ABC.</p>
<p>makes more sense.</p>
<p>Okay, so now look what happens.</p>
<p>Okay, I'm gonna remove that clip content from here.</p>
<p>Okay.</p>
<p>Look, nothing is set over here.</p>
<p>Okay, now look, what I what happens is when I resize it like this, look at this.</p>
<p>Okay? The text is outside, the text is outside.</p>
<p>And the frame is getting resized like this, look at that.</p>
<p>Okay, you can clearly see the content.</p>
<p>Even if we resize our frame, you can see that you can clearly see the content, even if we resize our frame, even if the frame is smaller than the content.</p>
<p>But look very carefully.</p>
<p>What happens if I enable the clip content over here like this look like? It gets kicked like a scissor.</p>
<p>Okay.</p>
<p>Now if I resize it, now you can visibly see all the parts of our content over here.</p>
<p>Okay, like that.</p>
<p>Look at that.</p>
<p>Now, let me explain this feature over here.</p>
<p>You see this feature? Resize to Fit.</p>
<p>Now look, what happens if I click this? Okay, there we go.</p>
<p>It resizes I mean, it removes all the gaps and add just to our content.</p>
<p>There's one over here.</p>
<p>This is very useful when we're making buttons.</p>
<p>Let me give an example.</p>
<p>Okay, control Zed.</p>
<p>Let's say that I'm going to make a button Okay, V UTP.</p>
<p>Or like this, and I'm gonna make it a smaller, let's say 30 pixels, okay? And now look, and look, instead of doing this one like this manually like this, we have to do a lot of work over here and then center it over here.</p>
<p>Like this, and then it is called a button over here like that, instead of doing this hard work, what you can do is control Zed, Zed, Zed, Zed, it means I'm in going, I mean, I'm going back, okay, by doing control Zed, like this, look at that.</p>
<p>So what you can do is simply, you just click on your frame, and then you click this over here.</p>
<p>Resize to Fit, there we go, boom, we made ourselves a button.</p>
<p>This is just a sample on how to create a button.</p>
<p>But after a couple of minutes, I'm going to discuss in details how to make a button using auto layout.</p>
<p>I mean, there's one over here with appropriate calculations.</p>
<p>So wait a couple of minutes.</p>
<p>So once that's done, I can adjust the corners over here like this, look at that, there we go.</p>
<p>Like that, I can adjust the corners, and then I can rotate it over here like this, look at that, okay, on to exact.</p>
<p>And regarding the corner radius, look at this, I have this corner, I mean, I have set it to eight pixels, which means that it's gonna say eight pixel over here, eight pixels here, here, here.</p>
<p>Let's say that I didn't want the corner radius to be on the right side, I just want it to be on the left side, just one single side.</p>
<p>So what can we do in this scenario, I'm going to select this over here, and I'm going to click this little icon over here, okay? And then look at this, this is called independent corners, it is set to eight pixels for all the four corners.</p>
<p>Okay, so let's say that I didn't want the corner area on the right side, I just wanted on the left side.</p>
<p>So what I'm going to do is I'm going to do it like this, okay, this is the top, this is the top left.</p>
<p>Okay, this is a top right, I'm going to select this and I'm going to set it to zero like this, look at that.</p>
<p>Now look, the corner effect is removed.</p>
<p>Okay, I'm going to select this again.</p>
<p>And I'm going to select top left, top right, bottom left, bottom right, this one, okay, I'm gonna select this 00 actually, sorry, my bad, I chose the wrong corner over here, what you learn from mistakes, right? So I'm going to select this again, and I'm gonna say to eight pixels over here and zero over here, like this, and then enter.</p>
<p>Look at that.</p>
<p>I have corners over here on the left side, not on the right side.</p>
<p>There we go.</p>
<p>Now let's discuss about this feature, get the slice feature.</p>
<p>So what this is used is, let me actually come to my, let me actually delete this, okay? I'm going to come on to this frame over here, okay, let's say that I just want not the whole image, I just want the head, okay, I just want to download the head, I just want to work with the head.</p>
<p>Okay, so what I'm going to do is I'm going to click this over here, slice, okay? And then I'm gonna draw a rectangle over here on the head section, can you see this properly? Okay, there we go.</p>
<p>Now look, I have a little slice over here, you can see this, okay? Now what I'm going to do is I'm going to select this slice over here, either from here, or I can directly select it here, okay, and then I can adjust the width and height as well like this, look at that.</p>
<p>Alright, and I can also move it like this, look at that, there we go.</p>
<p>And then I'm going to click it over here.</p>
<p>And then can you see this Export button over here, I'm gonna click this export, who is downloading this, okay, I'm gonna click this plus sign over here.</p>
<p>And you can set the image quality as well, you can set it to PNG, jpg, SVG, I'm gonna do it in SVG.</p>
<p>Okay, I'm gonna select this, and then I'm going to export this one, look at this, I have downloaded a little file over here.</p>
<p>So what I'm going to do is I'm going to drag it over here like this, look at this, I just look at this over here, I just downloaded I mean, I just sliced the head, because I just only need to work with the height head.</p>
<p>Okay, now look, look at this.</p>
<p>This is equal to this one over here, this slice over here, I hope you understood the slice properly.</p>
<p>Now, regarding this Export button, you can download anything you want.</p>
<p>Okay, let me actually give you a demo.</p>
<p>Okay, I'm going to delete this home here.</p>
<p>And at the same time, I'm going to remove this slice from here as well.</p>
<p>And let's say that I want to download this single frame over here, okay, just single frame, or perhaps even just the drying, we're here I'm in the illustration, I just want to download the illustration and nothing else.</p>
<p>Or you can also download multiple files as well like tricky by clicking this one and then shift, then click like this, then click like this as well.</p>
<p>Now, let's say for keeping this simple, I'm going to download this image, okay, I'm going to click this over here, and then I'm going to scroll down at the button over here.</p>
<p>And then look at this, I have the Export button, I'm gonna click over here and then look at this.</p>
<p>You can change the size as well you can download it two times three times or four times the actual size, okay? And then we have the PNG, SVG, jpg, PDF, etc formats, okay, you can download anywhere you want, I mean, you can download, you can download in any format you want and then you're gonna hit this export frame button.</p>
<p>And yeah, this feature this preview option is given just to let you know that what you are downloading Okay, you can see this I have just selected this frame, I mean, this illustration over here, let's say that I want to see like this text over here, okay, I'm gonna select this text and I'm going to select this export like this.</p>
<p>And look at that.</p>
<p>It is giving it is giving me this preview that I have just downloaded in there.</p>
<p>text over here.</p>
<p>Now let's discuss the shape feature.</p>
<p>Okay, so I'm going to come over here, you see this shape, it looks like a square, Okay, I'm gonna select this like this, look at this, I have a lot of options.</p>
<p>I have rectangle, line, arrow, ellipse, polygon, etc.</p>
<p>Let's say that I want a polygon, sorry, I want an ellipse, okay, I'm going to click this, or I can select Oh, so I'm going to select all like this and look at this, I can make a circle over here.</p>
<p>But look, this circle looks distorted.</p>
<p>And it's going to be very hard for me to make a perfect circle.</p>
<p>So in this case, what I'm going to do is I'm going to select, I mean, I'm going to hit shift.</p>
<p>Now look, it instantly became a perfect circle.</p>
<p>And now while holding Shift, I can just move my mouse and look, it's gonna give me a perfect circle like this.</p>
<p>Look at that.</p>
<p>Okay, this is a perfect circle over here, I'm gonna delete this.</p>
<p>And I have more options like a rectangle, okay? And I'm gonna select rectangle like this, look at that.</p>
<p>Okay, I can do it anywhere I want.</p>
<p>I can move it anywhere I want.</p>
<p>And I can select the width and height accordingly.</p>
<p>Okay, look at this.</p>
<p>I'm moving this and I'm resizing this like this.</p>
<p>And do you see this little dot over here, this dot this dot, dot dot over here, it is used to set the radius, look at this corner radius, you can do it over here, or you can, you can do it over here directly like this.</p>
<p>Or what you can do is you can select this options over here, okay, like this, as I told you a little bit earlier, okay, you can do it like this as well.</p>
<p>And yeah, do you remember the scale button? I'm do remember this Scale tool over here.</p>
<p>This one, as I told you that I'm going to discuss in details after discussing this frame and this rectangle.</p>
<p>Now I'm going to discuss this.</p>
<p>Okay, so what were the scale button is used, let's say that you want to scale I mean, you want something, let's say that you want to make something bigger.</p>
<p>Okay? So in the case of this circle, do you remember this circle this distorted circle, okay, with this, you cannot make it a perfect circle.</p>
<p>Let's say that I have selected a shift.</p>
<p>Okay, shift.</p>
<p>Now look, it looks like a perfect circle.</p>
<p>Okay, I have released the chip, then let's say that you want to make it a little bigger.</p>
<p>Okay, what you normally do is, you're going to select this like this, look at this, okay, when you try to make it bigger, it is going to get distorted again.</p>
<p>So in this case, what you can do is you can just simply select the shift, and it's going to resize accordingly.</p>
<p>Or what you can do is you can select this scale function over here, you can select this over here directly or you can just select the K option on your keyboard, okay, okay.</p>
<p>And look at this, I have a different icon on my mouse, okay, I'm going to select V, which means move, okay, look at this icon on my mouse.</p>
<p>Okay, I'm gonna zoom in a little bit over this.</p>
<p>This is V, this is for the move, this is the default.</p>
<p>And if I want to resize this K, look at this scale, and this is move.</p>
<p>Okay, I'm gonna give K over here like this.</p>
<p>Now I'm gonna resize Look, it's gonna resize proportionately, and proportional measurements, okay, now look at this, okay? 788 by 788.</p>
<p>Okay, I'm gonna resize it again.</p>
<p>Now look at that, it's gonna give me accurate proportion measurements.</p>
<p>So I'm gonna remove this circle from here and I'm going to draw a perfect square, okay, shift, and then, oh, sorry, I'm gonna hit R, which means rectangle, or you can just select it from here as well, and shift and then drag like this.</p>
<p>Look at this.</p>
<p>This is a perfect square.</p>
<p>Okay, now let's talk about this feature this field feature Okay, this is used to color your rectangle, I mean, color your shapes like this.</p>
<p>To do that, you can color it anything you wish.</p>
<p>You can also put input the hex value, you can also change the opacity over here, you can also use this predefined colors.</p>
<p>Let's say that I want to use sky blue over here because that enable also uses dropper tool.</p>
<p>Okay, if you select this dropper tool, then you can select anything you wish.</p>
<p>Let's say that I want my box I'm in my square to be the color of this.</p>
<p>Okay, so I have this eyedropper on my hand.</p>
<p>And when I select this over here, like this, now look at my square over here, look, this is the same color as this one over here.</p>
<p>Now let's look at more features that we have no right panel over here.</p>
<p>Okay, this features Okay, I'm going to select it over here and I'm going to change it to the default color.</p>
<p>Okay, wait a minute, e4, e4 info like this.</p>
<p>Oh, sorry.</p>
<p>There we go.</p>
<p>It is c four c four, c four.</p>
<p>Alright, so the first thing that I want to discuss is the stroke.</p>
<p>So what this does is it gives a stroke around our box.</p>
<p>Okay, let me show you Okay, okay, I'm gonna select this like this.</p>
<p>We're gonna, it's gonna generate me a little stroke over here.</p>
<p>Okay, can you see this black colored outline over here? I'm gonna increase its width okay like this look 345678 910 so the stroke is 10 pixels.</p>
<p>Okay, can you see this black color tick stroke over here.</p>
<p>You can also change the various properties like the color the size, then should it be inside the box.</p>
<p>Should it be on the center or should it be outside the box like that, look at that, you can also hide the shadow, I mean, you can also hide the stroke like this.</p>
<p>If you select this eye button over here like that, look at that.</p>
<p>You can also click it over here again, and it's going to show me the stroke over here.</p>
<p>And if you want to remove this stroke permanently, you can also use the minus button over here like this, look at that, it went away.</p>
<p>Okay, now we're gonna look at this FX feature.</p>
<p>Okay, for that, I'm gonna just resize this a little bit like that.</p>
<p>Okay, now, if I select this effect button, look at this, I have this panel over here, okay, I have a lot of options.</p>
<p>Like if I want to make a drop shadow, or if I want some layer blur, or perhaps background blur, we have Inner Shadow as well.</p>
<p>For now I'm going to show you the drop shadow.</p>
<p>Okay, I'm going to select this over here.</p>
<p>And yes, you can experiment on your own.</p>
<p>And look at this, I have a little bit of shadow, you see this shadow at the back of this rectangle? Let me actually remove that child.</p>
<p>Okay, look at this.</p>
<p>You see that? Do you see the shadow over there? Okay, I am hiding the shadow.</p>
<p>Now let me bring that shadow back.</p>
<p>Look at this.</p>
<p>So this so this drop shadow is used to make shadows, draw shapes, frames, buttons, cards, etc.</p>
<p>Alright, so now look at this over here.</p>
<p>This is called the effect setting.</p>
<p>Okay, so I'm going to click over here and then I can adjust the shadow.</p>
<p>Okay, so this is the x, which means that my shadow will move left and right like this, look at that.</p>
<p>Okay, look at this, look, my shadow is moving left and right, if I want to, if I want to move the shadow, top to the bottom, like this, I'm going to use this wide button over here.</p>
<p>Okay, like that.</p>
<p>Look at that.</p>
<p>And then if I want the shadow to spread, I'm going to use the spread over here like that, look, look, the shadow is getting bigger, okay, and smaller as well.</p>
<p>And you can also change the color over here, opacity over here as well.</p>
<p>And if you want to change the blur, you can do it like this.</p>
<p>There we go.</p>
<p>We're increasing the blur.</p>
<p>So we're going to include this drop shadow when we are making buttons.</p>
<p>Okay, let me actually give you a demo.</p>
<p>Look at this, our buttons have a little bit of drop shadow over here, as well as this cards, look at these cards.</p>
<p>Okay, this has drop shadow.</p>
<p>So when we're making this layout, I mean, when we're doing this design, we're going to utilize this drop shadow.</p>
<p>Whatever I have discussed so far, this is the design section, okay, on the right panel.</p>
<p>So this is a prototype over here.</p>
<p>After a couple of minutes, I'm going to discuss about this for a live Okay, so don't worry, and look at this inspect over here.</p>
<p>Okay, so if I go to inspect, then is gonna generate me CSS code.</p>
<p>Let's say that I want the code of this one.</p>
<p>Okay, this section over here, then I'm going to select this over here and look at this.</p>
<p>It is generating the CSS over here like this, look at that.</p>
<p>If you're a developer, you can save time.</p>
<p>Look at this display, flex flex direction, column justify content center, align items, flicks start, so on and so forth, along with all of this look, pixel measurements over here along with the padding with height, etc.</p>
<p>So this inspect tool is very handy.</p>
<p>Alright, now I'm going to discuss in details about all of these tools over here.</p>
<p>These are the alignment tools.</p>
<p>Okay? So in order to discuss about that, I'm going to come over here and I'm going to draw a frame, okay, F and then I'm going to drag it like this, look at that.</p>
<p>Okay, so now I'm gonna write some text, okay, D, and then click over here, and then some text over here, okay, like that.</p>
<p>Okay, let me actually write ABCD.</p>
<p>Okay, ABCD like that on through a capital letter A, A, A, B, C, D, there we go.</p>
<p>Let's say that I want this text to be at the very center.</p>
<p>So what will we do? Okay, so if we come over here, look at this Align Horizontal center, if I click over here, like this, now look, our text is at the very center, horizontally, okay? If I wanted to be at the very center vertically, I mean, if I wanted to be at the very center over here, so what I'm gonna do, what am I gonna click, I'm gonna click over here, look at this.</p>
<p>This is the Align Vertical Centers like this, look at that, it is at the very center, both horizontally and vertically.</p>
<p>Let's say that I want to move it to the very left at the very left, okay, what I'm going to do is I'm going to click this over here, like this.</p>
<p>This is alignment left.</p>
<p>If you want alignment, right, you can also do it like this, this option over here like this.</p>
<p>So you can experiment with all of these values over here.</p>
<p>And regarding this, I'm going to delete this over here like this real quick.</p>
<p>And regarding this panel over here, I'm in this tool over here.</p>
<p>And regarding this text, this is the file name, okay, if you double click over here, then you can rename it Okay, so I'm going to keep it figma file over here, I'm in figma tutorial over here like that as it is and if you click over here like this, you can download this figma file, you can also duplicate it, you can rename it any goal to delete this as well.</p>
<p>So these are the options that you have.</p>
<p>You can also share it with their friends that what you created so far, like you created this frames over here if you want to share it with their friends or perhaps if you want to share it with your clients, then you can click the Share option over here and then you're going to find appropriate details.</p>
<p>Okay, so I'm gonna remove this night right now and Okay, now regarding this button over here, this is called a present button.</p>
<p>So if you click on here, then you can see your designs life at the same time.</p>
<p>If you're working with prototype, then you can also view your I mean, you can also test the interactivity of your prototypes live.</p>
<p>Don't worry, I'm going to discuss this product after a couple of minutes.</p>
<p>Okay? So let's say that I'm going to click on here, okay, after selecting this design over here, okay, I'm gonna click this, I can feel this over here.</p>
<p>Now look at this, this is the desktop type program.</p>
<p>Okay? And if I come over here, if I click this arrow over here, then it is going to go next like this.</p>
<p>Wait a minute, these are the sections.</p>
<p>Look at this.</p>
<p>This is my design over here.</p>
<p>Okay, I can view it over here.</p>
<p>No, no, this is very large.</p>
<p>Okay, I want to make it small.</p>
<p>So what I'm going to do is I'm going to come to this options, and then I'm gonna, I'm gonna select this fit, scaled down to fit, okay, like this.</p>
<p>There we go.</p>
<p>Now, now it looks much better.</p>
<p>Okay, so I'm gonna come over here, and I'm gonna go next.</p>
<p>Or perhaps you can also use an arrow right like this, look at that, he's gonna move to the next frame like this.</p>
<p>So by this way, you can preview your designs, what you create so far, okay, you can view it like this.</p>
<p>Look at that.</p>
<p>There we go.</p>
<p>Now we're going to discuss that what the text tool in details.</p>
<p>So this tool over here, the text tool is used to add text to all Web Designs.</p>
<p>So if you notice carefully that every design the desktop, tablet, laptop, mobile contains this chart over here, okay, this is the typography guide chart shows that what should be the font size of the logo, the font size of the nav items, font size of the large text, font size of the small text, the text of the button, etc, along with the line height over here.</p>
<p>So you can see that the line height of large should be 90 and line height of small should be 43.</p>
<p>Over here.</p>
<p>Same goes for the mobile design as well look at this over here, I have included the mobile typographic over here, the logo, this logo is 48 pixels, then large text 32 button is 24 pixels, so on and so forth.</p>
<p>It also this chart is also mentioned for the laptop as well.</p>
<p>So look at this over here, this is the laptop design over here.</p>
<p>And this one is the typography for the laptop design.</p>
<p>Okay, so the logo is 60 pixels, the button should be 30 pixels, so on and so forth.</p>
<p>So I'm going to come over here, and over here, I'm going to create either a rectangle or a frame, so you can so we can hit our like this, and it's going to create me a rectangle, what I'm going to use a frame over here, okay, control that.</p>
<p>So if if you hit F like this, it's going to create a frame like this, look at that.</p>
<p>Okay, I'm going to make the frame a little smaller, let's say 1000 by 500.</p>
<p>Okay, that will do for this tutorial like this, look at that.</p>
<p>Alright, then in order to use the text tool, you directly click over here like this, and it's going to highlight blue over here and you're going to get a plus sign on your mouse, can you see my mouse over here it is in plus sign, okay.</p>
<p>And if you want to do it in a shortcut way, you just hit t on your keyboard like this T and it is going to highlight that text over here on your mouse.</p>
<p>And if you click anywhere, then you can get this sign over here you see this then you can add text like this, look at that it is said 210 pixels, but by default, your text should be 12 pixels like this, which means that Wait a minute, it should be on curved pixels like this, which means that it's going to be very small.</p>
<p>So what you're going to do, you're going to click over here okay.</p>
<p>And you see this option over here this is used to set the font size so what is the font size of all dekstop let's say it is for the logo is 90 pixels, okay? So let's say to nine pixels, like this look, it is set to 12 I'm gonna set 90 over here like this, okay, pay that enter and then is the output mean this result Okay, so this is used to set the font size.</p>
<p>And this one you see this this is used to set the font family, it is kinda set to Roboto and if I click over here and I can change the font family as well like this, it should be let's say we're going to say to Poppins like this p o p p i ns Poppins, okay, now look, the font family changes.</p>
<p>Similarly, I can also write sans serif over here, sans.</p>
<p>Let's go for sensation.</p>
<p>Okay, I'm going to hit enter like this.</p>
<p>Look at that it changed.</p>
<p>And if you click this drop down icon over here like this, then you have tons of options of for fonts.</p>
<p>You can pick any font family you want, like this, look at that.</p>
<p>So I'm going to say to pop in like this p o p p i ns Poppins like that, and I'm going to name over here, a do.io like this, okay, because we're going to deal with this logo after all.</p>
<p>Okay, so now the next thing that I'm going to show you is this one, okay? This is the font weight, it is kind of set to red, it is currently set to regular.</p>
<p>You can also set extra light over here like this.</p>
<p>Look at that.</p>
<p>The font weight changes, okay? You can also say To set it to paint like this, look at that it became thin.</p>
<p>You can also say to this extra ball, look at that how bold this text is.</p>
<p>Okay, I hope you understood it so far.</p>
<p>And you see this over here.</p>
<p>So this is used to set the line height, look at that it is written highlighted over there line height, okay, so I'm going to insert it to let's say regular, okay, like this.</p>
<p>So um, this logo should be regular.</p>
<p>And in order text in, I'm in a retest this line height, you cannot just simply test with just a single line, you need multiple lines, okay, so I'm going to delete it over here like this, and I'm going to drag this one, just text, you see this text over here, I'm going to drag it to our test case.</p>
<p>So in order to drag it, so what you're going to do is you're gonna control you're going to hit control, okay, and then just pick this text over here like this.</p>
<p>And then I'm going to zoom out, and I'm going to click the old, I'm gonna select the alt text like this old, and you see my mouse is getting a little shadow on its back, like two months together.</p>
<p>Okay, so I'm gonna select the old text and I'm going to move my mouse like this, look at that, it is getting copied, Okay, I'm gonna come over here and don't move.</p>
<p>Okay, just First of all, just release your mouse click like this, okay, and then you're going to release the Alt key like this look.</p>
<p>Now we have successfully copied our text on here, okay? Now look at this.</p>
<p>Now, now we're gonna come over here, and we're gonna see like this, like this, and then we're gonna see this, okay? Look at here, line height is set to 43.</p>
<p>And if we want to change it, then you're gonna click over here, or you can directly you can directly put the number over here like this, let's say I want to say 210 pixels like this, okay? If I click enter, now, look, it has 112 110 pixels of gap over here.</p>
<p>Let's say that I want to set it to 20.</p>
<p>Okay, you can directly input it over here, like this 20 Look at that, it became very congested like this.</p>
<p>Okay, so if you click over here, you see this, I got a small icon, okay, arrow sign icon like this, I'm going to move my mouse like this.</p>
<p>Now, look, I can practice with this real time like this without worrying about, I mean, without directly inputting the value over there.</p>
<p>Okay, look at that I'm just playing out, I'm just playing around with a mouse so that I can find that sweet spot, which would be ideal, which will be the ideal line height.</p>
<p>Okay, so I'm going to change it to 43.</p>
<p>Like that, because it is actually given on the style guide over here.</p>
<p>Wait a minute, over here, look at that the small text, it should be 30 pixels.</p>
<p>And look at this, the line height should be 43 pixels, okay? I'm going to come over here like this.</p>
<p>And look at this, the, the font size is 30 over here, and it is set to Poppins and the line height is 43.</p>
<p>Over here.</p>
<p>Now, do you see this over here, this is called a ledger spacing.</p>
<p>So line height works like this, okay, but the letter spacing, legislating works like this is going to put cap between our little like this, okay, I'm going to show you Okay, I'm going to keep it over here like this.</p>
<p>And watch very carefully.</p>
<p>Oh, by the way, you can also input direct value over here like this, clearly over here like this, then it's going to be 30%.</p>
<p>Or perhaps you can also set this, I mean, you can also use this mouse over here, and you're going to get this little arrow sign, okay? So I'm going to drag like this look at that is going to change according to my mouse movement.</p>
<p>Okay, look at that, like this, it's working like that.</p>
<p>So this is used to set the ledger spacing, I hope you understood it so far.</p>
<p>I'm gonna set it to zero over here like this.</p>
<p>Now look at this one.</p>
<p>This is called the paragraph spacing, okay, in case if you have multiple paragraphs, then this is going to work.</p>
<p>Okay.</p>
<p>So if I drag like this over here, then you can see this behavior, it is working like a line height, but it should not work like a line height.</p>
<p>Because I have actually used some gap over here like this, it may actually show you wait a minute, I'm going to set it to default controls that control set again like that, okay.</p>
<p>So what is happening is I have given some line break over here and there so it is behaving like a parallel, but if I set it to it, or you know, state like this, wait a minute, just give me a second, okay? It is actually the ordinal state.</p>
<p>Look at this long text over here.</p>
<p>Okay.</p>
<p>Now, I'm going to shrink it like this.</p>
<p>Look at this.</p>
<p>Okay, I'm going to shrink it like this.</p>
<p>And it's going to behave like this.</p>
<p>Okay, let me actually zoom in.</p>
<p>There we go.</p>
<p>I hope you can see this.</p>
<p>I hope you can see my screen.</p>
<p>Okay.</p>
<p>I'm going to look at this.</p>
<p>This is behaving just like a single paragraph.</p>
<p>Okay, now look, now look what happens if I use it.</p>
<p>Okay.</p>
<p>Now, look, it is not working.</p>
<p>The paragraph spacing is not working.</p>
<p>This will only work when you have multiple paragraphs.</p>
<p>Okay, let me actually show you okay.</p>
<p>I'm going to copy this one over here like this.</p>
<p>Let's say two lines, okay.</p>
<p>Ctrl C, and then I'm going to paste it over here like this.</p>
<p>Ctrl V, there we go.</p>
<p>So how many parents do we have? We have two parents.</p>
<p>Now look at this paragraph height.</p>
<p>I mean, paragraph spacing, we said 23 pixels.</p>
<p>I'm going to drag my mouse like this.</p>
<p>Look at that.</p>
<p>I can see range that paragraph spacing but look, it's it's it is set to zero but there is some gap over here that is the gap of your line height.</p>
<p>Look at that.</p>
<p>Okay, you can also right over here, but if you remove that whitespace from here, then look, is it gonna work like that? Now look, it is set to zero, exact zoo.</p>
<p>Okay, I'm gonna drag it over here like this.</p>
<p>Now look, it is working perfectly fine.</p>
<p>There we go.</p>
<p>Let's do the next feature.</p>
<p>Okay, I'm going to click over here and look at this.</p>
<p>Do you see this? This is the text align left text align center text align, right.</p>
<p>Okay, let's experiment.</p>
<p>Okay, so I'm going to drag it, I'm going to drag the window like this, okay, over here like this.</p>
<p>Look at that.</p>
<p>Now look, the text is behaving on the left side, okay, text align left.</p>
<p>Now I'm gonna change the center.</p>
<p>Okay, you see this third line over here, look at that it is set to left.</p>
<p>Now he's gonna move to the middle like this, okay, if I click over here, like this text, align center.</p>
<p>Now look, it is changing the alignment, the text alignment is changing to center like this.</p>
<p>And I have also the option of right over here, look at that, right text align, right.</p>
<p>So if we want to, if we want the option of justify, you're going to click this little icon over here, okay, wait a minute, we're gonna click this little icon over here.</p>
<p>And then you're going to find this justify over here, which means that is gonna, appropriately, I may equally distribute the spaces in a way that it fills the whole box over here.</p>
<p>Okay, so let me actually make this para into a line like this.</p>
<p>Now look at that, you see this one, this line over here, and this line over here, look, the text are equally distributed inside the box so that it looks like text align justified.</p>
<p>Alright, so I hope you understood this alignment tools over here.</p>
<p>Now look at this tool over here, okay, or a width, or a height, and then fixed size.</p>
<p>So, so in order to discuss this tools over here, first of all, what you're going to do is you're gonna reduce the size of your font size, okay? So I'm going to set it to let's say, let's say 2020 pixels like this.</p>
<p>Okay, now, let's say I want to drag it like this, okay, I'm going to drag that box like that.</p>
<p>Now, look, this is behaving like a fixed height, which means that our pair over here will occupy What is this 912 pixels of weight into 286 pixels of height.</p>
<p>So it is going to occupy that much amount of space in on our web design or perhaps on our on our frame.</p>
<p>Okay, so I can drag it like this.</p>
<p>Now, look, it is gonna, I mean, those snapping guides.</p>
<p>Okay, you see, this orange Schiller's colored guide over here is going to work according to our box, I mean, the box which carries the text, okay, so this is how the fixed height, I mean, fixed size works, but if you snap it to or a width, which means that it's gonna hug the content inside the box, so that there is no additional spaces, look at this, you see this box over here, along with the blue colored guides, okay, so I'm gonna click over here, which is or a width, now look at that, it is going to work as if it is a single line, first of all, and the next thing is, is not going to keep any additional gaps.</p>
<p>Okay, so let's say that, I want to break the line, okay, I want to break the line over here like this.</p>
<p>So you can also do it, you can also break the line like that, there we go, it's gonna work like that.</p>
<p>And if I, let's say, for any instance, this changes to like this, okay, it's gonna, let's say that it changed to this.</p>
<p>So what you're gonna do is if you want to reduce those white spaces, normally, most of the people, what they do is they're gonna do it like this look.</p>
<p>They're gonna do it like this.</p>
<p>But this will not give you exact measurements.</p>
<p>I mean, it is not the ideal scenario.</p>
<p>So what you're going to use is you're going to use this little icon over here with auto auto Wait, okay, the auto hide, wait a minute, these auto hide works in a similar manner, okay, it just works with the height.</p>
<p>Okay, I'm gonna click over here.</p>
<p>And if I select this, then it's gonna automatically snap those height and remove those whitespace from my text like that.</p>
<p>Okay, now let's look at this tools over here, these three tools over here, okay, this is align top, align, and the middle and align and the bottom.</p>
<p>Okay, let's say that I have this text and I'm going to resize it like this.</p>
<p>Okay, now look, I have a lot of space inside my rectangle.</p>
<p>And where does my text where's my text aligned, it is aligned at the top, very top.</p>
<p>If I want to take it on the middle like this, okay, I can use this one over here like this, look at that, it's gonna come to the middle inside this box.</p>
<p>And let's say that I want to take my text at the very center.</p>
<p>Okay, what I'm going to use is I'm going to use this little icon over here, Li important.</p>
<p>I get like that, look at that.</p>
<p>It has aligned, it has aligned to the model.</p>
<p>So let's change it back like this at the top and then or a week like this.</p>
<p>There we go.</p>
<p>Now let's look at this tools over here.</p>
<p>Okay, you see these three dots.</p>
<p>So we're here, if you select this like this, then you're going to have more tools.</p>
<p>Okay, first of all, you're going to get this alignment tools over here, and then the decorations.</p>
<p>Okay? So if you hover over here, then you're going to get live preview what each every tool does, like this, look at this underline tool is going to underline my text, okay? If I select this like this, you're going to not only see the result over here, live, look at that, look at this little screen, okay, you can also see the result over here, okay, like that.</p>
<p>So I'm going to click it over here as well.</p>
<p>So if I want to remove the declaration, then I'm going to select this over here like this, none, then you can also strike through the text like this, you have a lot of options.</p>
<p>If you want to make two lists, look at this list option over here, okay, if I click this, then it's going to create me a list, okay? unordered list.</p>
<p>And if we want to make it an ordered list, then you can click this over here, an ordered list in 123, so on and so forth.</p>
<p>So if we want paragraph indentation, you're going to utilize this feature.</p>
<p>Okay, wait a minute, this paragraph indentation feature, okay.</p>
<p>So if you say it, let's say 30 pixels like this, okay? Oh, this is actually not working.</p>
<p>That's because we have multiple line breaks.</p>
<p>So I'm gonna make it just a single line, like this.</p>
<p>Wait a minute, just give me a second and then I'm gonna drag this inside my frame.</p>
<p>Okay.</p>
<p>Wait a second like that.</p>
<p>There we go.</p>
<p>And it is just working like a single paragraph and then oral height like this.</p>
<p>I mean, oral width like this.</p>
<p>Okay.</p>
<p>Oh, I did in the wrong way.</p>
<p>My bad.</p>
<p>Sorry.</p>
<p>Okay, now, looks good.</p>
<p>Now, look, I have some paragraph indentation at the very first of the text.</p>
<p>Okay, look at this.</p>
<p>We have 30 because we have 30 pixels of gap over here.</p>
<p>If we want to increase the gap, let's say 100.</p>
<p>Let's go 400.</p>
<p>Okay, 100 like this.</p>
<p>There we go.</p>
<p>We have 100 pesos of gap over here.</p>
<p>Let's look at more options that we have.</p>
<p>Okay, so we have the lowercase over here.</p>
<p>Okay, this is the default, I mean, the way you write it is going to be default.</p>
<p>Okay.</p>
<p>So if we want all the text to be capital sized, okay, you have this uppercase, okay? Now look at this text, okay? lorem ipsum dolor state, okay, it is in small text, lowercase letter, okay, I'm going to change it to uppercase letter.</p>
<p>Okay, I'm going to click over here and then I'm going to click this, okay? It is the preview, it is going to give me a preview over here as well.</p>
<p>Okay, so I'm going to click this over here.</p>
<p>Now look, all the text all later has changed to upper upper case letters, okay, like this, look at that.</p>
<p>You can also change it to lowercase letters, I by clicking this, again, look at that all the texts are I mean, all the letters are lowercase.</p>
<p>By the way, if you want to change the color of your text, what you have to do is you're going to select any text, okay, let's say that I want to see like this text over here, okay, so I'm going to what I'm going to do is I'm going to Ctrl and then click over here like this, okay? Or what you can do is you can double click over here like this, and it is going to get selected, okay, okay.</p>
<p>And then what you're going to do is you're gonna scroll down over here, and you see this fill option over here, you can change the color over here by inputting your hex value over here, or what you can do is you can just select this option over here, okay, you can get this eyedropper over here, which means that you can pick any color you want, like this look, I'm going to select this over here like this.</p>
<p>Let's say that I want to change it to this color over here.</p>
<p>Okay, so I'm going to select this ello the text gets colored according to this color over here.</p>
<p>Similarly, what you can do is you can drag this little small dot over here and you can play any way you want and the color changes accordingly.</p>
<p>Okay, I'm gonna move this ball over here, and you're gonna see the changes over here.</p>
<p>Okay, look at this, I'm going to change the black letter sound, I want to, I want to change it to black, let's say like this, okay, and let's say I want to change it to white.</p>
<p>Okay, I'm gonna go over here like this.</p>
<p>By the way, you can also move this over here to change the color.</p>
<p>Okay, let's say I want to go to red.</p>
<p>Okay, I'm going to come to red over here, and this palette over here turns to red, okay, and I can move it over here as well like this.</p>
<p>Okay? If you want to change the opacity, then you can change it over here like this look, I'm gonna look I'm gonna drag this slider over here and look at this effect over here.</p>
<p>Okay, it's gonna get changed.</p>
<p>Okay, look at this.</p>
<p>I'm going to drag it and look, the opacity changes, okay, if I turn it to zero, it's gonna be invisible.</p>
<p>Okay, effort.</p>
<p>If we go to absolute zero, like this, then is going to get invisible.</p>
<p>Okay, so ladies and gentlemen, we're done discussing the text tool along with all its properties.</p>
<p>As a beginner, you don't have to understand prototypes.</p>
<p>So this is a feature that I'm discussing right now, the paradigm over here, this one okay, but for the sake of this tutorial, and to make you understand how and where the product feature is used, I have created a small section over here on this page, okay, so you can see this for right sample, you're gonna come over here okay.</p>
<p>Now you can see two designs over here, okay, this is the mobile design.</p>
<p>Now, let me tell you where product is used.</p>
<p>prototype is used to make interactive web designs.</p>
<p>So I have kept an example over here on this section.</p>
<p>Okay.</p>
<p>Perfect.</p>
<p>sample.</p>
<p>So now what I'm going to do is I'm going to click over here, okay? For right like this.</p>
<p>Now look, I already created some frames over here, but I'm going to delete it.</p>
<p>Okay? So I'm going to click it over here like this.</p>
<p>And I'm going to delete, and then I'm going to click over here and then delete.</p>
<p>Okay, so I'm starting, I'm starting from scratch in order to make, sorry.</p>
<p>So I'm starting from scratch, in order to make you understand how the system works.</p>
<p>I mean, the product how prototype works.</p>
<p>So first of all, let's understand this model over here.</p>
<p>Okay, so this is our nav bar over here.</p>
<p>And this is the hamburger menu icon over here.</p>
<p>Okay, so the moment we click this menu icon over here, okay, is gonna get converted to this cross sign over here, and then this content over here will get vanished.</p>
<p>And then it's going to show us our menu items over here, like home teacher, so on and so forth, etc.</p>
<p>In order to create a portrait, right, what you're going to do is you're going to click over here, okay, this section for right like that, and you're going to get this instructions over here.</p>
<p>Okay, so the first thing that we're going to do is, I'm going to select this, okay, by double clicking over here, like that, look at that, I have selected this hamburger menu icon.</p>
<p>Okay, so look at this, do you see this plus sign over here? It means that the moment we click on here, or the moment we tap on here, where do we where will this lead us to? Okay? It's going to lead us to this frame over here.</p>
<p>I mean, this design over here, okay, so I'm gonna click and drag this one like this, look at this arrow on my hand.</p>
<p>Okay, I'm going to drag it like this over here.</p>
<p>There we go.</p>
<p>So this is getting linked to this one over here.</p>
<p>All right, and then it's going to give me this option over here.</p>
<p>So look at this interaction details that popped up.</p>
<p>Okay, so it's telling me it's asking me how this interaction should take place.</p>
<p>Okay, should it be on click or on drag, all while hovering while pressing, then we have mouse and we have a lot of options over here to pick from what what For this tutorial, I'm going to keep it very simple, okay? On click, which means that the moment we click this one over here, then it is going to choose this frame over here, okay.</p>
<p>And then we also need to click over here, so that we can go back to this main content over here.</p>
<p>So how do we do this, we're going to do the same thing.</p>
<p>Okay, we're going to double click over here on this cross site.</p>
<p>And then you see this little plus over here, let me zoom in, you see this little plus over here, we're going to select that and drag it back to this main frame over here like this.</p>
<p>Okay, that, there we go.</p>
<p>And there is also going to show me this interaction designs, I'm interaction details.</p>
<p>Okay, so what I'm going to do is, I'm going to keep it as it is, and then look at this animation over here.</p>
<p>So I'm going to click over here.</p>
<p>So instead of instead, I'm going to select dissolve over here like that.</p>
<p>So you have a bunch of, I mean, a lot of options to choose from, but I'm going to keep it very simple, just dissolve, okay, like that.</p>
<p>And I'm going to select this one as well.</p>
<p>And I'm gonna set the animation to dissolve as well like that, look at that.</p>
<p>Now look, in order to test this prototype, what you have to do is you're going to click this play button over here, do you see this play button over here.</p>
<p>And when I click it like this, now let's experiment, it's going to create a new window over here, okay? And there we go.</p>
<p>Look at this, our design is over here.</p>
<p>I mean, this is our prototype over here, okay? Now, look at this, look at my mouse over here, wherever, wherever I go, it is just a mouse, okay, but wherever, what whenever I come over here, look at this is gonna turn into a pointer, which means that this is clickable.</p>
<p>If I click over here, then it's going to give me some animations or interactions.</p>
<p>Okay, now look, I'm gonna test it over here like this.</p>
<p>Okay, I'm gonna click like this, look at that.</p>
<p>Look at that, we have our navigation menu items over here.</p>
<p>And we also have this cost center over here.</p>
<p>Okay, I'm going to click over here again, like that, we're gonna, it went back to our frame, main frame over here.</p>
<p>Let's experiment again.</p>
<p>Okay, click like this.</p>
<p>There we go.</p>
<p>And then in order to go back to that, you see this animation, this dissolve animation, look at that.</p>
<p>It is just fading in fading out.</p>
<p>I really hope that you understood the product feature.</p>
<p>If you want to experiment with the product, you're going to come to this section over here the prototype sample and follow the instructions that I have given you.</p>
<p>Now we're going to discuss that with a feature called auto layout.</p>
<p>Today, I'm going to show you two use cases how to use the auto layout.</p>
<p>First of all, I'm going to show you how to align your content, this content over here, this text this text this button at the same time, I'm going to show you how to make this button over here using the auto layout.</p>
<p>So now you're going to come over here like this, and we're going to create a new frame over here, okay, so you hit F like this on your keyboard, okay, and then you're going to drag it like this.</p>
<p>Look at that.</p>
<p>We have created ourselves a new frame.</p>
<p>Okay, let me actually resize it a little bit.</p>
<p>Like this.</p>
<p>Look at that.</p>
<p>Okay, it looks quite good.</p>
<p>And then now I'm going to create a text Okay, so d and then I'm going to place it over here like this, okay, I'm going to write something like this.</p>
<p>And then I'm gonna set the size to let's say 60 pixels.</p>
<p>Okay, wait a minute.</p>
<p>It's gonna work like now 16.</p>
<p>There we go.</p>
<p>And now I'm going to duplicate this.</p>
<p>Okay, let's say that I want to duplicate this to James, okay, I'm going to select the keyboard named alt, okay? And then I'm going to drag it like this, look at that, okay, it's gonna get copied, okay? Alt, and then use your mouse like this, look at that out, and then mouse is gonna duplicate me the same thing.</p>
<p>Okay, control Zed.</p>
<p>Now, where is the oral layout used? Let's say that this text are over here like this, look at that, okay, in this array, let's say that I want to align them to the very left, or exact measurements, how what I mean, look at this over here, you see this text, one, two, and then this button over here, you see, all of these elements are aligned to this box, this blue colored box over here on the very left on exact accurate measurements.</p>
<p>So if we want to copy this layout over here like this, then what we generally have to do is we have to individually select this element, okay? And then we have to take the help of this guy's over here, do you see this orange color guide that is showing me the number of gaps 57 pixels, okay? If I come over here, like this, look at this, the orange color guide is getting highlighted.</p>
<p>Okay, let me show you again.</p>
<p>Okay, look at this, okay, now look, this is on accurate, left, Align Left, okay.</p>
<p>And then if I drag it over here, like this, now look, it's gonna get aligned to the left, according to this size over here, okay.</p>
<p>And then let's say that I want to decrease the size over here, okay, I'm going to select this like this, okay, I'm going to do it like this, and it got decreased reduced in size.</p>
<p>And let's say that I want to decrease it even further.</p>
<p>Okay, I'm going to remove these letters from here like this.</p>
<p>Okay, now, let's say that I want to change the gap in between this content, okay, it's gonna be a hassle, okay, you have to just individually take your mouse, and then you have to place it like this.</p>
<p>And if you want to calculate the space, what you have to do is you're gonna click any element, let's say that I want to click this element, okay, this element, and then I'm gonna select my Alt key on my keyboard like this.</p>
<p>And then wherever I place, my mouse is going to show me that calculation.</p>
<p>Like look at this, the distance between these two elements, okay, is 51 pixels, look at this orange color guide, it is highlighting 51 pixels.</p>
<p>Similarly, let's say that I want to select this and calculate the gap between these two content, okay, I'm going to select out, and then I'm going to put a mouse on this content, look at this 39 pixels.</p>
<p>This is how it works.</p>
<p>But it's gonna be a long hassle if you do it manually.</p>
<p>So in this case, what you can use is the auto layout.</p>
<p>Okay, let me actually show you okay.</p>
<p>I'm going to click all of them together, and then I'm going to right click like this and look at this option or add auto layout.</p>
<p>Okay, I can do it over here like this, or do you see this option? shortcut keys shift a, you can also press the shift n is going to work, okay? Like this, look at that.</p>
<p>Okay, now look, if I.</p>
<p>So if you notice on the right side, you see this new section over here, this is called oral now, okay, if you want to remove the oral layout, then you're going to select this minus over here, okay? And then it's going to remove it and convert it back to a frame.</p>
<p>How do you know when it gets converted to a frame? Okay, you're gonna actually you're gonna show you're gonna see on the right side, okay, look at this, okay, this hashtag, this hashtag means the frame.</p>
<p>Now, if you go back by selecting control Zed like this, look at this over here, wait a minute, look at this, we have two rows like this, I mean, two lines like this, this represents the auto layout.</p>
<p>Okay, now let's look at the options that we have.</p>
<p>Okay, so I'm going to select this like this, and it's going to highlight me that auto layout, okay, look at this, I have 45 pixels of gap in between each of this content, okay? So if I drag my mouse like this limit, the amount of gap in between this content changes, okay, like this, look at that, again, lowest is zero, and upper limit is anything you wish, okay, like this, let's say I want to set it to 25 pixels like this, look at that.</p>
<p>And this one, look at this one, this is used to add padding around your continuity, let me show you Okay, I'm going to select this and drag it like this, we're gonna look at this padding is getting added all around my content like this, look at that, if we want to change again, like this, look, padding is getting applied like that.</p>
<p>Now let's talk about this feature over here.</p>
<p>padding and alignment.</p>
<p>Okay.</p>
<p>So if I, let's say that I want to increase my size of my content, okay, like this, look at this.</p>
<p>I'm gonna drag my blue colored box like this and it is gonna increase in size.</p>
<p>Let's say that I want to place a condom at the very center.</p>
<p>How do I do this, in order to do it quickly, easily efficiently, we're going to use this tool alignment and panning, okay, and when I select like this, and look at this, I have so many options.</p>
<p>I can select it any I can place it anywhere I want.</p>
<p>So our criteria is where to set it at the very center.</p>
<p>How do we do it? We're gonna click this over here, you see this over here, option.</p>
<p>Look at that.</p>
<p>It got centered on our box over here.</p>
<p>Okay, so let's say that I want to see like this, I want to place it on this corner over here on this corner over here, we can do it.</p>
<p>So you're gonna see like this, like this, look at that.</p>
<p>It's gonna get Move to this section over here.</p>
<p>And do you see this over here? This is the padding.</p>
<p>This is used to add padding.</p>
<p>So remember this one, okay, let me actually change it to a default.</p>
<p>Like that.</p>
<p>There we go.</p>
<p>So if you remember, this is going to add padding to all four sides.</p>
<p>But you don't want this behavior, you just want to add padding to let's say that left and right, okay, in order to do it manually, you're going to click this over here and using this option over here, you can manually add padding over here.</p>
<p>Let's say that I want to add 50 pixels of padding to the left side.</p>
<p>There we go, boom, it's going to add padding to just to the left side.</p>
<p>Okay, now let's say that now let's say that I want to add padding to the top, okay? Top How much are let's say the 25 pixels, okay, so I'm gonna come over here and write 25, like this, and hit enter.</p>
<p>Now look, I have 25 pixels of padding and the top 50 pixels of padding on the left, if you want to individually set the padding, this tool is very helpful.</p>
<p>Alright, then now let's experiment how to make a button using the auto layout.</p>
<p>Okay, so I'm going to delete this from here, okay, I'm going to make a button like this, look at that, you see this button over here, I'm going to make it I mean, I'm going to duplicate it.</p>
<p>Okay, so I'm going to come over here, and the very first thing that I can do is I'm gonna write text over here like this, okay, I'm gonna write after selecting T.</p>
<p>And let me show you the steps, okay, you're going to hit t on your keyboard, or you're going to select this over here, okay? So t like this, and then and click over here on your screen, I mean, on your frame, again, you're going to right button, bu TT o and like this button, okay? So, I'm going to convert this button text to full capital letters.</p>
<p>Okay, so I'm going to come over here like this, and I'm gonna select this option over here.</p>
<p>Okay, look at that.</p>
<p>Now, what I'm going to do is I'm going to directly add, I'm going to directly add or layout, look at this, okay, I'm going to right click over here and add order lab, or what you can do is you can, you can click shift plus a like this look, shift and a, now look, oral layout is added to our button.</p>
<p>Okay, in order to see that, what you have to do is we're going to click this over here, and then you see this field over here.</p>
<p>I'm going to click this over here like this, and I'm going to change the fill color to black, okay, 0000, like this, and look at that, it got converted to very dark black.</p>
<p>Okay, now, I'm going to come over here, and then I'm going to select Ctrl on my keyboard, and then right click, I'm in left, click over here, and then I'm going to select the text, okay, the text is selected, or what you can do is you can come over here on this frame, okay, this frame gets highlighted in blue, and then look at this frame, I mean, this oral layout frame, okay, and inside this frame, we have the bottom, okay, you're going to click this over here, or you can directly control and then left click over here, then is going to select the text, okay, and then you see this color over here, I'm going to change it to white, okay, f f, f f, six times f, like this look, is gonna bring back my buttons.</p>
<p>Okay, now let's say that I want to add some padding to the left and to the right side of one button.</p>
<p>So how do I do this.</p>
<p>And before doing that, what you have to normally do is we have to select this over here, and then you have to select this, which means that you want the text to be at the very center of your bottom.</p>
<p>Otherwise, what happens is, if you want to resize your button, let's say that I want to resize Mazzuca that the text is aligned to the very left it is not moving, okay, if I resize it like this, look, it is not moving anywhere.</p>
<p>Okay, controls that control that.</p>
<p>Now, if I set it to the very center like this, if I resize my model anywhere, anyhow, wherever I wish, like that, look at it, this text will stay at the very center, we're here like that, look at that, I can move it anywhere I want, okay, controls that.</p>
<p>Now, let's say that I want to individually add some padding, okay, I'm going to select over here.</p>
<p>And then let's say I want to select padding of 30 pixels on the left in the right, okay, 30 over here, gap, I mean, enter 30 over here, hit enter like that, look at that, we have 10 pixels of padding, your top bottom, and 30 pixels of padding on the left and right.</p>
<p>Also, I'm going to show you how you're going to utilize these two buttons over here to make responsive layout for your desktop, tablet, mobile Web Designs more quickly and efficiently.</p>
<p>So keep watching, I hope you understood how to align your content and make buttons using the auto layout feature.</p>
<p>Now I'm going to show you this feature that is left to discuss this feature over here.</p>
<p>Okay, so this is the vertical direction and this is the horizontal direction.</p>
<p>Okay, I'm going to remove this real quick.</p>
<p>And look at this over here.</p>
<p>Do you see this layout over here? Do you see these cards over here? How is this stacked? This is stacked on a horizontal line.</p>
<p>And if you see the mobile version, the mobile design Look at this.</p>
<p>It is stacked vertically like this.</p>
<p>So how do we do this very quickly, easily and efficiently.</p>
<p>Okay, so I'm going to come to this Dexter version over here and then I'm going to copy this one to the right side.</p>
<p>Okay.</p>
<p>Or perhaps let's say I want to copy this over here.</p>
<p>Okay.</p>
<p>Like that.</p>
<p>I'm going to extend this like this, okay? And then I'm going to click one time over here, okay? And then out, press the out button on your keyboard, okay? like this and then drag it over here like this, look at that.</p>
<p>Okay? So, auto layout is also enabled on this one.</p>
<p>Okay? If you see the right panel over here, you see this orange, you see this auto layout is enabled, okay? Do you see this horizontal direction it is enabled, which means that our cards will act like this, okay, it's going to act on the horizontal line is gonna layout on the horizontal line, what you're saying that we want it to be on the vertical line, which means that we want to make it for the mobile version.</p>
<p>Okay, what we're gonna do is, we're going to click it over here like this.</p>
<p>Okay, boom, we made the layout of workouts for the mobile version, look at that, how quickly I made it.</p>
<p>So the mobile has small screen.</p>
<p>Okay, so I have to resize it like this.</p>
<p>Let's say that, I'm going to come over here, and then I'm going to hit the K.</p>
<p>Or what you can do is you can come over here and then select the scale version over here.</p>
<p>Okay, I'm going to hit K over here, like this, and then click this.</p>
<p>And then I'm going to resize it like this, look at that.</p>
<p>It got resized, if you want to resize even further, according to your screen, which is normally small, like this, look at that.</p>
<p>You can, you can adjust the width and height accordingly to your needs, okay, like this, using the scale isn't isn't the scale to now look at this side by side comparison how easy and quickly I made layout from a mobile version from the desktop version.</p>
<p>This is the desktop version over here.</p>
<p>And this is the mobile version over here, by the way to see the content inside this card, this chemistry, this button over here, this image over here, all of them are using the auto layout.</p>
<p>And I have used auto layout to align the content at the very center.</p>
<p>If I see if I select one card like this, look at that.</p>
<p>Okay, I have selected this card over here.</p>
<p>So look at this content over here, okay, if I come to this auto layout, look, all the content has 19 pixels of padding, I mean gaps in between.</p>
<p>And then if I select this one over here, then you can see that the content is aligned to the very center like this, look at that, I really hope that you understood the auto layout feature.</p>
<p>The next feature that I want to talk about is the layout grid.</p>
<p>So you can select any frame you want across all these pages, either the desktop, tablet, mobile or anything, we are going to find this frames, Okay, I'm gonna send the first one as an example.</p>
<p>Okay.</p>
<p>And then you're going to find this over here, the layout grid.</p>
<p>So when is this used, if you want to plan your content, I mean, if you want to make a web design responsive for the next top, tablet, mobile, etc, you need to plan your content, right? So using this, you can plan your content.</p>
<p>Let me show you a demo.</p>
<p>Okay, so I'm gonna use the i button over here, I'm gonna click this, this is used to hide that layout, okay, like this, look at that, okay, and this minus sign is used to delete that layout.</p>
<p>And this plus sign is used to add the layer, I mean, the layout grid, okay.</p>
<p>So look at this, what is written over here, five columns are okay, so if you count over here, 12345, we have five, I mean, five grid columns, okay.</p>
<p>So if you click over here, like this, now, what is this, this didn't count, okay, you can increase the number of columns over here, you can also select the color and then you can set the opacity over here like this as well.</p>
<p>So I'm going to click over here like this.</p>
<p>And then look at this, we have this option on the columns, we can also change it to grids like this, and you can see these little dots over here like a graph paper, okay? You see this? thin lines like this, okay? This pattern, okay? And so this is the grid.</p>
<p>Alright, so if you want to change it to, let's say, columns, or sorry, rows, you can also do it like this.</p>
<p>Look at that.</p>
<p>It changed from columns to rows like this.</p>
<p>Now let's change it back to columns, okay, like this.</p>
<p>I'm going to click over here and then columns like this.</p>
<p>Now look, how many columns do we have? 12345, right.</p>
<p>So look at this over here, we have five columns over here, and over this margin over here, 50 pixels of margin.</p>
<p>So if I zoom in over here, so look at this over here, you see this first column over here, the gap between the first column and the start of our screen over here is 50 pixels.</p>
<p>This is the gap.</p>
<p>I mean, this is the margin over here.</p>
<p>And regarding the gutter, we see we have 30 pixels of gutter over here, okay? Now look at this, this is the gutter, okay? I mean, the space between the columns, okay, this is 30 pixels.</p>
<p>Now, the best example that I can give you at the moment is this one, wait a minute, this layout over here you see this one over here offered courses.</p>
<p>This has three cards, how many cards, three cards, which means that we can stack them on three columns.</p>
<p>Okay, let me show you a mess like this.</p>
<p>And look at this over here.</p>
<p>Okay, I'm gonna and now I'm going to click this button over here to show you how the layout grid is working.</p>
<p>Okay, so look In this, how many layers? I mean, how many columns do we have? We have three columns and three cards.</p>
<p>Okay, so how many how much gap? Did I put between the? I mean, how much margin did I put? Okay, so I can see it over here like this, okay? Look at this, we have three columns.</p>
<p>So it's gonna be highlighted three over here, and the color is this one red.</p>
<p>And this is used to change the transparency.</p>
<p>Okay? So if I increase the size like this, look at that, it gets much red.</p>
<p>Okay, I'm going to change it to 10% so that it is visible.</p>
<p>I mean, both the layout grid and content becomes visible, okay.</p>
<p>10% is a sweet spot.</p>
<p>And we have margin of 77 pixels.</p>
<p>Okay.</p>
<p>On the left and the right, and gutter, we have turned to pixels.</p>
<p>A couple of seconds ago, I told you that this layout grid is used to plan your content when you're making responsive websites, I mean, Web Designs.</p>
<p>Okay, let me show you a demo.</p>
<p>Okay.</p>
<p>This is the best example that I can give you right now.</p>
<p>So I'm going to click this over here.</p>
<p>And look at this over here, how many columns do we have? We have three columns over here with 77 pixels of margin on the left and the right and then we have 32 pixels of gutter, okay? So this is, you see this gap over here.</p>
<p>Okay, white colored space between the red and our start off screen over here.</p>
<p>This is 77 pixels of margin, okay.</p>
<p>And this gutter over here, you see this white color over here? This is 32 pixels.</p>
<p>This is the gutter.</p>
<p>Okay? So this is the desktop layout.</p>
<p>Okay, how many columns do we have? We have three columns and three columns are stacking three cards.</p>
<p>In case of the mobile layout, look at this, okay, I'm going to click over here, this mobile on the page section and look at this, how many columns Do we have, we have just one single column and this single column is stacking how many cards, three cards because we have less space, less space on the mobile version? Okay, so I'm going to click on this and then I'm going to inspect that layout grid.</p>
<p>Okay.</p>
<p>So I'm going to click over here.</p>
<p>Now look, how many columns do we have? We have just one single column.</p>
<p>And how many margin Do we have 20 pixels of margin.</p>
<p>Now for zooming, look at this, this space over here is 20 pixels of margin.</p>
<p>Okay, and this is the mobile layout.</p>
<p>If we want to add layout grid on your frame, what you have to do is you're going to select F, okay, on your keyboard like this, and then you're gonna drag it like this, look at this, we have a frame, okay, if you want to add that layout grid, you're going to select this like this and look at this over here, you see this layout grid over here, you're going to click this over here like this, the plus sign, okay, then it's going to add this pattern over here.</p>
<p>If you want to change it, then you're going to click this over here.</p>
<p>And then you're going to change it to columns or rows over here, according to your needs.</p>
<p>Okay.</p>
<p>I hope you understood how to use the layout grid.</p>
<p>Alright, now I'm going to discuss about the constraints properly.</p>
<p>Okay, in order to discuss about the constraints provided, you're going to come to this section, I mean, this page over here, responsive test.</p>
<p>Okay, so you have noticed this before, okay, if you click any element like this, then you're going to find this constraints property over here.</p>
<p>I'm going to discuss about this one.</p>
<p>Okay.</p>
<p>This is used to test whether your design is responsive or not.</p>
<p>So I use the constraints provided along with the plugin named breakpoints.</p>
<p>Okay, this is a plug in over here, I have actually included this section for you to test.</p>
<p>So you're going to come over here.</p>
<p>Okay.</p>
<p>So do you see this guy's over here? I'm going to zoom in a little bit.</p>
<p>Okay.</p>
<p>I'm gonna come over here you see this.</p>
<p>These are our breakpoints for one four pixel is the breakpoint for the mobile version.</p>
<p>Okay.</p>
<p>767 168 pixels is the breakpoint for the tablet version.</p>
<p>This is the breakpoint for the laptop version.</p>
<p>And this one is the Dexter version.</p>
<p>Okay, now look, what happens if I resize it? So I'm going to click this over here.</p>
<p>Okay.</p>
<p>look very carefully.</p>
<p>Look at this, the constraint property is working.</p>
<p>When I resize the window like this, look at this, our content is at the very center, we're here.</p>
<p>Don't worry, we're going to recreate the results.</p>
<p>Okay, just look what happens.</p>
<p>So when it comes to the tablet breakpoint, now look what happens.</p>
<p>Now, if I now if I cross the tablet break? Well, now what happens? Here is the tablet breakpoint.</p>
<p>So I'm going to cause the tablet breakpoint.</p>
<p>Okay, like this, look at that.</p>
<p>Look, our design changed because the plugin named breakpoints, and if I resize it like this, now look what happens.</p>
<p>We have some gaps over here, okay, and the content is actually at the very center over here.</p>
<p>So if I resize it even further, now look what happens.</p>
<p>The font size changes and the content increases in size.</p>
<p>Like that.</p>
<p>Look at that.</p>
<p>Let me actually resize it again.</p>
<p>Okay, now look what happens when that small large is the laptop.</p>
<p>This is the tablet version.</p>
<p>This is the laptop version, tablet version, mobile version over here, mobile tablet, laptop, the constraint properties used over here.</p>
<p>Okay, I'm going to delete this over here real quick.</p>
<p>Okay, so I'm gonna come over here.</p>
<p>Okay.</p>
<p>Wait a minute.</p>
<p>Now look at this.</p>
<p>This is the design for the laptop version.</p>
<p>This is the tablet version over here and this one is the most Version over here.</p>
<p>Okay, so I'm gonna just focus on the mobile version over here like this, wait a minute, there we go.</p>
<p>Okay, so I'm gonna bring my options over here.</p>
<p>And then what I'm going to do is I'm going to select all my elements together, okay? Like this.</p>
<p>And then I'm gonna group it together like this Ctrl G.</p>
<p>Now, if we select this one over here, and if you notice over here, now you see this, this blue color is highlighted, and this one over here as well.</p>
<p>This is the top and this one is the left, okay, which means that if you resize the window like this, wait a minute, like this, then what will happen is your content will be focused, your content will be locked on the left top, like this, look at that.</p>
<p>But let's say that you want it to be on the bottom.</p>
<p>Right.</p>
<p>So how will you do this? control that Okay, I'm going to select this I mean, the entire content section and I'm gonna select this one.</p>
<p>Okay, bottom, right.</p>
<p>Now look, what happens if I resize the window.</p>
<p>Okay, now, look, what happened is gonna stay focused.</p>
<p>I mean, he's gonna stay fixed on the bottom, right? Okay.</p>
<p>Okay, now I'm going to select this one.</p>
<p>And I'm gonna drag it down like this, look at that.</p>
<p>Our content is getting fixed on the bottom right.</p>
<p>Now, let's say that I want it to be on the bottom left, what will I do, I'm going to do the same thing, okay, I'm going to come to that constraints property.</p>
<p>Wait a minute, there's one, okay, then then I'm going to select a bottom left, okay, I'm going to just click this over here, or what I can do, I can just click this overhead and select the left option like this.</p>
<p>Okay, and now look what happens, we resize the window, I'm gonna drag this over here.</p>
<p>Now look, it's gonna stay focused on the bottom left.</p>
<p>Like that.</p>
<p>So in the case of testing my responsiveness of my Web Designs, what I do is I'm gonna select all my content, and then I'm gonna center both horizontally and vertically like this.</p>
<p>Okay, now look, what happens if I resize the window like this, look at that.</p>
<p>Okay, it stays at the exact center like this.</p>
<p>Okay, I do it for all my contents, wait a minute, let me actually resize it.</p>
<p>And I'm going to select all this content over here like this Ctrl G.</p>
<p>I have grouped them together, I'm going to select this and I'm gonna enable this option.</p>
<p>Okay, center center.</p>
<p>Same thing for the version as well like this, okay, Ctrl, G, and then center center like this.</p>
<p>Now, there is a plugin named breakpoints, okay, I'm going to right click over here and then select this plug in, okay, you didn't have to do anything, just look what I do.</p>
<p>Okay.</p>
<p>And if you want to test it out, I'm going to include this section over here, you're gonna come to this section, and then test it on your own how the system works, okay, so I'm going to select this plugins option over here, and then I want to, and then I'm going to select this breakpoints, like this.</p>
<p>And there is going to give me this little window over here.</p>
<p>Okay, I'm going to select new adaptive layout like this.</p>
<p>And then I'm going to define a breakpoint over here, and I'm going to keep it over here as well.</p>
<p>And let me actually, alright, then, I'm going to select this one.</p>
<p>And then I'm going to right over here for one, four, which is the mobile display breakpoint, okay, and then I'm going to right over here 768, which is the tablet screen, and then I'm going to click this plus sign over here, okay, and then I'm going to right over here, 1024 pixels, laughter version, and then plus over here, again, we're here 1440 pixels, 1440 pixels, which is the Dexter version, okay, now look at this plus sign over here, I'm gonna click this and I'm gonna select this mobile layout, like this plus sign over here, I'm going to select this tablet version.</p>
<p>Okay, I'm going to select this over here, and I'm gonna select this laptop as well.</p>
<p>Okay.</p>
<p>Now, this is the result we got so far.</p>
<p>Okay, now, this content is at the very center.</p>
<p>If I resize it, wait a minute, let's actually select this and then guess what happens? Look what happens.</p>
<p>Okay? Oh, I actually need to increase the width over here as well like this looking at I mean height, I need to increase the height like this.</p>
<p>Now look what happens if I resize the window like this, we're gonna see the mobile version.</p>
<p>Okay, this is the tablet version.</p>
<p>And this one is the laptop version.</p>
<p>The constraints tool.</p>
<p>And the break point to both of them are very handy if you want to test out your responsiveness of a web design.</p>
<p>So I'm going to keep it as it is so that you can come and practice over here, okay.</p>
<p>Alright, now I'm going to talk about a tool called components.</p>
<p>Okay? So look at this over here, this footer over here.</p>
<p>This is actually a component.</p>
<p>Okay, we are gonna, you and me together, we're going to change this social media icons with this one over here.</p>
<p>I'm going to come to this assets over here and look at this social media icons over here.</p>
<p>Okay, we're going to replace this.</p>
<p>So we're going to replace this one with these ones over here.</p>
<p>Okay, but before that, let's actually test what does our components do? Okay, so I'm going to come to the left side over here, and I'm going to draw a frame F and then like this, look at that.</p>
<p>Let's say that I'm going to write some dummy text over here Okay, like this.</p>
<p>A B, C, D, okay? Ctrl A and I'm going to change the size to let's say 100 pixels, okay? Like this, look at that.</p>
<p>Okay, I'm going to change the font weight to regular.</p>
<p>Okay? Now look what happens if I copy this to, let's say three times, okay? This is the second time, this is the third time over here.</p>
<p>Okay, I'm going to zoom in a little bit like this.</p>
<p>Now look what happens, let's say that one of many benefits of the components function is that it helps you to stop repeating the same design again, and again, they the day, the day and night difference between copying and pasting the same thing and using the components, okay, let's say that I have copied and paste it three times over here, okay, 123.</p>
<p>Let's say that I want to remove the C, okay, I don't need the C.</p>
<p>Okay, so what so what I have to do is, I'm going to select this over here, and I'm going to remove the C over here like this, okay? Same thing, I have to repeat how many times three times one time, two time over here like this, okay, and three time over here like this, look at that.</p>
<p>But if I use a component that, wait a minute, let me actually remove this from here.</p>
<p>And I'm going to write ABCD over here, okay? If I right, oh, sorry.</p>
<p>Now, if I'm making a component, how to make a component, okay, I'm going to click this button over here, create component, or what I can do is I can right click over here and create component like this.</p>
<p>Now, this is a component over here, you can see you can tell it vice, you can tell it by looking at this icon over here.</p>
<p>Or you can also you can also tell it by looking at this highlight over here, a component is highlighted in purple color, okay? Now look what happens if I copy from this component, okay? All and then click over here and then drag like this, okay? Now, look at this, over here, look at my layers over here.</p>
<p>This is a diamond shape, which means that this is an instance of the parent component, this is the parent, this is an instance.</p>
<p>Okay, I'm gonna do it the same like this.</p>
<p>Again, they say I want to do it more three times, okay, like this look at.</p>
<p>And let's say that I have to change it, I have to remove the C, what will I do, I have to remove it six times, I have to do the same thing six times.</p>
<p>But if I use a component like this one, now look what happens if I remove the C from the parent component like this, look at that, I removed the C, the C is removing all my six designs over here, look at that, by just changing this one over here, and nothing else.</p>
<p>Everything is changed.</p>
<p>This is the main selling point of the components.</p>
<p>Okay, so I'm going to delete this from here.</p>
<p>And look at this design over here.</p>
<p>I will look at my footer over here.</p>
<p>This social media icon is it is blue in color, it doesn't go with our team.</p>
<p>If I come to our color palette over here, look at this.</p>
<p>This is my color palette over here.</p>
<p>Okay, you can check the hex value over here as well look at this hex value and this hex value as well.</p>
<p>All right, no, this doesn't go with our color over here.</p>
<p>This is blue color, light blue color.</p>
<p>So I'm going to change this to black and white.</p>
<p>Okay, this one over here, this, if we come to this assets over here, there's one Okay, now what I'm going to do is I'm going to click this frame over here and then hit Alt on my keyboard like this, and then I'm going to drag it like this.</p>
<p>Okay, it's going to get copied, and then I'm going to right click, and then I'm going to select this option over here, move page to Dexter.</p>
<p>Okay, I'm going to come to text over here, wait a minute, there we go, we have our design over here, you actually need to, you actually need to zoom out a little bit so that you can see where the frame is.</p>
<p>Okay, like this, I got my frame over here.</p>
<p>All right now.</p>
<p>Now I'm gonna select this one, this.</p>
<p>Now I'm going to select this tutor option over here by double clicking over here, and then double clicking again, like this.</p>
<p>Now I can see the exact width and height of my tutor over here.</p>
<p>I went to the icon over here, this for 8.81 pixel.</p>
<p>So I'm going to copy this from here like this Ctrl C.</p>
<p>And then what I'm going to do is I'm going to resize all of my media icons, okay, like this, I'm gonna select this over here, and then I'm going to hit cake on my keyboard, okay, like this, I can resize it like this, look at that.</p>
<p>Now what I'm gonna do is I'm gonna lock it over here, like this is the constraints property.</p>
<p>And then Ctrl V, if I paste it over here, then it then this value will automatically get applied on my height over here as well.</p>
<p>Okay, so I'm gonna select enter like this.</p>
<p>Now look at that.</p>
<p>It gave me accurate calculations.</p>
<p>So I'm going to drag it over here, wait a minute, over here like this.</p>
<p>By the way, this folder over here is the main parent component, okay? Which means that if we change anything over here, then all the children that all the children components, I mean, all the instances will get changed as well look at this, I placed the social media icon, the Facebook, black and white over here on the parent component, and it got applied over here on the children component.</p>
<p>Same thing goes for all the children components as well look at that.</p>
<p>We have this Facebook icon over here.</p>
<p>Now I'm going to delete this one over here.</p>
<p>Okay, the blue colored one.</p>
<p>So what I'm going to do is I'm going to come over here, and then I'm going to double click over here.</p>
<p>And then I'm going to delete like this.</p>
<p>So it got removed.</p>
<p>And same thing got removed from all the parent and children components as well look at that, we'll have the social media icons over here.</p>
<p>Same thing for all the footer instances.</p>
<p>Okay, so I'm going to come back over here, and I'm going to resize them also in a similar manner, I'm going to hit K and then resize it like this, look at that.</p>
<p>And then I'm going to hit this constraints property.</p>
<p>And then I'm going to paste the value that I have copied, okay, Ctrl V, enter, look at that.</p>
<p>So I'm going to select it together, and I'm going to drag it on here, like this.</p>
<p>Okay, now, what I'm going to do is I'm going to arrange a series like this.</p>
<p>And then I'm going to hit Shift plus a, after dragging, after selecting all this, okay, like this, shift a, and then I can adjust the gap over here like this, let's say I want a gap of 10 pixels, okay? I change the mind, I'm gonna select it, like this, there we go.</p>
<p>I can also change the stroke as well.</p>
<p>Okay, if I select Ctrl on my keyboard, and if I select this stroke over here, like this, then it's gonna select me this, look at this, I'm going to change the to.</p>
<p>Okay, and I'm going to do the same thing over here, hit Ctrl on your keyboard, and then hit Ctrl on your keyboard and select this circle over here.</p>
<p>And then change the to from 3.5 to like this, look at that, it looks beautiful.</p>
<p>Double click over here and then follow the orange colored guides, okay? Look, our content is look, our social media icons are aligned the left according to those texts over there.</p>
<p>Okay, now if I inspect all of my, let me actually delete this from here.</p>
<p>Nine now if I inspect all of my children instances, look at this, the same thing got applied over here, because that is because we change the parent component.</p>
<p>All children's, all children instances are bound to change.</p>
<p>Look at that, I really hope that you understood how to use this useful tool named components.</p>
<p>Congratulations, guys, we're done discussing all the essential tools of figma.</p>
<p>Now we're going to start making our web design for the desktop version.</p>
<p>Let's get started.</p>
<p>But the first question is, how will we practice? Alright, then we're going to practice like this over here, we're going to draw our frames, okay, like this.</p>
<p>And then we're going to copy this design on our practice case over here.</p>
<p>As a beginner, this is completely fine to copy others works and designs because this is part of the learning process.</p>
<p>So I'm going to delete this one here like this.</p>
<p>And then what I'm going to do is I'm gonna move this to the right side, okay, and then I'm going to draw a frame over here, like this, follow along with me, I'm gonna hold my shift, and then I'm gonna select the names like this, okay, I will name the frame like this.</p>
<p>Alright, and then I'm going to select the fingers.</p>
<p>And then I'm going to drag it over here like this.</p>
<p>There we go.</p>
<p>Now what I'm going to do some zoom in over here, okay, whatever.</p>
<p>This is my color palette over here.</p>
<p>I'm going to keep it over here.</p>
<p>There we go.</p>
<p>And then I'm going to make a frame over here.</p>
<p>Okay, so I'm gonna select my F, which is frame to locate F.</p>
<p>And then I'm gonna select this over here, okay, dekstop.</p>
<p>And then this one dekstop, which has a dimension of 440 pixels in width, like this, look at that.</p>
<p>Okay, I'm going to keep it over here like this, the first thing that I'm going to do is I'm going to make grid layouts.</p>
<p>Okay? So what I'm going to do is I'm going to select this element over here, okay? And then I'm gonna select this little icon over here, okay, so that I can see the grids over here.</p>
<p>And then I'm going to select this so that I can better see what is the margin and what is the gutter over here, okay, you can see figure, we can see 50 pixels of margin over here.</p>
<p>But let's say that in certain scenarios, you cannot actually see how much is the margin over here.</p>
<p>So what will you do in this case, in this case, what you can do is, let me actually show you a trick over here.</p>
<p>So I'm going to come over here, okay, you see my text over here.</p>
<p>And this gap over here, I'm going to draw a rectangle over here, let me actually show you Okay, I'm going to hit R.</p>
<p>And then I'm going to draw a little rectangle over here, and I'm gonna keep it over here like this, and it's gonna snap inside this, let me actually zoom in a little bit, so that you can better see how this is working.</p>
<p>All right, so look at this rectangle over here, and then I'm gonna stretch it to this till this side over here, okay, like this, wait a minute, like this, look at that this rectangle is filling that gap over here.</p>
<p>Now if I select this over here, and if I inspect this rectangle, you can see that this rectangle is 50 pixels in width, which means that here is 50 pixels of gap.</p>
<p>So now what I'm going to do is I'm going to remove this rectangle from here.</p>
<p>Alright, then I'm going to come to my main design over here, I'm in the practice case, and then I'm gonna give this one over here, auto layout grid, okay, like this.</p>
<p>And then I'm going to change it to columns like this, okay? And then I'm going to give here how many pixels of margin 50 because we found out to the rectangle that it is 50 pixels of margin, okay, like that.</p>
<p>And let's actually see what we have specified in the grid like this.</p>
<p>Okay.</p>
<p>And 30 pixels of gutter, Okay, there we go like that 30 pixels over here, if you hold shift and up, if you hold shift and then press the up arrow bottom, then it's gonna change 10 scale at a time like this look, it is 20 3040 5060 7080 while I'm holding the shift, but if you release the shift, and if you use the arrow sign, I mean up arrow sign, then what do we have? This is gonna change one pixel, one pixel like that is 80 pixels, okay? 8180 280-384-8586 is gonna take a lot of time, so I'm going to use the shift, okay, I'm going to jump to 36.</p>
<p>And then I'm going to write 30.</p>
<p>We're here like this.</p>
<p>There we go.</p>
<p>Looks quite perfect.</p>
<p>Now, now we're gonna make this navbar over here.</p>
<p>Okay, in order to inspect this element, what I'm going to do is I'm going to select Ctrl on my keyboard, okay? And then I'm gonna click over here like this.</p>
<p>Now, you can see all the properties over here, do you see this? The color, the font family, the font, weight, font size, etc.</p>
<p>Okay, so look at this, it is 90 pixels.</p>
<p>So I'm going to copy this over here like this Ctrl C, I'm going to come over here and then and then hit t on your keyboard like this T, and then click over here, okay, and write a do or sorry, they do.io.</p>
<p>And the font family is four pins, which is correct over here, change it to semi bold over here, like this, and then select 90 over here like this.</p>
<p>90, okay.</p>
<p>Okay, I'm going to keep it over here like this.</p>
<p>Okay, do you see this orange colored guides is going to snap like this, okay, so you don't have to do anything manually.</p>
<p>Next thing that we have is home teachers contact assigning options.</p>
<p>By the way, you have this dekstop typographic guide over here, which you can follow.</p>
<p>Okay, so this logo is 90 pixels over here, the nav items, each of these nav items are 47 pixels in size.</p>
<p>Okay, so I'm going to come over here, I'm going to hit t on my keyboard like this T, click, and I'm going to right put them over here, okay, same thing, I'm going to copy it four times, like this 123, and then four.</p>
<p>Okay, I'm going to write over here, teachers.</p>
<p>And I'm gonna write over here, contact us.</p>
<p>And over here, signing, we also need to change the form way, we also need to change the font weight, in order to inspect the font weight, I'm gonna come over here on the original design.</p>
<p>And then I'm gonna click Ctrl.</p>
<p>on my keyboard, click like this, look at this, we have regular and 47 pixels, also the font size, we have regular font weight, 47 pixels, font size, and look at this, the font families revolt, okay, so I'm going to come over here, like this, and I'm going to select all of them together, how will I do this, look at that, I'm gonna drag all of them together like this, select all of them together like this.</p>
<p>And I'm going to right over here, 47, okay, Enter.</p>
<p>And then I'm going to write regular over here like this, look at that.</p>
<p>And then I'm going to right over here Roboto, because the font is rowboat over there on the original design room for two, there we go.</p>
<p>Now the next thing that I'm going to do is I'm going to select all of them together like this, and then shift a or what I can do is I'm going to right, I'm going to right click over here and then add auto layout.</p>
<p>Or you can also do it by using the shortcut shift plus a, I'm going to do it over here like this.</p>
<p>Alright.</p>
<p>Now I'm going to click this over here, because it should be on the horizontal line like this, look at that, there we go.</p>
<p>And then I'm going to click this over here.</p>
<p>And I'm going to select this so that it always I mean, all the text should remain at the center.</p>
<p>We're here, both horizontally and vertically inside this frame, like this, look at that.</p>
<p>And now the next thing that I'm going to do is I'm going to snap it to this side over here of my great lines, okay, like that, look at that.</p>
<p>There we go.</p>
<p>It snaps like this.</p>
<p>All right now.</p>
<p>Now if we look at the original design over here, okay, if I select this over here, by double clicking over here like this, then you can see that we have 50 pixels of gap, which means that it should be 50 pixels of gap as well, between that between the nav items.</p>
<p>So I'm going to click this over here like this, and it is set to 93.</p>
<p>So I'm going to change it to 50 pixels.</p>
<p>There we go.</p>
<p>I'm gonna start I'm going to snap it on the grid lines over here like this again, and what I'm gonna do is I'm going to select both the logo and the nav items like this.</p>
<p>Oh, by the way, you should change the home text to medium Okay, you're gonna click this over here and then from regular to medium like this, okay, because in the original design over here, it is said to medium as well because this is the current design.</p>
<p>Alright then.</p>
<p>So I'm going to click both of them together like this and then shift plus a.</p>
<p>Now look at that, whenever items are shifted at the top in order to bring it at the very middle at the very center.</p>
<p>What I'm going to do is I'm going to click this over here Okay, and then select this over here.</p>
<p>Now look, it looks exactly carbon copy of the original document.</p>
<p>original design.</p>
<p>Now look at this over here on the original design, we Have this rectangle over here, okay? I mean underline over here, how do we recreate this? Okay, follow along with me.</p>
<p>Okay, so I'm gonna click this over here and then I'm gonna lock it, I'm going to lock my content like this.</p>
<p>Okay, I'm going to zoom in over here like this, I'm going to select the Rectangle Tool by pressing the R button on my keyboard are and then I'm going to select, I mean, I'm going to make a rectangle over here like this.</p>
<p>I'm going to resize it like this so that I can see the orange guides over here.</p>
<p>Okay, the orange guides are snapping like this, look at that, I'm gonna change it like this are seven, seven pixels in height, and 126 pixels in width.</p>
<p>Okay, now I'm going to change the corner radius like this, I'm gonna write 10 over here.</p>
<p>Okay, there we go.</p>
<p>And in order to change the color, what I'm going to do is I'm gonna select this, okay, while selecting that, look at this color palette over here.</p>
<p>Okay, I'm going to select this color from here, and then this eye button over here, okay, like that.</p>
<p>And then I'm going to select this one, look at that, I have successfully changed the color and also made this underline I'm going now items, there we go, it looks quite the same as this one.</p>
<p>Now the next thing that we need is the image, this asset over here.</p>
<p>Okay, so, so so what we're gonna do is we're gonna come to this assets page over here, okay, and then look at this, we have the asset over here.</p>
<p>So what I'm going to do is I'm gonna select this and then press the Alt, key word, press the Alt key on my keyboard like this, and then I'm going to drag it like hit, I'm going to drag it like this over here.</p>
<p>And I'm going to right click over here and then move to page dekstop.</p>
<p>Like this, then is gonna send me to the next page over here, what you actually need to search where the asset has moved to, okay, by zooming out like this, and there we go, we have our asset over here like this.</p>
<p>Okay, now look at this, we have some unnecessary gap around our illustration.</p>
<p>Just look at that, too.</p>
<p>Okay, so I'm going to select this over here.</p>
<p>Now look at all of these files over here.</p>
<p>Do you see this on welcome number two, this is a frame.</p>
<p>Okay, so look at this, we have so many vectors over here, I'm going to select the very last one like this, this one, okay, I'm going to select the very last one over here.</p>
<p>And then what I'm going to do is I'm going to literally delete this from here, delete.</p>
<p>Now look at that, that whitespace went away, I'm gonna select this text over here, okay, I mean, I'm gonna select the whole frame, like this.</p>
<p>Now, look, we still have some gaps around our illustration.</p>
<p>Now, what you're gonna do is you're gonna select this over here, you see this, okay? Like this, and then select group over here.</p>
<p>Now look, all the whitespace went away like that.</p>
<p>So I'm going to bring it over here like this.</p>
<p>Now the next thing that we're going to do is we're going to copy the width and height of this image, okay, by double clicking over here.</p>
<p>Now, do you see this.</p>
<p>So the first thing that we can do is we can either copy both of them together and then paste them on this illustration one by one.</p>
<p>But if you want to save some, a little bit of time, what you can do is you can just select this one, and then copy the only the width, okay? Ctrl C, and then you select this one, and then you click this constraints proportion, okay, like this, and then paste it over here like this.</p>
<p>Now, what it will do is it's gonna scale our illustration, proportionately, it is going to follow the proportional measurement.</p>
<p>And also is going to change our height as well according to the proportional measurement.</p>
<p>So these are I'm going to click into like this.</p>
<p>There we go.</p>
<p>Now look, it looks as similar as this one, you see this.</p>
<p>I'm keeping, I'm keeping both of them on top of another.</p>
<p>Look, it looks quite the same.</p>
<p>Okay, so I'm going to bring it over here.</p>
<p>And then I'm going to take the help of this orange colored guide and snap my image over here on my grids like that, look at that.</p>
<p>Alright, now regarding the text, how do we write the text, okay, so I'm going to double click over here and double click over here, again, like this now is going to copy the text, okay? Ctrl C, you don't have to write anything, okay? Just copy the text.</p>
<p>Okay, so I'm going to come over here and then T, click over here, okay, Ctrl V.</p>
<p>So I have copied the text over here.</p>
<p>And along with that, it changed those these properties over here as well.</p>
<p>Alright, so I'm going to keep it over here like this.</p>
<p>And I'm going to come back over here like this, double click over here.</p>
<p>And if you want to copy something quickly, what you're going to do is you're going to double click over here, okay? And then you're gonna hit alt, on your keyboard out and then drag it over here like this, you're gonna, it got copied very quickly like this.</p>
<p>Now regarding the button, how to create a button, I'm going to use the auto layout, okay, so what I'm going to do is I'm going to come over here and then Firstly, I'm going to hit the T, okay? Click, and I'm going to write logging.</p>
<p>Okay.</p>
<p>Sorry, log in.</p>
<p>Now let's see the properties of this text over here.</p>
<p>Okay.</p>
<p>Ctrl click like this.</p>
<p>45 pixels.</p>
<p>Bold rowboat okay.</p>
<p>So I'm gonna write rowboat over here.</p>
<p>Book door and bowled over here.</p>
<p>45 here as well.</p>
<p>Enter.</p>
<p>Now look what I'm gonna do.</p>
<p>I'm gonna click this over here and then right click Add Auto Layout like this, look at that.</p>
<p>Okay, now we have it in visible background.</p>
<p>So I'm going to click it over here.</p>
<p>And do you see this field over here? I'm going to click this field.</p>
<p>I'm going to select this over here.</p>
<p>Okay? And do you see my color palette over here? This is actually not complete black it is actually it has a color.</p>
<p>Okay, do you see this color over here, it is this color.</p>
<p>So I'm going to select this again.</p>
<p>And the field, I'm gonna select this one and this eye button over here.</p>
<p>And then I'm gonna click over here like this, it got very dark.</p>
<p>So I'm going to double click over here on the text or control, click like this, okay, and then this is set to black, I'm going to select this and f, f, f, f six times, or three times, you can also read it three times f, f, f, enter, look at that.</p>
<p>We have white colored text inside our black colored button.</p>
<p>So I'm going to click this over here.</p>
<p>And I'm going to set some border radius, okay? I mean corner radius, let's say in pixels, okay, let's actually see the original one, it is actually 18 pixels, okay, and width is this one.</p>
<p>So I'm going to copy the width from here, Ctrl C, and the height is 105 pixels, okay.</p>
<p>And I'm going to paste it over here, look at that, you cannot actually change it over here.</p>
<p>But in this cases, what you can do is you can, you're going to come over here and just drag it over here like this a little bit, a little bit, not too much.</p>
<p>And you can see this, it got unlocked, and the height is law.</p>
<p>In order to unlock the type, you're going to click over here like this, and you're going to drag it like this.</p>
<p>Look at that, the height and width, both of them got unlocked.</p>
<p>Okay, so I'm going to pay the width over here.</p>
<p>Ctrl V, enter.</p>
<p>Okay, don't worry, we're gonna change the properties, okay, and the height should be, wait a minute, it should be I guess, 70 to 105.</p>
<p>Okay, we'll select this, and 105, enter.</p>
<p>Now, we need the text to be at the very center, do you remember this property over here, this little icon, I'm gonna select this, and I'm gonna click this over here so that it gets centered at the very middle, like this, look at both horizontally and vertically.</p>
<p>We got our solution over here.</p>
<p>Alright, so I'm going to click the button over here, and I'm going to right click, and I'm going to replicate another model.</p>
<p>How do I do this? All on your keyboard and drag it like this, look at that.</p>
<p>And I'm gonna right over here, what? Come on, tell me sign up.</p>
<p>There's one.</p>
<p>Okay.</p>
<p>Wait a minute sign up.</p>
<p>Okay, so always, always turn this one on.</p>
<p>So that extra whitespace gets reduced.</p>
<p>And the bottom stays I'm in the bottom text remains at the very center.</p>
<p>Okay, so I'm going to click it over here again, so that this is enabled, okay, all the width is enabled.</p>
<p>So what this does is it removes all extra white spaces, so that your button looks proportional aesthetic.</p>
<p>So now look at this, even if we have a buttons like this, what we're going to do is we're going to use our layout, okay, so I'm going to select both of them together and shift plus a like this, look at that.</p>
<p>Okay, and then I'm going to click this over here, and then center over here like this, so that it always remains at the center.</p>
<p>And look at this, we also need to add some drop shadow to our buttons.</p>
<p>How do we do this, I'm going to click it over here like this, and look at FX over here.</p>
<p>I'm gonna click it over here like this.</p>
<p>Okay.</p>
<p>Now let's look at our original document, what is the priority of our effect the drop shadow effect, okay, so I'm going to select this button over here like this, wait a minute, like this, and then I'm going to select this drop shadow over here.</p>
<p>So they set to 10.</p>
<p>On the x, y is 10.</p>
<p>And the blur is four over here.</p>
<p>Okay, so I'm going to come to this practice over here, and then I'm gonna select the button, I'm gonna select this drop shadow, I'm going to say they will have 10 like this, the blur is four, that's fine.</p>
<p>And for the wives should be 10, like this, there we go.</p>
<p>Now in order to transfer this blur radius to this button over here, instead of doing it again, instead of repeating the same thing, what you're going to do is you're going to click over here, double click over here, and then look at this, I'm going to double click over here, and then I'm going to right click over here and then copy, paste.</p>
<p>Okay, I'm going to copy the properties, and I'm going to double click over here, and right click, and then I'm going to paste the properties over here like this, look at that, I have successfully transferred the walk shadow of the first button to the second button over here like that we're gonna, this is how the copy paste properties works.</p>
<p>Okay, so far, so good.</p>
<p>Now let's look at the gap between the buttons on the original document.</p>
<p>Okay, so I'm gonna come over here.</p>
<p>Now, instead of looking at the oral layout, what you can do is you can just select this first second button over here, and then hold, you hit all and wherever you place the mouse is going to show that distance between that button and the element like let's look at that.</p>
<p>I'm going to keep my mouse on the first button over here.</p>
<p>Let me show this to you again.</p>
<p>Okay, so I'm going to double click over here and double click again, or just hit Ctrl on your keyboard and then right click, left click sorry, like this.</p>
<p>And you're going to hit Alt on your keyboard, okay, and you're going to place your mouse on the first button over here now, look at this.</p>
<p>Let me actually zoom in, okay, look at this, we have 53 pixels of gap between the first and the second button.</p>
<p>So I'm going to come over here, as you remember that we have enable oral layout on our buttons over here.</p>
<p>So I'm going to click this over here, and then I'm gonna come over here and write 53 pixels of gap, okay, five, three, enter, like that.</p>
<p>Now, regarding the gap between our text over here, and the text over here, I mean, the first text and the second text, what you're going to do is you're going to do the same thing, okay, I'm going to come over here like this, I'm going to Ctrl click like this, and then I'm going to hit alt, on my keyboard, Alt, and then I'm gonna put my mouse on this second test, we're gonna, we have 41 pixel, I can see 41 pixels of gap.</p>
<p>So I'm going to come over here.</p>
<p>And instead of doing manually, just select both of them together like this, and shift plus a, and then you click this option.</p>
<p>And then you're going to do it like this.</p>
<p>Okay, you're gonna keep it in the middle, middle left, like that.</p>
<p>Okay, so how much was the gap again? 41.</p>
<p>Right? So I'm gonna come over here.</p>
<p>And do you see this option after clicking this 41, fix it like that.</p>
<p>41, enter, there we go.</p>
<p>Now let's look at the difference, I mean, the distance between the buttons and the text, okay, I'm going to select this button over here.</p>
<p>And then same process, okay, all on your keyboard, and then select that text over here like this, we've got 41 pixels as well.</p>
<p>So I'm going to come over here.</p>
<p>And I'm going to select this and a button like this, look at that, and then shift plus a, now I'm going to write 41.</p>
<p>Over here.</p>
<p>And there we go.</p>
<p>Look at that, we have successfully copied the design, from the main design to our practice case over here.</p>
<p>Now we actually need to align our content according to these gaps and various properties, right, so I'm going to click on here, okay, this block over here, and then I'm gonna click Alt on my keyboard, same process, right, so I'm gonna keep the mouse at the bottom so that I can see the gap between my screen and the content, we're gonna it is 109 pixels over here, you see this 109 pixels.</p>
<p>So I'm gonna come back over here, click this and Alt, I'm going to hit Alt on my keyboard, and then I'm going to put my mouse over here like this, look at that this is 200,000 pixels of gap between this corner I'm in this window, and this content over here.</p>
<p>Okay, so what was the original one, it was 109.</p>
<p>So what I'm gonna do is I'm gonna drag it at the bottom like this, okay, and then I'm going to test it again, camera, click this over here and all.</p>
<p>And then I'm gonna put my mouse over here.</p>
<p>Look, it is 124, which means that I have to go a little bit below, like that.</p>
<p>Okay, let's test again, all 204.</p>
<p>So I'm going to click this.</p>
<p>And then on it five, press the up arrow on my keyboard, okay, on it for it is currently on 104.</p>
<p>Okay, 100 506 789, like that.</p>
<p>And I'm gonna select this over here, and Alt, on my keyboard, put my mouse over here, look at this, this perfect 109 pixels over here, regarding our image over here, let's fix that as well.</p>
<p>So I'm going to come over here and I'm going to select this image over here by double clicking over here.</p>
<p>And I'm going to press Alt on the keyboard, Alt, and then I'm going to put the mouse over here.</p>
<p>167 pixels over here, okay, so I'm going to come over here, back over here and then drag it at the bottom, okay, and then I'm gonna select old, look at 140 pixels, okay? So I'm going to click this over here, shift and up arrow shift up, so it's going to move 10 pixels, okay, so it's currently 150 161 234567, I have pressed seven times my up arrow.</p>
<p>Now look at that.</p>
<p>I'm going to click this over here.</p>
<p>And alt, I'm going to put my mouse over here like that, because 167 pixels of gap between our image I'm in illustration and the bottom screen.</p>
<p>Now we're going to the original design over here.</p>
<p>Do you see these lovely doodles over here? Do you see this little flex over here, how to recreate them? Let me show you.</p>
<p>Okay, so I'm gonna zoom out and I'm going to come to this assets page over here.</p>
<p>Okay.</p>
<p>Now look, now look, I have actually included this flex illustration over here, okay, so I'm gonna leave this and I'm gonna copy this, like this, Alt, drag like this, okay? Right click, move page to desktop.</p>
<p>Okay, so I'm gonna come to next over here, zoom out and look at and look where the file is.</p>
<p>Okay, the file is over here.</p>
<p>I mean, that frame is over here.</p>
<p>Okay? So I'm going to click it over here like this.</p>
<p>And I'm going to bring it back over here like this.</p>
<p>Wait a minute.</p>
<p>There we go.</p>
<p>Now look, I'm going to zoom in into the main file, okay? Like this.</p>
<p>Now look at that.</p>
<p>We have this triangle over here, circle over here, and then this wave pattern over here, how to recreate that.</p>
<p>So I'm going to come to this flakes image over here.</p>
<p>And first of all, what was it triangle, okay, so I'm gonna copy a triangle from here.</p>
<p>Look at that.</p>
<p>We have a triangle over here.</p>
<p>So I'm going to hit Ctrl on my keyboard and then click over here.</p>
<p>Like this, okay that I have selected this Okay, so I'm gonna right now I'm gonna hit the old keyboard, copy.</p>
<p>Okay, Alt, and then I'm gonna drag it from here like that.</p>
<p>Look at the deuces, you'll see what is on my hand over here, I have copied it.</p>
<p>So I'm going to paste it over here directly on my practice image over here, okay, like this, I'm going to release my mouse, and then I'm going to use the Alt key, there we go.</p>
<p>Now the next thing is, I have this circle over here, okay.</p>
<p>Now in order to make the circle, look at the circle over here, I'm gonna select this, control, click, and then alt, drag like this.</p>
<p>Okay, now, I'm going to come over here, and I'm going to select this over here, and then we're gonna enter, increase the size a little bit how to do that, I'm going to hit k on my keyboard, and then I'm going to drag it like this a little bit, and then it's going to become a little bit bigger.</p>
<p>Okay, now, what is, what do we have, we have this wave pattern over here.</p>
<p>Okay, so I'm going to come over here, and I'm gonna select this wave over here.</p>
<p>Now, it's, now look at this, this is a little bit tricky, okay, so this wave is actually multiple icons together, okay? If I control and click over here, now look at this, this whole, this whole wave doesn't get selected, okay, just a single part gets selected.</p>
<p>So in this case, what should you do, you're gonna select, you're gonna hit Ctrl, and shift both of them together, okay, like this Ctrl, Shift, and then click like this, click, click, click, click OK.</p>
<p>And then you're going to do what you're gonna do, you're gonna press Ctrl G on your keyboard, which means we're going to make it a group, or what you're going to do is you're going to right click over here, and then make it a group selection like this, we're gonna, now this will behave like a single element, instead of behaving like a for individual, different elements.</p>
<p>Okay, now I'm gonna copy this from here, I'll click OK.</p>
<p>Now, I'm going to come back over here, and I'm going to paste it over here, and then I'm going to rotate it a little bit, okay, like that.</p>
<p>There we go.</p>
<p>So it looks quite similar to this one.</p>
<p>Now I'm going to increase the gap between them, like this, look at that.</p>
<p>There we go.</p>
<p>And, and in order to change the color of this triangle and his wave pattern, what you're gonna do is you're gonna come over here on the main design, Control, Shift, okay, click this one, and then click this one, oh, sorry, you're gonna click on, you're going to, you're going to click on here first, okay, and then click this over here, that eyedropper over here, and then you're gonna select this one.</p>
<p>Okay? So first of all, do I click this over here, and then select this field over here, then this eyedropper over here, okay, and then you're gonna select this one, there we go.</p>
<p>Look at that, we have colored our flakes like that.</p>
<p>Okay, it looks quite similar to the original design.</p>
<p>This is our practice case.</p>
<p>And this is our design over here, look at that.</p>
<p>Now, we have a lot of flakes over here, error and our image over here.</p>
<p>And then we have a little bit of over here.</p>
<p>So I'm going to pause the video and complete all of these doodles over here.</p>
<p>In the meantime, you do the same, you pause the video, and you complete, you see the original file over here.</p>
<p>And then you make the same on your practice case over here.</p>
<p>Alright, so I'm going to see you after a couple of minutes.</p>
<p>So we'll come back, I have completed all of these doodles over here like this, look at that, it looks quite the carbon copy of the original design over here.</p>
<p>Congratulations, we're done creating our first web design.</p>
<p>Now let's move on to the next section.</p>
<p>There's one over here.</p>
<p>Okay, we're gonna design this.</p>
<p>So I'm gonna come over here and create a frame F, okay, and then next over here like this, look at that, I have created this frame over here.</p>
<p>And then I'm going to come to this assets over here.</p>
<p>And let's select this one, okay, this painter over here and then copy it from here like this, and right click, send it to, I mean, move to page, Dexter over here.</p>
<p>Okay, I'm going to come back to next over here.</p>
<p>And I'm going to search for the file.</p>
<p>Where is it? There is it we have our painter over here like that guy, I'm gonna zoom in a little bit.</p>
<p>And the process is saying during the process, you need to remove this white colored background.</p>
<p>So select this and look at this highlighted over here.</p>
<p>Okay, so I'm going to delete this vector at the very bottom over here, right click left, click over here, and then delete like that.</p>
<p>Look at that.</p>
<p>And now we're going to select this and then come over here on the frame selected to group and it's going to remove all the unnecessary whitespace.</p>
<p>Okay, so I'm going to keep it over here like that.</p>
<p>Now I'm going to come over here, and I'm going to inspect this element, what is it by double.</p>
<p>And now I'm going to come over here and double click over here to inspect the element with this width over here, 657.</p>
<p>Click it over here, Ctrl C, come back over here, like this, click and then click this over here, constraints proportions, okay, and then paste it over here like this.</p>
<p>Ctrl V, enter.</p>
<p>There we go.</p>
<p>Like that.</p>
<p>And I'm going to keep it at the center like this and keep it at the center like this.</p>
<p>Or what you can do is you can just select this, Align Horizontal Centers like this.</p>
<p>Oh, sorry, not this.</p>
<p>One, this one Align Vertical fin just like this, and it's gonna get snapped to the very center.</p>
<p>vertically.</p>
<p>Okay? There we go.</p>
<p>And regarding this text over here, what I'm gonna do is I'm gonna Ctrl click over here like this, and then I'm going to hit Alt on my keyboard, drag it like this, okay, that I, I'm going to keep it over here like this.</p>
<p>Okay? Same thing.</p>
<p>I'm going to do the same thing for this text over here as well.</p>
<p>Ctrl, click, and then hit out, Alt drag, like this, look at that.</p>
<p>The process is saying, you're going to click over here and then alt and then move your mouse to this first text.</p>
<p>Okay? How many space Do you see is a pixels, okay, so I'm going to come over here and shift plus a shift a like this.</p>
<p>And I'm going to keep it at the very middle over here like this, I'm gonna click this, there we go.</p>
<p>And it should be how much gap 80 pixels, right? It is currently set to 51 pixels.</p>
<p>So write a like this, okay, enter.</p>
<p>There we go.</p>
<p>And then I'm gonna come back to this button over here.</p>
<p>So I already have this button, we already created the buttons.</p>
<p>So I'm gonna come over here and double click on this button, double click on this button, that will click again over here.</p>
<p>Okay, so I'm gonna copy this button by writing by hitting alt, and then drag like this.</p>
<p>Okay, I'm gonna keep it over here, raise it, and I'm gonna change the text to get started.</p>
<p>Okay, like that, double click over here, get started.</p>
<p>All right now looks quite good.</p>
<p>So what I'm going to do is I'm going to click on this button over here, and then Alt on my keyboard.</p>
<p>And then I'm going to put a mouse on this text over this, how much gap Do we have, we have 80 pixels of gap.</p>
<p>So I'm going to come back over here and give 80 pieces of gap as well.</p>
<p>Okay, so in order to do it quickly, I'm going to click it over here like this shift plus a, okay.</p>
<p>And then I'm going to click over here, and I'm going to keep it on the very middle like this.</p>
<p>And then I'm going to right at over here, and this actually should set to 81 ad ended.</p>
<p>There we go, we're done.</p>
<p>And regarding the flex, and regarding this little flex over here, I'm going to pause the video and completed, you do the thing, you pause the video and create these flakes over here, as I have showed you how to create these flakes.</p>
<p>So then I'm going to see you in a couple of minutes.</p>
<p>So far, so good, we actually forgot to include the layout grid.</p>
<p>So what I'm going to do is I'm going to click over here and then layout grid enabled by clicking it like this, okay.</p>
<p>And then I'm going to click over here and then change it to columns, okay, sorry, not rows, columns, like this.</p>
<p>And I'm gonna set the margin to 50 pixels over here like this, okay.</p>
<p>And then gutter should be 30, like this.</p>
<p>All right.</p>
<p>Now we're going to snap now now we're going to snap the content to the very right side over here like this.</p>
<p>And then we're going to snap this image, this illustration to the very left side over here like this.</p>
<p>Okay, there we go.</p>
<p>Looks quite good.</p>
<p>We're done with this section over here.</p>
<p>Now I'm going to show you how you can make cards.</p>
<p>Now I'm going to show you how you can make cards over here like this, okay, so I'm going to create a frame over here, F, okay, and then select this option over here.</p>
<p>And then I'm going to keep it side by side over here.</p>
<p>All right, now look at this over here.</p>
<p>So you do manually.</p>
<p>So you do all of this works manually.</p>
<p>Okay, I'm just gonna copy and paste it over here.</p>
<p>I'm just going to show you how to create these cards.</p>
<p>Okay, so I'm going to copy from here like this, and all drag it like this, okay.</p>
<p>And I'm gonna keep this LMS moving as long as I didn't see that orange colored skies, okay, like this.</p>
<p>Look at that.</p>
<p>You see the orange juice, it's orange colored guys over here like this, that I'm gonna release it right now like this.</p>
<p>Alright, then.</p>
<p>So I'm gonna.</p>
<p>Now I'm going to do the same thing for this video elements over here like this, okay, including the button, Alt, drag like this.</p>
<p>Okay, I'm going to keep it over here.</p>
<p>Now, select the first frame, I mean the original design, okay, and see the grids like this.</p>
<p>So I'm going to click over here like this, wait a minute, we have 77 pixels of margin and gutter tied to pixels.</p>
<p>So I'm going to click over here and click the layout grid over here like this.</p>
<p>So I want to change it to columns over here, okay, so the margin is 77 pixels, so 77 into like this, and the gutter was how much let me actually inspect it again, a 32.</p>
<p>Okay, click it again.</p>
<p>Click this 132 over here.</p>
<p>Okay, wait a minute, 32 There we go.</p>
<p>And we should have how many columns, three columns.</p>
<p>Okay, click this, three, enter.</p>
<p>All right now.</p>
<p>Now what you're going to do is you're going to click over here and remove this columns like this and double click over here on the cards.</p>
<p>Look at this.</p>
<p>Width and Height.</p>
<p>Look at this one.</p>
<p>Look at the width and height of our card number one, okay, this 400 in width by 633 in height.</p>
<p>So I'm going to come back over here and I'm going to select a rectangle, right click on my keyboard, okay, click over here like this, which should be fine.</p>
<p>400 Okay, enter, and what should be the height let's actually inspect like this 633.</p>
<p>Okay, so click over here like this, right 633633, enter.</p>
<p>There we go, we have our cards, okay, I'm going to place it over here, like this and water.</p>
<p>And now what I'm going to do is I'm going to remove the color you see this color is dark gray color.</p>
<p>Okay, so I'm gonna snap it over here on my layout grid, okay.</p>
<p>And then I'm going to remove in order to remove the color, you click this minus sign over here, like this.</p>
<p>And in order to see the rectangle, you click this stroke over here, okay, and then select it to three pictures like this, or perhaps even four to four, enter, there we go.</p>
<p>And now with this border radius, we also have border radius around our main design, okay, so I'm going to create, so I'm going to create a border radius over here by clicking over here like this.</p>
<p>Wait a minute, there we go.</p>
<p>It should be 15 pixels.</p>
<p>Okay? Look, it looks quite good.</p>
<p>And looks like the original one as well.</p>
<p>And I'm going to select this, and I'm going to create two more copies, okay, Alt, drag, like this.</p>
<p>Do it again, Alt and drag like this.</p>
<p>There we go.</p>
<p>I'm gonna give you the top over here like this.</p>
<p>I'm gonna take it, I'm gonna take it off the top as well.</p>
<p>And look at this.</p>
<p>I'm going to place it at the Center for a grid like this, okay, like this, wait a minute, like this.</p>
<p>There we go.</p>
<p>Now how to place these images, Okay, come back to assets, okay? You see these three images over here? Let's copy them, okay, by selecting them one by one, by selecting them all by selecting all of them together, right Shift, click, click on the name, click on the name, okay, now out copy, like this out, drag over here like this, okay, now, right click, move to page desktop like this, okay, and go to next up, zoom out and see where is it? Here is our image, okay, click over here, click over here, click over here like this, bring it over here.</p>
<p>Like this.</p>
<p>And do you remember the steps, you're gonna click over here.</p>
<p>And you're gonna scroll at the very bottom over here, and remove this vector from here, okay, delete, click here, click on this, click on this frame over here, and then change it to group over here, like this now is going to remove all our extra additional white spaces, okay, now drag it over here like this, come over here on the main design, control, I mean, select this one and look at this width and height, 359 Ctrl, this one and come over here, select this, select this little constraint button over here, like this, and paste it over here like this.</p>
<p>Ctrl V, enter.</p>
<p>There we go.</p>
<p>We have a little icon over here, we can place it over here like this.</p>
<p>And you'll see this, we have a little part over here.</p>
<p>Do you see this part? We didn't have this part over here.</p>
<p>Okay, so in order to remove that, we're going to come over here and Ctrl, click like this and hit the Delete keyboard, hit the delete key on your keyboard and it is going to get vanished like that.</p>
<p>Look at that.</p>
<p>There we go.</p>
<p>Let's copy the name from here Ctrl, click alt drag, like this, the same process for the music and pharmacy as well.</p>
<p>Like that control, click alt drag over here like this and do the same process.</p>
<p>The same process for this images over here.</p>
<p>you pause the video, take a minute and complete the process.</p>
<p>Okay, I'm going to come back in a minute.</p>
<p>All right, now I'm done doing the process.</p>
<p>Now what we are going to do is we're going to center our image and the text at the very center of our card.</p>
<p>How do we do this, we're going to click both the illustration and the chemistry like this.</p>
<p>And I'm going to shift plus a or click this orange layout over here like this.</p>
<p>Okay, now look is gonna get at the very center.</p>
<p>And the next thing that you're gonna do is, you're gonna click it over here like this, and click it over here to keep it keep it at the center both horizontally and vertically.</p>
<p>Okay, like this, look at that.</p>
<p>Okay, and click it over here again and remove all of this gap over here, get zero like this, enter.</p>
<p>Now what you're gonna do is you're gonna copy this button from here, okay, control, control, click over here, like this, and alt drag, okay, place it over here like this.</p>
<p>Do the same for all the cards as well like this.</p>
<p>Now let's look at the gap between our button and our text.</p>
<p>Okay, so I'm going to come over here and control click and hold, press the Alt button on your keyboard and put your mouse on this text over here.</p>
<p>Now look, we have 19 pixels of gap, okay, so I'm going to come back over here, click this one and click this one by clicking my shift key by clicking my shift key on my keyboard like this.</p>
<p>Shift plus a it should be 90 Okay, I'm going to put 19 over here.</p>
<p>And in order to put this button on the very center, I'm going to click this over here and click this.</p>
<p>There we go.</p>
<p>Now click both of them together like this.</p>
<p>Now you're going to click and then all plus h, which means that we're going to center both of them horizontally and vertically together.</p>
<p>So out plus h, all plus h, all plus v like that, look at that we have horizontally and vertically centered both the card and the content.</p>
<p>Okay, like that.</p>
<p>And I'm going to select both of them together.</p>
<p>And I can either group them together in a group, or I can also use or allow, so I'm going to just use the group, okay, Ctrl G, like that.</p>
<p>It became a small group over here.</p>
<p>Now you duplicate the same process and fix these cars over here.</p>
<p>Okay, I leave this to you.</p>
<p>Do you see this design over here, this is the same as number one over here and number two over here.</p>
<p>Okay, so you're going to do this on your own.</p>
<p>Also, I believe that you can make this footer over here.</p>
<p>So I'm not doing this.</p>
<p>I'm just giving this for you.</p>
<p>Now, let me show you how I made these cards over here.</p>
<p>Okay, so I'm going to come back to my assets over here.</p>
<p>And I'm going to come to, let's say that I want to see like just the first one, okay, I'm going to see like this, and alt drag over here like this, okay, right click, move to page dekstop.</p>
<p>Okay, like this, it moved to my desktop, let me zoom out, here is my asset over here, I'm going to keep it over here.</p>
<p>Oh, by the way, what you're gonna do is you're gonna move this to the right by clicking over here, Shift, click like this.</p>
<p>Okay, you're going to select all of them together like this.</p>
<p>And you're going to move it like this.</p>
<p>There we go, it got moved over here, like this.</p>
<p>And I'm going to come over here, and I'm going to select my F on my keyboard, okay, F and then I'm going to create this Dexter frame like this, look at that, and I'm gonna drag it over here like this.</p>
<p>There we go.</p>
<p>And regarding this, and regarding the navbar, what I'm going to do is I'm going to copy it from here, okay, and then I'm going to paste it over here, like this out, and then drag it over here like this.</p>
<p>There we go.</p>
<p>But before that, we also need to enable the layout grid like this control, click this over here, and then layout grid over here and change it to columns, columns over here.</p>
<p>And then what is the margin? click over here and enable this over here like this.</p>
<p>Look at that.</p>
<p>We have this column, grid over column grid over here, select this over here, and we have three columns.</p>
<p>And how many margins 50 pixels of margin, okay, 70 pixels of gutter.</p>
<p>So come back over here, like this.</p>
<p>Select this over here, right through over here.</p>
<p>Okay.</p>
<p>So how much was it 50 and 7050 pixels margin 70 pixels gunner, come back over here, and right 50.</p>
<p>Wait a minute, 50 over here, and 70 gutter.</p>
<p>There we go.</p>
<p>Okay, now, so I'm going to select the first image over here, good double click over here like this, double click over here, double click again over here.</p>
<p>Now keep clicking, unless you do select the image, okay, like this look.</p>
<p>Now I have selected the image.</p>
<p>Look at that.</p>
<p>I can see the width and height over here as well.</p>
<p>So I'm going to copy the width over here like this Ctrl C.</p>
<p>Now I'm going to come back over here.</p>
<p>Okay, I'm going to select my frame over here you see this white space? How to remove that, you're gonna click over here and convert it to a group like this.</p>
<p>Now look, we don't have any white space.</p>
<p>So click on here like this, and then enable this one, okay, constraints property and then pays the width over here like this.</p>
<p>Ctrl V, enter.</p>
<p>There we go.</p>
<p>We have our image over here.</p>
<p>Okay, now how do I know how did I do this circle over here? Pretty straightforward, okay, you're gonna see like this circle, why Ctrl.</p>
<p>Click like this.</p>
<p>Now look at this, I have a circle of 198 by 198 pixels.</p>
<p>Okay, so I'm going to click my zero, I'm on my key on my keyboard like this, enter a sorry, click.</p>
<p>Now look at this.</p>
<p>I have this circle over here, like this constraints properly and right 198 like this, 198, enter.</p>
<p>Okay, now what you're gonna do is you're gonna keep it over here like this, look at that.</p>
<p>In case if the circle is something like, in case, if the circle looks something like this, wait a minute, let me actually show you.</p>
<p>In case the cycle looks something like this, what you're gonna do is you're gonna right click on the circle, Send to Back like that.</p>
<p>Okay? And I'm gonna keep it over here unless I don't see that orange colored guide.</p>
<p>Okay, look at that.</p>
<p>It's gonna be it should be at the very center over here.</p>
<p>Okay? If you don't see the guys watching, we're gonna do is you're gonna select both of them together and hit alt H, which means center horizontally, like that.</p>
<p>Now, you're going to select both of them together.</p>
<p>And then do you see this option over here used as a mask.</p>
<p>I'm going to select this.</p>
<p>Now look at that, I have this option over here.</p>
<p>Again, make a circle, okay, zero on your keyboard, click over here, and then use this 198 like this, tap.</p>
<p>Sorry, enter like this.</p>
<p>Now, there we go.</p>
<p>Now what you're gonna do is you're gonna remove the field from here, do you see this? It has a field, it is green color.</p>
<p>Do you see this gray color over here on our circle, you're going to remove the circle, fill, and then select the stroke over here and select three over here like this, enter.</p>
<p>Now what you're going to do is you're going to bring it over here like this.</p>
<p>Yes.</p>
<p>Do you see this over here, now bring it over here like this.</p>
<p>Now, if you if you move the circle, if you try to move the circle like this, you're gonna see orange colored Guide, which will snap now what you're gonna do is you're gonna select your circle, okay, control, click like this, okay? Now keep moving your circle, unless, as long as you don't see the orange colored, orange colored Guide, which snaps at the very center, we're here like this, look at that.</p>
<p>It is actually getting snapped over here.</p>
<p>the very center, we're here, look at that.</p>
<p>Okay, now what you're gonna do is you're gonna select both of them together like this, and Ctrl G.</p>
<p>Okay, now look, it got fixed.</p>
<p>Okay, so we're done making this profile image over here.</p>
<p>Now, what you're gonna do is you're going to click it over here, like this and drag it over here.</p>
<p>But before that, you need to make this car.</p>
<p>Okay, so how to make this car.</p>
<p>So I'm gonna double click over here and see these properties look with is 399.</p>
<p>Let's consider it 400.</p>
<p>Okay, so 400 or 400, which is a perfect square.</p>
<p>So I'm going to come over here, on my keyboard, click over here, like this.</p>
<p>And what I'm going to write is 400, or 400.</p>
<p>Okay, I'm going to click this over here and write 400.</p>
<p>Over here, 400, Enter.</p>
<p>And I'm going to remove the field from here completely.</p>
<p>Now let's go actually see the main image Ctrl, click like this, and look at this, we have our stroke property of four and this color, okay, Ctrl C, I'm going to copy this stroke color, like that I'm going to see and then I'm going to select our rectangle, okay, like this.</p>
<p>If you don't see the rectangle, what you're gonna do is you're gonna select like this.</p>
<p>Now look, I can see my invisible rectangle, like this stroke over here, and basic color, Control V, enter, and then I'm gonna write three over here like this.</p>
<p>There we go.</p>
<p>Now regarding the book, now regarding the shadow watts, you're going to do is you're gonna click over here, you can just copy and paste the shadow or what you can do is you can select this over here like this, and then click this FX over here, okay, and drop shadow, right then over here, and then on the y axis as well like this, enter.</p>
<p>Okay, now I'm going to remove the guides from here by clicking this.</p>
<p>Now you see this, we have a little odd behavior over here, you see this, we have white colored space over here that is unexpected.</p>
<p>So in order to remove that, what you're gonna do is you're gonna click it over here like this, wait a minute, we're gonna click this rectangle over here, I mean square over here, and then we're going to fill it with the color.</p>
<p>Okay, color off white, complete, pure white, okay, fff.</p>
<p>In turn, now look, the problem is solved.</p>
<p>Then what you're gonna do is you're gonna either write the text over here or copy the text from here, okay, control, click out, drag like this, okay.</p>
<p>And then I'm going to put my image over here like this, you will see something like this, right click, and bring it to front like this.</p>
<p>Okay? Now control.</p>
<p>Now, select both of them together, like this, and shift plus a, and then select this option over here, up at the middle like this, and select both of them together, shift plus a, and then also not see shift plus a, sorry, click both of them together, out V and alt H, which is center, both horizontally and vertically.</p>
<p>Okay, then I'm going to make it a group control g like that.</p>
<p>There we go, we made ourselves a card component over here along with the profile, picture image.</p>
<p>Now what you're gonna do is you're going to replicate the same thing.</p>
<p>So pause the video and complete the process over here and now and I'll be back after a while.</p>
<p>Alright, then we're done making our teachers page now just copy this footer from here that you made earlier.</p>
<p>Okay, click over here, and then paste it over here like this.</p>
<p>There we go.</p>
<p>Now look, now look at these two pages over here, the Contact Us page and the signup page over here, both of them looks more or less the similar.</p>
<p>I'm going to show you how you can make this one the Contact Us page.</p>
<p>And you're going to make this on the signup form page on your own.</p>
<p>Sounds good.</p>
<p>Now let's get started.</p>
<p>Now I'm going to now I'm going to zoom out and I'm going to select this over here by clicking and then Shift, click Shift, click OK.</p>
<p>I'm gonna keep it on the right side over here like this.</p>
<p>Now I'm going to zoom in over here and select a new create a new frame, okay, F and then desktop like this.</p>
<p>There we go.</p>
<p>And I'm going to resize it a bit like this way.</p>
<p>Wait a minute.</p>
<p>There we go.</p>
<p>Now I'm going to copy this.</p>
<p>Now I'm going to copy this from here, wait a minute, I'm going to select both of them together and control like this.</p>
<p>There we go.</p>
<p>And look, we are in the Contact Us page, which means that we need to change this underline.</p>
<p>Okay, so I'm going to come to this RTL design over here, and I'm going to select this.</p>
<p>And I'm going to drag it over here.</p>
<p>In this contact us page, okay.</p>
<p>There we go.</p>
<p>And then I'm going to drag it to cover the cover all the area like this.</p>
<p>And same thing for the teacher section as well.</p>
<p>You see this one over here.</p>
<p>So when we are on the signup page, this underline should be on the signup page as well.</p>
<p>Okay, sounds good.</p>
<p>Now I'm gonna come back over here.</p>
<p>Now I'm gonna just copy this text from here.</p>
<p>out, drag it over here like this.</p>
<p>And here to keep it at the very center, select both of them Ctrl G, and then alt, H.</p>
<p>Now look, it's going to be at the very center for frame over here.</p>
<p>Now how did I make this icons along with the address, phone number, etc.</p>
<p>Now I'm going to come back to my assets page over here, and you see these images over here, this icon, I'm going to copy this from here, okay, out and then drag over here, okay? Then select both of the all of them together, right click, move to page.</p>
<p>Next up, okay, so I'm going to come back next top, zoom out and find there is my icons over here.</p>
<p>Okay, then I'm gonna bring it over here like this.</p>
<p>And I want to select the key on my keyboard, okay, and then I'm going to resize it like this.</p>
<p>Okay, I'm going to make it a small like this, and I'm going to drag it over here.</p>
<p>Okay, I actually need to make it a little bit more smaller.</p>
<p>Wait a minute.</p>
<p>There we go.</p>
<p>It looks quite good.</p>
<p>And let's actually make it.</p>
<p>There we go.</p>
<p>It looks quite good.</p>
<p>Okay.</p>
<p>Now regarding the address, okay, let's inspect what is the address, font size, okay.</p>
<p>Ctrl Click to do that we have 30 pixels, font size, regular Poppins.</p>
<p>Okay, so now let's actually duplicate the same thing key, enter, ABC, ABC at the rate gmail.com.</p>
<p>Okay.</p>
<p>Now, in order to center the icon and the text both here, I would vertically, select both of them together and hit alt H.</p>
<p>Now both of them are centered.</p>
<p>Now Ctrl G to log the position.</p>
<p>Okay, now I'm going to keep it over here like this.</p>
<p>And we're getting this one.</p>
<p>Select again, t enter, okay, 123456.</p>
<p>Okay, now look what I do, okay, select both of them together.</p>
<p>And alt, h There we go.</p>
<p>By the way, I actually changed my mind, instead of making a group, make it a frame, okay, so click over here like this Ctrl, Shift G to remove the group, okay, and hit Shift plus a shift plus a like this, and click this over here and put it at the very center.</p>
<p>We're here like this.</p>
<p>Now coming back over here, in let's inspect this one.</p>
<p>What is the gap between our text and the image over here, okay, there's inspect by clicking on here and then alt, hold your mouse over here.</p>
<p>31 pixels, okay, so come back over here, click this right 31 over here, do you want enter, there we go.</p>
<p>Same thing goes for same thing goes for here as well.</p>
<p>Select both of them, shift plus a, and click this over here is going to be 31 over here.</p>
<p>31, enter.</p>
<p>There we go.</p>
<p>Give it over here for now.</p>
<p>And let's look at this one, it should be ABC comma D, F, okay? So D click like this, A, B, C comma D, E, F, okay.</p>
<p>Select both of them together like this shift plus a, give me the center like this.</p>
<p>There we go.</p>
<p>And now select all of them together like this.</p>
<p>So they shift plus a and then keep it at the center over here like this in order to move it at the very center, hit all plus h like that, change the gap a little bit to let's say 180 pixels like this, and click over here and again, do alt plus h which is center horizontally.</p>
<p>Or you can also use this options over here as well.</p>
<p>Alright, so far, so good.</p>
<p>Now let's make this input fields.</p>
<p>Okay.</p>
<p>So let's inspect this one over here, control click, so 416 pixels by 82 pixels.</p>
<p>Okay, so I'm going to come back over here like this.</p>
<p>hit F on your keyboard, sorry, on your keyboard to make it rectangle, okay, like this.</p>
<p>So it was 416 416, enter.</p>
<p>The height was I actually forgot sorry, it was 82.</p>
<p>Okay, so I'm going to click it over here like this, and eight over here, enter.</p>
<p>Then I'm going to remove this field by selecting this minus over here again, minus and then stroke plus 123.</p>
<p>Okay, enter, then increase the corner radius to 12 pixels.</p>
<p>Okay, there we go, it looks quite identical to this one.</p>
<p>Now regarding this text, how do we input the text? Okay, so I'm going to come over here and inspect, okay? Ctrl, enter.</p>
<p>So we have 20 pixels of font size.</p>
<p>So I'm going to come over here and right click and write your name, and let dot dot dot dot like this.</p>
<p>Okay? It should be 20.</p>
<p>So I just turned it over here.</p>
<p>And now let's center it over here.</p>
<p>So select both of them together and alt h are not all a sorry, Alt v like this.</p>
<p>Okay.</p>
<p>Now I'm going to keep it I'm going to keep the text sorry, not this one in the text over here like this.</p>
<p>There we go.</p>
<p>It looks quite good.</p>
<p>And I'm going to come back over here.</p>
<p>And do you see this? It looks, this is the original design, do you see this color over here? In order to replicate the same? I'm going to come to my original design over here.</p>
<p>Okay, I want to control click over here.</p>
<p>And do you see this transparency over here it is set to 100%.</p>
<p>I want to set it to 50%.</p>
<p>Okay, control 50, enter, there we go.</p>
<p>We've replicated the same thing.</p>
<p>Now what you're gonna do is you're going to click and select both of them, then Ctrl G, I have made a group over here, okay? out, drag like this, okay? And write your email over here.</p>
<p>Email over here, like like this.</p>
<p>Okay, there we go.</p>
<p>Now, how do we make this, this text over here, the same process, Okay, I'm gonna control click over here and see if inspect the elements, okay, for one for Y to 10 is the dimension over here.</p>
<p>So let's do it.</p>
<p>So I'm gonna click over here and copy it, like this over here, like this.</p>
<p>And I'm just gonna simply drag it over here like this.</p>
<p>There we go.</p>
<p>And I'm going to click over here and Ctrl Shift G to release the grouping.</p>
<p>Like that.</p>
<p>I'm going to right over here, your message here.</p>
<p>message here.</p>
<p>Okay, now I'm going to select this option over here, do you see this option, or width? There we go.</p>
<p>And I'm going to keep it over here like this.</p>
<p>Then Ctrl G to lock our positions.</p>
<p>Alright, looks good.</p>
<p>Now let's see the spacing.</p>
<p>Okay, I'm going to click this first element, not this one, and then hit Alt on your keyboard, move your mouse.</p>
<p>So from here to here it is 50.</p>
<p>From here to here it is how much 46 Okay, there's duplicate the same, okay, it should be shift plus a, and 46 over here, okay.</p>
<p>And from here to there, it should be within shift plus a, okay, and then center it over here like this.</p>
<p>It should be 50.</p>
<p>Okay, right 50 over here, like this.</p>
<p>50, enter.</p>
<p>So we have nailed our gaps.</p>
<p>Okay, now keep it at the very center, okay, like this, Alt H, like that, and button.</p>
<p>And regarding the button, you make the bottom yourself.</p>
<p>So I'm leaving this signup form to you, this is the same process as this one.</p>
<p>Okay.</p>
<p>This Contact Us form and this one over here, this first page over here, I really hope that you can do it on your own.</p>
<p>Congratulation guys, we have successfully completed the web design for the next version.</p>
<p>Now we're going to create the design for the mobile version, the mobile design is over here on this page over here, why don't we if you can recall, I have created these two pages over here, the laptop and the tablet version over here.</p>
<p>Along with that, I have also included the style guides over here, I mean, the typography guides over here, so that you can practice on your own at your house.</p>
<p>This is your homework.</p>
<p>So I'm going to come back move version over here and then I'm gonna show you how I made this design over here.</p>
<p>Okay, so let's get started.</p>
<p>Alright, the first things first, I'm going to move all of these elements all the way right side, so that I can create new frames, okay, so I'm going to select all of them together like this, okay, like that.</p>
<p>And then I'm going to move it by clicking over here and then drag dragging over here like this.</p>
<p>Alright, there we go.</p>
<p>Now I'm going to zoom in here over here like this.</p>
<p>Now I'm going to click the F on my keyboard like this, and then I'm going to select this phone option over here and then I'm and then I'm gonna click this over here, iPhone 11 Pro Max, like this.</p>
<p>There we go.</p>
<p>We have our frame over here, and then I'm going to align it like this according to this frame.</p>
<p>And then I'm going to select this one rjL one, okay, like this.</p>
<p>And then I'm going to look at the border radius over here.</p>
<p>I mean corner.</p>
<p>Yes, it is set to 40 pixels, okay? So I'm going to take this over here, and I'm going to say over here how much 40 like this, okay, enter.</p>
<p>Now let's make this navbar over here, you see this one? Okay, so I'm gonna Ctrl click on this logo over here and see its properties.</p>
<p>It is set to semi bold Poppins font family and font sizes, 48 pixels over here, okay? So I'm going to come back over here, okay.</p>
<p>Click on this hc t on my keyboard and click OK.</p>
<p>So I'm going to write a do sorry, a Jew dot Pio, like this and is also and then I'm going to change the settings to for gate over here.</p>
<p>Like This semi bald and then Poppins.</p>
<p>Alright, looks good.</p>
<p>I'm going to keep it over here like this.</p>
<p>There we go.</p>
<p>Now, how do you create this hamburger menu icon over here? Okay, so you have two options, you can manually create that.</p>
<p>Or what you can do is you can download it from somewhere, I mean, download the icon from some website, like freepik, and many others.</p>
<p>Alright, today, I'm going to show you manually how to create this hamburger menu icon.</p>
<p>So let's get started.</p>
<p>Okay, so I'm going to first of all, I'm going to inspect this element, okay.</p>
<p>Ctrl, click like this, and then I'm going to see it properly.</p>
<p>So how much is it set? width is 30 pixels, and the height is four pixels.</p>
<p>All right? So I'm going to come over here like this.</p>
<p>And I'm going to draw a what rectangle Okay, on my keyboard and then drag it like this.</p>
<p>All right, I'm going to right over hit 30.</p>
<p>And what was the height, it was four, four, enter, there we go.</p>
<p>Now I'm going to say to which color Tell me not black, it is this color, I'm going to come to this Dexter option over here.</p>
<p>And I'm going to come to my color palette over here you see this? This color over here.</p>
<p>Okay, so I'm going to click it over here and copy it like this.</p>
<p>Alright, so I'm going to go back to the mobile version.</p>
<p>And I'm going to come over here, and I'm going to paste it over here like this on this section, okay? Ctrl V, enter.</p>
<p>Oh, now I'm going to create it three times, okay, I will replicate it three times.</p>
<p>Okay, one.</p>
<p>So how I did this, okay, let me show you control that, first of all, you're going to hit Alt on your keyboard, okay, and then drag your mouse like this.</p>
<p>Okay, there we go.</p>
<p>And then do the same thing again, like this alternate keyboard and drag.</p>
<p>There we go.</p>
<p>Now let's come to the original one over here.</p>
<p>And what you're going to do is you're going to Ctrl on your keyboard and click like this, okay, now hit Alt on your keyboard, and then move your mouse to this portion over here, I'm in the second line, okay, so that you can see the gap between the first and the second line is how much five pixels, okay.</p>
<p>So I'm going to come over here.</p>
<p>And what I'm going to do is I'm gonna multi select all of them like this, okay, and shift plus a, now send rate like this.</p>
<p>And then I'm gonna click it over here and you see this gap properly.</p>
<p>I'm gonna say two, five, enter, there we go.</p>
<p>All set.</p>
<p>Now what you're gonna do is you're gonna center both the logo and the icon, horizontally, okay? select both of them together, like this, and shift plus a.</p>
<p>Now look, the icon jumped at the very top.</p>
<p>Let's fix that by clicking this over here and keep it at the very center horizontally like this.</p>
<p>There we go.</p>
<p>Now let's come to the origin document over here and click this.</p>
<p>Okay, now let's see its layout.</p>
<p>Great.</p>
<p>Okay, so I'm gonna click this icon over here like this.</p>
<p>And then I want to inspect this one, okay? It has how many columns, one column margin is 20 pixels.</p>
<p>Now, let's recreate the same Okay, so I'm going to click over here like this, and click this.</p>
<p>Okay.</p>
<p>Layout grid.</p>
<p>There we go.</p>
<p>And I'm going to change it to what columns and then one over here and how much is the margin? 20 margin.</p>
<p>Okay, there we go.</p>
<p>Now, what you're gonna do is you're gonna, I mean, we're gonna lie it over here, okay? I mean, the logo and the hamburger icon, okay, so we need to increase the gap so that we can stretch it, I will stretch the icon to the VA, right on my, on our layout grid.</p>
<p>Okay, like this.</p>
<p>We're gonna.</p>
<p>Okay, there we go.</p>
<p>Looks good.</p>
<p>Now, I'm gonna come back to the Wait a minute.</p>
<p>Yeah, it looks good.</p>
<p>Now I'm gonna come back over here, click this, okay.</p>
<p>And now look, what I do.</p>
<p>I'm going to select the Alt on my keyboard after clicking this nav bar over here, and then all on my keyboard.</p>
<p>And I'm going to put my mouse on this screen over here so that I can see the gap between the screen and my content.</p>
<p>Okay? It is 19 pixel over here, and 10 pixel at the top.</p>
<p>If I come over here is going to be the same, I guess no strange.</p>
<p>Okay.</p>
<p>So I'm going to keep 19 over here.</p>
<p>Okay, so how do I do that? countries that, let's see if it is okay or not.</p>
<p>Okay, so I'm going to click this one, almost on my keyboard and then put my mouse over here, this 20 over here.</p>
<p>And over here it is how much 21.</p>
<p>So there is one pixel difference, okay? Not big difference.</p>
<p>So let's actually increase one pixel over here, click this one, and then come over here and just increase one.</p>
<p>How do you do this, click the up arrow sign on your keyboard, okay, like this.</p>
<p>And then the problem is fixed.</p>
<p>Now let's inspect, okay, so click this over here, altering your keyboard, put your mouse over here, so it is 20 over here and on this side, out, and then look at this 20 over here as well, but at the top it is how much nine.</p>
<p>So move it a little bit, just what one pixel Okay, so click this and then down arrow on your keyboard, down like this.</p>
<p>Now let's inspect alternative keyboard.</p>
<p>Keep it over here.</p>
<p>We're going to stand 2020 this symetrical Alright, looks good.</p>
<p>Now.</p>
<p>Regarding the image, how do we work with this same thing, come to assets over here and look at this one, okay? Click on here, Alt on your keyboard, drag over here like this, okay? Right click, move to page, what mobile.</p>
<p>Alright, so zoom out a little bit so that you can see where our asset got transferred, okay, so it is transferred over here, bring it over here, like this drill is the same, okay, you're gonna double click over here, or what you can do is you can just click on here or not here, sorry, over here, and you're going to select, I mean, you see all of this vector gets selected, okay, just select the very last one, okay, there's one, and Delete on your keyboard.</p>
<p>Like this, it got deleted, and look at this white space.</p>
<p>If I click this name over here, you see this unnecessary white space.</p>
<p>In order to remove them.</p>
<p>Click this frame over here as a group.</p>
<p>There we go.</p>
<p>All our unnecessary work split whitespaces went away.</p>
<p>So I'm going to keep it over here.</p>
<p>Look, it's very big.</p>
<p>Okay, so we need to resize it rescale.</p>
<p>Either you can hit K, either you can hit k on your keyboard, or just hit shift on your keyboard and just drag it over here like this.</p>
<p>Alright, like this.</p>
<p>Let's do it manually instead of copying the properties from here.</p>
<p>Okay, let's manually shift, hold shift on your keyboard and drag like this.</p>
<p>Again, it's gonna resize proportionately legs.</p>
<p>Okay, now, you're gonna follow the orange right? Now you're going to follow the orange guides over here, you see this orange guides resuming.</p>
<p>You can see the orange colored guides, okay, you see these guides, you see that? It's snapping.</p>
<p>Okay, so I'm going to stretch it till my layout grid over here.</p>
<p>Okay, there we go.</p>
<p>Boom.</p>
<p>Notice inspect the gap between our nav item, I mean, nav bar and our image, okay, on the original document, click this alternate keyboard and put it over here.</p>
<p>47.</p>
<p>So click this alternate keyboard over here.</p>
<p>So 36 point 71.</p>
<p>So what was this? 47? Okay, so I went to, sorry, which is over here, let's see.</p>
<p>This must get click over here and all to put it over here is 58.</p>
<p>Okay, it should be 47.</p>
<p>So shift plus up.</p>
<p>Let's see how much is that we have moved 10 pixel up.</p>
<p>So out on your keyboard, this 48 so it was 47.</p>
<p>So click it, click again and put it in, press up arrow sign one thing like this.</p>
<p>Now look, it's equal measurement.</p>
<p>Alright.</p>
<p>And regarding this flakes over here, you see this little flakes.</p>
<p>Okay? You want to put them on your own.</p>
<p>Okay, so I'm going to leave it as it is, because I showed you how to recreate this doodles over here, this flakes over here, okay, what you're gonna do is you're gonna come to assets over here, okay? And then you're gonna use this assets over here, okay? All right, let's come back to the mobile over here.</p>
<p>Let's duplicate this text over here and create the button.</p>
<p>All right, now click this altar on your keyboard and drag over here like this.</p>
<p>Okay.</p>
<p>By the way, I also given this chart over here, the typographic guide, like what should be the size, font size of the logo, and the large text, small text, size button, etc.</p>
<p>so that you can make all elements with accurate calculations.</p>
<p>Okay? So zoom out and come over here.</p>
<p>Alright, so what we are going to do is we're going to copy this over here as well.</p>
<p>Okay? Like this, click over here, Alt, drag like this.</p>
<p>All right, there we go.</p>
<p>Now let's see how to create this button over here.</p>
<p>Okay, the same thing, okay, what you're gonna do is you're gonna hit t on your keyboard, okay, then, click like this.</p>
<p>Now you're gonna write log in like this.</p>
<p>Okay, now come over here and inspect the original document, click, hit Ctrl.</p>
<p>And then take a look, we have font size of 24, remoto.</p>
<p>Both.</p>
<p>All right, so come over here, right 24 Robo Joe, and then it should be how much Bose There we go.</p>
<p>And we're gonna change the color to white because it is because the original one is white in color.</p>
<p>All right, like this F F F three times, all right, six times, Okay, it looks invisible.</p>
<p>Now what you're gonna do is you're gonna hit Shift plus a on your keyboard and make all the way up like the shift plus eight.</p>
<p>Okay? In case you can't find your invisible button over here, do this.</p>
<p>Okay, if you select like this, then you can select your button.</p>
<p>All right.</p>
<p>Now come at the bottom over here and hit fill, and fill it with a color black 000, enter.</p>
<p>There we go.</p>
<p>Now we can see our button.</p>
<p>Okay, so come over here, click.</p>
<p>I'm in control, click, look at the height.</p>
<p>It is 55.41.</p>
<p>Let's consider it 55 and the width is 374 which is I will which stretches from the very left to the very right to all layers.</p>
<p>Great.</p>
<p>So what is the border? Yes.</p>
<p>9.49.</p>
<p>Okay, so click over here, right the border.</p>
<p>Yeah, I'm in corner.</p>
<p>Yes.</p>
<p>9.49.</p>
<p>All right, there we go.</p>
<p>Now the height is how much 55.</p>
<p>Look at this, the height and the width is locked in order, unlock it, just come over here and drag it a little bit over here, like this resize a little bit over here, the height gets unlocked.</p>
<p>And do the same over here a little bit over here, the width gets unlocked as well.</p>
<p>All right, now in order to, if you notice carefully that you can see that the text is not at the very center have a button, how to do it, just click over here, center like this both horizontally and vertically.</p>
<p>Okay, now the height of the button should be 55, enter, and the width, instead of doing it manually, instead of doing it over here, directly, just put it over here like this, and then drag like this, okay? extend till the end over here like this.</p>
<p>Okay, there we go.</p>
<p>Now, copy the button over here like this.</p>
<p>All right, now control, click, double click over here and then sign up.</p>
<p>There we go.</p>
<p>And then what you're gonna do is you're gonna click both of them, then hit Shift plus a, and now sending the button both horizontally and vertically together like this.</p>
<p>Alright, now let's inspect the gap between our first and the second button.</p>
<p>Okay, click, sorry, control, click, control, click on the original button, and then out, hold your mouse over here how much it is 17 pixels of gap, okay, so come over here.</p>
<p>And click this and it should be 1717.</p>
<p>There we go.</p>
<p>All right, now looks good.</p>
<p>Now I'm gonna remove the layout grid from here like this.</p>
<p>Okay, along with that, remove the layout grid of the original document as well look at that it looks symmetrical, identical, except the flex over here, okay, except this flex over here, because I have kept this for you, so that you can do it on your own.</p>
<p>Alright, now look at the second frame over here, this is the same as the first one, okay, so what you have to do is you're gonna click f4 on your keyboard, then phone camera phone option, and then click iPhone 11 Pro max like this, and you're going to get this frame over here like this, resize it, you don't have to resize it because it's perfect measurement.</p>
<p>And then what you're going to do is you're going to come to this over here, okay, click over here, Alt, drag like this, and then paste over here like this.</p>
<p>There we go.</p>
<p>And you're getting this one, inspect the corner yet is 40 pixels.</p>
<p>So 40 pixel over here as well for zero, enter, and we're getting layer grid, click over here, okay, sorry, two columns.</p>
<p>20 off gap between the pixel gap, column count should be one.</p>
<p>Okay, and there we go.</p>
<p>And now what you're gonna do is you're gonna center it over here like this, at the very center vertically, or what you can do is, you can just keep it over here, like this, and just click it and alt H, which means center horizon view like this, or what do you have the, or you also have this option over here, you see this, we have the Align Horizontal Centers, okay, I'm going to keep it over here like this, click it over here, like this, look at that it got centered horizontally.</p>
<p>All right, so I'm gonna keep it over here like this.</p>
<p>aggroing.</p>
<p>Good, according to our design over here.</p>
<p>All right, now I'm going to leave this entire design on your hands because I truly believe that you can do it on your own because this one is similar to this one over here, the first frame over here, okay, so I'm not doing this, you're gonna do it, okay, including this little doodles over here.</p>
<p>Okay, so you're gonna do this on your own as well.</p>
<p>Now we're gonna move on to the next section over here, you see this? We're gonna make cards over here on our offered courses section.</p>
<p>Okay, so how do we do this? Okay, so first of all, create a frame over here F on your keyboard, okay, and then select this iPhone 11 Pro Max, okay, so I need over here like this.</p>
<p>I mean, with the original document at the top like this, look at that.</p>
<p>We have our orange color guides over here.</p>
<p>Okay, now click on this, select the corner radius, corner radius to 40 over here, and there we go.</p>
<p>And now you can stretch it till over here, unless as long as it doesn't snap over here at the bottom, you can see the orange colored guides.</p>
<p>If I zoom in a little bit over here, you can see the orange colored guides, Okay, there we go.</p>
<p>I mean, it's gonna snap, okay, you can feel it, that it aligned together.</p>
<p>Now what you're gonna do is you right click our frame over here by selecting this name over here and then layout grid, right click on this and select columns, just one column, enter.</p>
<p>All right, now click on the original document over here and select this.</p>
<p>Not this.</p>
<p>Sorry, this one.</p>
<p>Okay, let's, let's inspect how much margin do we have? We have 20 pixels of margin.</p>
<p>Okay, so this one, on our practice case, it should be 20 pixels of margin as well.</p>
<p>So click OK.</p>
<p>So So click over here and select training.</p>
<p>Okay, enter.</p>
<p>There we go.</p>
<p>Now regarding this nav bar, you know the drill, right? Just copy it from here, like this out and then drag over here like this.</p>
<p>There we go.</p>
<p>And in order to center this nav bar horizontally, what you're gonna do you remember, Alt H, or select any one, or select this option over here.</p>
<p>Okay? All right, looks good.</p>
<p>Keep it over here at the top.</p>
<p>Okay, now in order to complete these designs very quickly, what you're going to do is you're going to come to this Dexter option over here, okay? And this is our offered courses.</p>
<p>This is the original one.</p>
<p>And this is the practice case over here.</p>
<p>Okay, so I'm going to click over here and and then select Alt on my keyboard and drag over here like this.</p>
<p>All right, look at that.</p>
<p>I have successfully copied it.</p>
<p>And now right click, move to page what mobile Alright, come to mobile, zoom out to find the frame.</p>
<p>That is it, we have our there is it, we have our frame over here.</p>
<p>drag it over here like this, again, this corner.</p>
<p>And now what you're gonna do is you're gonna see like this text over here, along with the underline, okay? Copy, throw out, drag like this.</p>
<p>All right, there we go.</p>
<p>And now what you're gonna do is you're gonna shift and then resize like this.</p>
<p>Or what you can do, you can just even hit k on your keyboard and drag like this.</p>
<p>Alright? Now look at this, it is getting small proportionality.</p>
<p>Okay, now I'm going to keep it over here, you can take the help of the orange color guys like this, okay? Or what you can do is you can just keep it over here as it is and click it, Alt H or select this option, okay? align content horizontally.</p>
<p>There we go.</p>
<p>And let's inspect the gap between this one and the left nav bar, like this out and put your mouse over here.</p>
<p>38 pixels, okay? click over here, alternate keyboard, put it over here, this 59.</p>
<p>Okay, so what you have to do is you have to just give it over here, and let's inspect right now, alternate keyboard, select 40.</p>
<p>Okay, so I'm going to click here, and then press the up arrow two times one, two.</p>
<p>Now it's 38.</p>
<p>accurate.</p>
<p>All right, looks good.</p>
<p>If we're going to if we're going to recall, we made this card on the desktop version, okay? Although that that now in order to make the design for the mobile version, very quickly, we're going to take the help of oral layout.</p>
<p>So what we're gonna do is, we're gonna select all our cards together like this, okay? And then shift plus a like this.</p>
<p>Do you see this option over here is this called the oral l? Do you see this little button over here? Oh, by the way, you're going to click this over here, and then center both horizontally and vertically, like this.</p>
<p>And now you'll see this little button over here, this is activated, which is, which is align content horizontally.</p>
<p>Now we're going to select align content vertically like this, you see this button over here, click this Now look, it made us content for our mobile version, okay, so I'm going to drag from here to here like this, okay.</p>
<p>And then I'm gonna, what I'm gonna do is I'm gonna keep it I will align without layout grid over here, like this, right now when I select key on my keyboard, or hold, shift, and then resize your cards like this, as long as it doesn't snap to our layout.</p>
<p>Great on the right, okay, like this.</p>
<p>There we go.</p>
<p>It looks quite good, I guess, click over here and put it at the top like this.</p>
<p>There we go.</p>
<p>Okay, now it looks quite big compared to our design over here.</p>
<p>So in order to adjust the settings, what we're going to do is we're going to click over here, double click Okay, and then double click again, double click again, as long as we don't see this blue colored lines, our lower image, okay, look at the size of the image.</p>
<p>Okay, you see this, just copy the width Ctrl C.</p>
<p>And now come over here, double click, double click, double click as long as you don't see the blue colored lines around our image, okay.</p>
<p>So I have selected this one, select this option, okay, constraints properly, then paste the width over here.</p>
<p>Ctrl V, enter.</p>
<p>There we go.</p>
<p>Now let's change the text.</p>
<p>What is the font size of this text? Okay.</p>
<p>Ctrl.</p>
<p>Click.</p>
<p>Now look at this, it is 50.7 just consider it 50 pixels, okay, Ctrl, click, select 255 zero, enter.</p>
<p>There we go.</p>
<p>And yeah, select this option over here as well or a width.</p>
<p>So what it will do, let me show you the control set.</p>
<p>What it will do you see this extra gap over here is going to remove that extra extra gap so that we can do our measurements accordingly.</p>
<p>I mean, correctly.</p>
<p>Okay, so click this over here now.</p>
<p>Now you can see that the extra gap got removed.</p>
<p>Okay, like that.</p>
<p>There we go.</p>
<p>And we're getting the button lis instructed what what is the font size model? Okay.</p>
<p>Ctrl click like this.</p>
<p>24 pixels.</p>
<p>Okay.</p>
<p>Ctrl click.</p>
<p>So it took You fall over here, Enter.</p>
<p>And then look at this, we have so many gaps over here.</p>
<p>Okay, in order to remove those gaps, just click this over here or Oh, wait like this.</p>
<p>There we go.</p>
<p>Alright, so far, so good.</p>
<p>Now look at this, we have our content on the very left side, so we need to center it both horizontally and vertically.</p>
<p>And now let's look at our original category here.</p>
<p>Okay, so double click over here and look at this height over here.</p>
<p>Okay, so I'm going to copy the height of a Ctrl C, and then come to our practice case over here, okay, double click over here and then paste it over here like this, okay? Ctrl V, enter.</p>
<p>Alright, now, so far, so good.</p>
<p>Now we need to center our content both horizontally and vertically inside our card over here.</p>
<p>Okay, so how do we do this, first of all, we're gonna on frame or frame, okay, like this, I'm going to click over here, and then click this over here, okay, from frame, we're going to select it to group like this, okay, and then Ctrl Shift G to remove that group like this.</p>
<p>Now, it doesn't have any oral layout over here, it is just a single plane card, I look at this over here, it is also behaving like a group.</p>
<p>So Ctrl, Shift G, remove that group as well.</p>
<p>Alright, now the next thing that you're going to do is click this content over here and this button over here as well.</p>
<p>Okay, both of them and then shift plus eight, to put it inside a frame, okay, and then select it to zero, like this, and let's enter.</p>
<p>All right, zero over here as well, there we go.</p>
<p>It is removing the extra whitespace from our content, okay.</p>
<p>And now what you're going to do is you're gonna select both the card and our content like this, okay? And then shift plus a, okay, shift a, and then centric, both horizontal and vertical.</p>
<p>Okay, you're gonna select this button over here, like this, and then select this button over here, or what you can do is you can just select alt, H, and alt v on your keyboard like this look, or v h like this.</p>
<p>There we go.</p>
<p>Now look at this.</p>
<p>We have so many gaps over here, but we have a minimum gap over here.</p>
<p>Okay, so how do we remove those gaps? Okay, so let's inspect this button over here, okay? Ctrl, click like this, look at this properties, okay? Look at the height, it is 55 pixels, okay, so I'm going to come back over here and control click like this, and set the height to how much it is set to 62.</p>
<p>So and it is also locked.</p>
<p>So what you're going to do is you're going to select v on your keyboard and drag it a little bit up, okay.</p>
<p>And now set it to 55 pixels.</p>
<p>Great.</p>
<p>55, enter, there we go.</p>
<p>Now, this button is not at the very center, I mean, this text is not at the very center, what you're going to do is you're going to click this over here, okay.</p>
<p>And let's send it over here like this.</p>
<p>There we go, boom.</p>
<p>But still, you have so many gaps in our content, I get it.</p>
<p>So let's inspect.</p>
<p>Okay, so click over here.</p>
<p>And look at this, we have 7.66 pixels of gap.</p>
<p>Okay, so let's, let's see, to see, enter, there we go.</p>
<p>Now select both of them together again, and alt v alt h to sender both of them both horizontally and vertically.</p>
<p>There we go.</p>
<p>Our bottom looks exactly the carbon copy of the original one over here.</p>
<p>Now, I'm going to leave the rest of these cards, you see this card over here, and this card over here as well.</p>
<p>I am leaving this to you fix them.</p>
<p>Along with that this design over here you see this design, this is similar to our design, I mean frame number one, this one and frame number two over here as well.</p>
<p>So do it on your own.</p>
<p>And yeah, you're gonna do is footer over here as well on your own.</p>
<p>Now we're gonna make the teachers page.</p>
<p>Okay, this one.</p>
<p>All right, so zoom out a little bit and delete this one from here, delete.</p>
<p>All right, and then we're going to move it to the right side.</p>
<p>Select properly like this.</p>
<p>Alright, so right so over here like this.</p>
<p>There we go.</p>
<p>And now come to the next version over here and you see this page over here, the original document this one, so I'm going to copy it from here, okay, the original design, okay, click on the name over here, Dexter for all on your keyboard and drag it over here like this.</p>
<p>Alright, now right click, move to page which one mobile like this, okay, now come to the mobile version, zoom up, find it.</p>
<p>Where is it here Is it okay? So I'm going to keep it over here at the top, and I'm going to move it.</p>
<p>Both of them live in all these design building designs over here on the very right over here.</p>
<p>Okay, let's zoom in over here.</p>
<p>Click F on your keyboard, select the iPhone 11 Pro max like this, okay, drag it over here like this.</p>
<p>And said the border radius, I mean corner yes to 40 over here like this, enter.</p>
<p>Now select this layout grid, say two columns over here and then count will be one enter.</p>
<p>So the margin 20 pixels over here, enter.</p>
<p>All right now just just replicate the nav bar by Alt on your keyboard.</p>
<p>drag it over here like this.</p>
<p>All right.</p>
<p>Then release it like this and then alt h to center heart, the center horizontally like this.</p>
<p>Okay, there we go.</p>
<p>So far, so good.</p>
<p>Now look at this desktop design over here, okay? So out, drag like this, okay, keep it over here, then and then hit k on your keyboard, okay? Okay, and then drag it like this, as long as it doesn't get shrunk like this a bit like this one, the original design.</p>
<p>Let's make it, let's make it a little bit smaller like this, and then click on here, select this, or Alt h on your keyboard.</p>
<p>There we go.</p>
<p>Keep it a little bit up like this.</p>
<p>Alright, looks good.</p>
<p>And now select your frame over here like this, and then hit v on your keyboard, okay, V, and then drag it to the very end over here like this.</p>
<p>There we go.</p>
<p>So far, so good.</p>
<p>Now we're going to replicate the cards over here.</p>
<p>Okay, so how many cards? Do we have? 123? Sorry, 12345, the five cards? Not six cards as the original design on that on the text version.</p>
<p>Okay, so.</p>
<p>So do you recall that how we made these cards over here? Okay.</p>
<p>So what will we use over here, the same as this one over here, you see this design over here, we made this, the same as this, we're gonna use the auto layout.</p>
<p>How do I do this, like this? Look at look, follow me.</p>
<p>Okay, I'm gonna select all my cars over here, like this shift plus a, or right click and add auto layout like this.</p>
<p>Look at this little button over here.</p>
<p>Okay? It is horizontal, say to vertical like this look, it became designed for our mobile version, you see this? Okay, I'm going to keep it over here like this.</p>
<p>There we go.</p>
<p>Alright, and then I'm going to resize it by hitting key on my keyboard and resizing like this.</p>
<p>As long as you see this one, as long as this one, this line doesn't align with our layout grid.</p>
<p>Okay, like this.</p>
<p>There we go.</p>
<p>Oh.</p>
<p>And I'm gonna keep it over here like this.</p>
<p>And we're getting this cards over here.</p>
<p>Same thing for the same thing, obviously, all of them together, and then shift plus a, and then click this over here like this.</p>
<p>All right, now keep it over here, like this, and then resize it like this.</p>
<p>Okay, key on your keyboard, and then resize like this.</p>
<p>Actually, it is very big.</p>
<p>So I'm going to keep it over here like this.</p>
<p>Now, what you're gonna do is do remember how I resize this first frame over here.</p>
<p>Okay, on our offered courses section, this one, do you remember how I resize this card according to the original design, you're gonna do the same thing over here.</p>
<p>Okay, you're gonna first or resize this card, and then this two, and then you're going to resize these two cards over here, and whether we don't need the last one, okay, so like, we can easily I will, we can delete this one, okay, like this still it, we have two cards over here.</p>
<p>Oh, by the way, we can also place it over here like this, there we go.</p>
<p>Now, what you're gonna do is you're gonna resize these cards, according to the original file over here, I mean, the original designer, I showed you how to do it right over here, I showed you how to resize it according to the original design.</p>
<p>So do it on your own, do this section on your own, because I truly believe that you can do it.</p>
<p>And regarding this footer over here, you don't have to recreate it again, because it is a component.</p>
<p>I mean, this is the original component over here, wait a minute, this is the original component over here.</p>
<p>And this one, wait a second, this one is an instance of the original document.</p>
<p>Okay, so this is just an instance.</p>
<p>Okay, just copy it from here all and then drag over here like this.</p>
<p>There we go.</p>
<p>And if in case if we want to change something over here, just changed the original document, okay, just changed over here and everything, I will all the children will get changed according to the parent component.</p>
<p>Okay.</p>
<p>All right.</p>
<p>Now let's look how to make this contact us for Okay, there's one over here.</p>
<p>So we're going to create I mean, we're gonna move this to the very right side like this, select all of them together, and then drag to the right side like this.</p>
<p>There we go.</p>
<p>And then come over here and hit F on your keyboard F, you're gonna click F on your keyboard and then select this iPhone 11 Pro max like this, give it over here.</p>
<p>And what was the corner DSC room, we're for the Texas So hey, 40 over here, okay.</p>
<p>40, enter that oralia I mean layout grid over here, say two columns over here, like this columns.</p>
<p>And let's set one, enter, and over here, right in the basis of margin, there we go.</p>
<p>Just copy the nav bar from here because we made it once.</p>
<p>All right, and then what you're gonna write is, what you're going to click is this one, Align Horizontal Centers.</p>
<p>There we go.</p>
<p>Boom, keep it up at the top like this.</p>
<p>There we go.</p>
<p>Or you can just use your mouse and move it like this.</p>
<p>There we go.</p>
<p>To beat over here, and just copy this text from here.</p>
<p>Click and then drag like this.</p>
<p>Alright, and in order Take it, I mean, in order to keep it at the center of H on your keyboard, Alt H, move it a little bit up like this.</p>
<p>And if you want accurate measurements, just select this and also on your keyboard and drag, keep your mouse over here, this 15 pixels, okay? So I'm gonna keep, I'm going to click over here, keep my mouse over here, like this is 30 pixels.</p>
<p>Okay, so let's move it a little bit up.</p>
<p>So how to do it, click over here and then hold shift on your keyboard and press up like this one, too.</p>
<p>Okay, now let's inspect, click over here, alternate keyboard, look, it is 10 pixels of gap.</p>
<p>So click over here 12345, I pressed five times the arrow down button over like on my keyboard, like that.</p>
<p>Look at that is now accurate measurements.</p>
<p>All right, now copy this line from here as well out, drag over here like this, okay.</p>
<p>Then alt h to center horizontal.</p>
<p>That gives you the we're here at the bottom of the get in touch text.</p>
<p>All right, now how to recreate them.</p>
<p>Remember where our assets it is over here on this assets page.</p>
<p>All right, not this one.</p>
<p>This one over here.</p>
<p>Wait a second, this one.</p>
<p>Okay.</p>
<p>So I'm going to select all of them together like this, and then out drag like this.</p>
<p>Then select all of them again, right click move to page where Come on, tell me it's mobile.</p>
<p>So come to mobile over here, zoom out to see where is it here Is it okay? I'm going to select all of them together like this and then select k on my keyboard and drag or select shift on my keyboard, okay, and then drag like this.</p>
<p>And that is going to get resized like that.</p>
<p>Okay, I want to bring it over here like this, within that.</p>
<p>So it's quite big compared to this one.</p>
<p>You can, you can also inspect the icon size like this control click like this, you can see that it is with 50 pixels.</p>
<p>And the height is 38.09 pixels, okay? So you can do that as well as what I'm going to just use my Scale tool, okay, so I'm gonna select all of them together and the hit key on my keyboard, and then scale it down like this.</p>
<p>There we go.</p>
<p>All right, now now what we're going to do is we're gonna select this phone over here like this, okay, I will, we're gonna make it horizontal like this.</p>
<p>Okay, now, let's copy the text from here, okay, out, drag like this.</p>
<p>Double click out, drag like this, okay, or just click over here, I'm in control, click over here and all, no sorry, out, drag over here like this.</p>
<p>Or what you can do is just control click over here, like this, and then alt, drag like this.</p>
<p>Alright, now what you're gonna do is look at this very carefully.</p>
<p>I'm going to select both of them together and take the help of home auto layout.</p>
<p>Okay, the boss is over here, kick it over here, like this, the plus thing.</p>
<p>All right, now keep it at the very center over here, both the text and the icon like this.</p>
<p>There we go.</p>
<p>Now let's keep a gap of 30 pixels, okay? between our icon and the text.</p>
<p>Okay, the same thing for for here, shift a, click over here and center it over here like this.</p>
<p>All right.</p>
<p>Now, how much was the gap 30 pixels, okay, see, like this curly, enter, go.</p>
<p>The same over here, shift a, how much 30, enter, see like this, keep it at the very center.</p>
<p>We're here.</p>
<p>Okay? Now, so far, so good.</p>
<p>It looks like this one.</p>
<p>Okay.</p>
<p>Now, now if you notice carefully, then you can see that this text are not aligned to a single line.</p>
<p>Okay, so let me bring my ruler over here like this, like clicking over here.</p>
<p>And then rulers over here like this.</p>
<p>So I got my, so I got my ruler over here that I'm going to click over here and then keep my ruler over here like this.</p>
<p>So I'm going to keep it over here, okay, to this line.</p>
<p>Now, if I zoom in, then you can see that the text is over here, okay, according to a ruler, and what this text does it align with a ruler over here at the same time, this text doesn't align with the ruler over here.</p>
<p>That's because the width of this icon width of this icon and the width of this icon is not the thing.</p>
<p>So in this case, what you're gonna do is you're gonna just remove that oralia How to remove the auto layout, okay, click over here, and select this group.</p>
<p>And then what you're gonna do is you're gonna click this and then Ctrl, Shift g on your keyboard, remove that group.</p>
<p>Now, both of them behave like individual elements.</p>
<p>All right, same thing over here, remove the frame to group and then Ctrl Shift key to remove that group.</p>
<p>Come over here.</p>
<p>Select this frame to group Okay, Ctrl Shift G, remove that group.</p>
<p>There we go.</p>
<p>Now what you're gonna do is select all the text over here like this, okay, and then use auto layout shift plus a like this.</p>
<p>Now, our texts are at the very center here, according to our what according to this ruler over here, you see this ruler and you see this continent we're here.</p>
<p>Now if want to even also use this one and keep it over here, okay? On the left side of the horizontal line like this.</p>
<p>All right.</p>
<p>Now regarding this icons over here, you can do the same, you can just use auto layout as well, by clicking all of them together, I mean selecting all of them together and then shift plus K.</p>
<p>And then we need to keep it at the center both horizontally and vertically.</p>
<p>So click over here and look like this.</p>
<p>Alright, then, so far, so good.</p>
<p>Okay, now we're going to select all of them together like this.</p>
<p>Okay, and then Ctrl G on your keyboard to lock the position.</p>
<p>All right, there we go.</p>
<p>Look at that.</p>
<p>It looks very nice.</p>
<p>Now click this original document over here like this.</p>
<p>Alright, and then alternate keyboard, put your mouse over here like this, how much is the gap between our address and this text? 46.</p>
<p>There's duplicate the same as well.</p>
<p>Click over here and then keep it over here like this.</p>
<p>And the alternative would give it over here, how much how much is this? 53 so you have to go How much? Nine more steps? Okay, so he nine times the up arrow sign, okay.</p>
<p>123456789.</p>
<p>Now let's inspect Okay, click on here, Alt n and then put your mouse over here.</p>
<p>44.</p>
<p>Wait a minute, it was how much? Sorry.</p>
<p>46 Oh, sorry, I moved to pixel up.</p>
<p>So I'm gonna go to two pixels down.</p>
<p>So click two times the down arrow.</p>
<p>Okay, one, two.</p>
<p>Now it's gonna be calamy exact measurement.</p>
<p>Okay, so click on here out and put it over here like this.</p>
<p>46.</p>
<p>There we go.</p>
<p>Now let's create this form over here.</p>
<p>Okay, so let's inspect the first one.</p>
<p>Okay, click Control, click over here like this, how much is the height 63.9.</p>
<p>Let's consider 64.</p>
<p>Okay, so come over here.</p>
<p>And if you want to remove the ruler, what you're gonna do is you're going to click over here, and then select this rulers and the rule, go away, like that.</p>
<p>Now hit r on your keyboard and drag it like this, how much was the height? 65? Right.</p>
<p>64.</p>
<p>All right, so I'm going to click over here and write 64, Enter.</p>
<p>And I'm going to keep it over here like this.</p>
<p>And I'm going to drag it until I didn't cover the entire width of one layout.</p>
<p>Great like that.</p>
<p>Now what is the border radius corner? Yes, is 9.36.</p>
<p>So of the RTL design, so I'm going to click over here and write line boy 9.36 over, hit enter, there we go.</p>
<p>And then at some stroke, like this, how much three, enter? Not sure sorry, let's consider it to enter, there we go.</p>
<p>Now, you can see that this form at the top, and over here are the similar, I mean, similar identical.</p>
<p>So what you're gonna do is you're gonna alter your keyboard and drag over here like this, alright.</p>
<p>And we're getting this one, the same over here as well drag it over here, like this, and then drag like this, there we go, boom.</p>
<p>And listen, let's remove our oral layout and the layout grid from here by selecting this or you can also remove it permanently.</p>
<p>But don't do that.</p>
<p>Okay, just select this one.</p>
<p>And it's going to get removed, I mean, the oral layout, so comment and whatnot over here.</p>
<p>You see this forms over here, select this and remove the field.</p>
<p>And it's gonna get white just like our original document over here.</p>
<p>Okay, the same for this one.</p>
<p>And do the same for this one as well.</p>
<p>Now I'm leaving the rest of the work to you.</p>
<p>What you're gonna do is you're going to place this text you see this text over here, this text is text, this text and the button on our practice case over here.</p>
<p>Okay? I believe that you can do it.</p>
<p>All right, all right.</p>
<p>Now do you remember our last frame over here? This is the same as this one.</p>
<p>Wait a minute, this one this frame that contact us frame and this one, okay? The first frame over here, okay? The process is the same.</p>
<p>You have to do it on your own.</p>
<p>I'm leaving this I'm leaving this to you.</p>
<p>Alright guys, personally, I think that this video became extremely long.</p>
<p>So what kind of content do you want? Do you want very big in depth tutorial videos are short videos, let me know in the comments down below.</p>
<p>So ladies and gentlemen, we're done with our tutorial.</p>
<p>If you liked the video, give a like, share with a friend and feel free to subscribe.</p>
<p>Till then I'll see you in the next video.</p>
<p>Bye bye   </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Figma? A Design Crash Course ]]>
                </title>
                <description>
                    <![CDATA[ Figma is a powerful design tool that helps you to create anything: websites, applications, logos, and much more. By learning to use Figma, you'll take your first steps into User Interface Design and and User Experience Design. These skills are essent... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/figma-crash-course/</link>
                <guid isPermaLink="false">66be016a2c7c89a851b37647</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Design Tools ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ User Interface ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Adrian Twarog ]]>
                </dc:creator>
                <pubDate>Mon, 21 Jun 2021 17:52:21 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/06/figma-crash-course-freecodecamp.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Figma is a powerful design tool that helps you to create anything: websites, applications, logos, and much more.</p>
<p>By learning to use Figma, you'll take your first steps into User Interface Design and and User Experience Design. These skills are essential for building a great portfolio for yourself and potentially for your own company.</p>
<p>In this Figma Crash Course, I will use a real project website from Frontend Mentor which we will recreate in Figma. Learning by building a project is a great way to solidify your knowledge, so I recommend downloading the assets and following along.</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/lg7w3Ntfqy0" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<p>I'll break this crash course into a bunch of parts as we explore different features of Figma including:</p>
<ul>
<li><p>Account setup</p>
</li>
<li><p>Design file</p>
</li>
<li><p>Design assets</p>
</li>
<li><p>How to get started – the basics</p>
</li>
<li><p>Frames</p>
</li>
<li><p>Grid columns and rows</p>
</li>
<li><p>Shapes</p>
</li>
<li><p>Import images</p>
</li>
<li><p>Labelling and grouping</p>
</li>
<li><p>Text</p>
</li>
<li><p>Navigation bar</p>
</li>
<li><p>Button design</p>
</li>
<li><p>Header title and scaling</p>
</li>
<li><p>Additional text settings</p>
</li>
<li><p>Hero section and Figma layers</p>
</li>
<li><p>Groups and sections</p>
</li>
<li><p>Fonts and Figma colors</p>
</li>
<li><p>Text line height and spacing</p>
</li>
<li><p>Alignment and snapping</p>
</li>
<li><p>Masking with shapes and images</p>
</li>
<li><p>Copying groups and sections</p>
</li>
<li><p>Updating sections</p>
</li>
<li><p>Color picker and copying sections continued</p>
</li>
<li><p>Color selecting and picking correct hue</p>
</li>
<li><p>Testimonial section</p>
</li>
<li><p>Autolayout</p>
</li>
<li><p>Autolayout options</p>
</li>
<li><p>Autolayout alignment</p>
</li>
<li><p>Autolayout content</p>
</li>
<li><p>Gallery images</p>
</li>
<li><p>Resizing images</p>
</li>
<li><p>Footer</p>
</li>
<li><p>SVG color and overlay edits</p>
</li>
<li><p>Auto layout menu footer</p>
</li>
<li><p>Layers toolbar, hide and lock</p>
</li>
<li><p>Prototype viewer</p>
</li>
<li><p>Frames and pages</p>
</li>
<li><p>Prototype interactions</p>
</li>
<li><p>Prototype interaction navigation to page</p>
</li>
<li><p>Share test and preview prototypes</p>
</li>
<li><p>Export pages</p>
</li>
<li><p>Export groups or sections</p>
</li>
</ul>
<p>In this article, I'll give you a brief overview of some of the main parts of the course so you can get started designing in Figma.</p>
<h2 id="heading-introduction">Introduction</h2>
<p>Let's begin by creating an account on the Figma Website. You can do this here: <a target="_blank" href="https://figma.com">Figma.com</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma1.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Just sign up with a new account (email or Google sign in) – it's completely free</p>
<p>Next we need to get the design assets to use for this project, which we'll grab from Frontend Mentor. You can download them here:</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.frontendmentor.io/solutions/sunnyside-agency-landing-page-mVy7o6ijV">https://www.frontendmentor.io/solutions/sunnyside-agency-landing-page-mVy7o6ijV</a></div>
<p> </p>
<p>We are going to build our first draft page. Take a look at the default design layout we will be working with below. Select the + sign, or on the right hand side create a new design page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma2.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-make-a-frame-in-figma">How to Make a Frame in Figma</h2>
<p>First we will create a frame. This is the same as a page, and it's where our design will live. You can size a frame however you want depending on your requirements.</p>
<p>This example will be a website, so we will select the Desktop Frame – but you can also create mobile application frames, or even custom frames.</p>
<ul>
<li><p>Select the Frame tool from the top menu</p>
</li>
<li><p>Select the Frame size on the right panel</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma3.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-add-grids-and-columns-in-figma">How to Add Grids and Columns in Figma</h2>
<p>Before we start with the design, you will want to add grids that help you keep the alignment of content for your page consistent.</p>
<p>You can add grids to a frame and customise them. For example, I often prefer 12 grids as this is the default for website development.</p>
<ul>
<li><p>Select the frame you wish to grid</p>
</li>
<li><p>Select Layout Grid on the right panel</p>
</li>
<li><p>Select Columns and 12 units</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma4.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-use-shapes-in-figma">How to Use Shapes in Figma</h2>
<p>Use the shapes and elements in Figma to create squares, circles, lines, and more. These are the fundamentals for creating a design on a page.</p>
<p>I'll start with a simple rectangle which we will use to create our hero navigation section for the top part of this home page.</p>
<ul>
<li><p>Select Square Shape tool</p>
</li>
<li><p>Create a square</p>
</li>
<li><p>Begin to shape and size it</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma5.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-add-images-in-figma">How to Add Images in Figma</h2>
<p>You can add images from an online source or locally to your page. Images are an important part of designing a website, especially for the hero section.</p>
<p>Let's add a logo as our first image which we will add to the top left of the screen.</p>
<ul>
<li><p>Drag and drop an image from you local computer</p>
</li>
<li><p>Import an image from the shapes image upload option</p>
</li>
<li><p>Resize and place the image on the design</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma6.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-add-text-to-a-design-in-figma">How to Add Text to a Design in Figma</h2>
<p>To add text to a design, select the text tool and place it on the page. The font will default to Roboto, but you can change the font family, size, and color at any stage.</p>
<p>In this example we will use right panel to change the color and size of the font, and later the font family as well.</p>
<ul>
<li><p>Select the Text tool</p>
</li>
<li><p>Add "About" text as the start of the navigation</p>
</li>
<li><p>Ensure the size and color are 24 and white</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma7.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-label-elements-and-create-groups-in-figma">How to Label Elements and Create Groups in Figma</h2>
<p>Working with lots of layers in Figma can get confusing, so label all your elements as soon as you create them. Even better is to group different sections and shapes with labels such as "Hero Background" or "Navbar".</p>
<ul>
<li><p>Select your element/s and right click to group or press Ctrl + G</p>
</li>
<li><p>Name your group</p>
</li>
<li><p>Places groups inside groups for each section of your page to improve readability once your page gets large</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/06/figma8.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Figma is simple to start using, but there's a lot to learn to use it to its full potential. With the basics of shapes, images, and text, you can easily get started prototyping a website, designing a mobile application, and much more.</p>
<p>If you want to take a deeper dive into these basics, I would recommend watching and following along the <a target="_blank" href="https://youtu.be/lg7w3Ntfqy0">whole video crash course</a> which looks at each aspect in more depth.</p>
<p>You can view the full results of the design below:</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.figma.com/file/9kw3Z8n5t5l3BHAvyZy39X/Figma-Crash-Course-2021?node-id=0%3A1">https://www.figma.com/file/9kw3Z8n5t5l3BHAvyZy39X/Figma-Crash-Course-2021?node-id=0%3A1</a></div>
<p> </p>
<p>This whole process is part of what I am trying to teach on my own channel and also part of a course/book I am writing on design called <strong>Enhance UI</strong>. The goal is to <strong>help developers understand the fundamentals of design</strong>. Check out my Enhance UI Book below:</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.enhanceui.com">https://www.enhanceui.com</a></div>
<p> </p>
<p>I hope you enjoyed this article. If you don't know who I am, I'm Adrian from Australia. I have a tiny channel on Twitter and YouTube, so if you want to know more about me or enjoy my content, check them out sometime. 😉</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/freeCodeCamp.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li><p><strong>You</strong>T<strong>ube:</strong> <a target="_blank" href="https://youtube.com/adriantwarog?sub_confirmation=1">https://youtube.com/adriantwarog</a></p>
</li>
<li><p><strong>Twitter:</strong> <a target="_blank" href="https://twitter.com/adrian_twarog">https://twitter.com/adrian_twarog</a></p>
</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I became a better designer and contributed to Open Source with Jolloficons ]]>
                </title>
                <description>
                    <![CDATA[ By Gbolahan Taoheed Fawale Earlier this year, when I was still very much actively involved in the tech community in Owerri, Imo state, Nigeria, my friends and I — mostly developers — discussed building open source projects. We wanted to help ourselve... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/</link>
                <guid isPermaLink="false">66c345610bafa8455505c687</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ figma ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Icons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Nigeria ]]>
                    </category>
                
                    <category>
                        <![CDATA[ open source ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 31 Dec 2018 18:10:33 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*Q94juhUAJVJZNBaoizc1NA.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Gbolahan Taoheed Fawale</p>
<p>Earlier this year, when I was still very much actively involved in the tech community in Owerri, Imo state, Nigeria, my friends and I — mostly developers — discussed building open source projects. We wanted to help ourselves better hone our technical skills, while also solving societal problems and bringing some attention to the small but actively growing tech community in the state.</p>
<p>As the only designer amidst other developers, I had two ways to contribute: help mockup interfaces for the projects to be built, or pick up a front-end framework and participate directly code-wise since I already had some experience with frontend design. Our mantra was; ‘<em>there is nothing you can’t learn as long as you are ready or there’s something at stake</em>’ (like a design gig, full time job, or any form of career growth or material compensation.) These guys are still some of the most motivating and hardworking guys I have ever met.</p>
<blockquote>
<p><em>“Surround yourself with good people; surround yourself with positivity and people who are going to challenge you to make you better.”</em>— <strong>Ali Krieger</strong></p>
</blockquote>
<h3 id="heading-the-initial-idea">The initial idea</h3>
<p>An icon pack containing icons that are relative to Nigeria — or Africa as a whole — and can be used in different projects, was the initial idea that came to mind. However, that didn’t see the light of day at that particular period as I got carried away with work and other personal responsibilities.</p>
<p>At some point, I also experienced self paralysis. I kept overthinking types of icons, style and usability in terms of context because some of the icon ideas that came to mind were things I thought wouldn’t fit well in web/mobile app products. This particularly discouraged me a lot so I only kept “dreaming” instead of actually working on the project.</p>
<blockquote>
<p><em>“Go wide, explore and learn new things. Something will surely have a kick for you”</em><br>― <strong>Mustafa Saifuddin</strong></p>
</blockquote>
<p>I thought about my career as a designer. I wanted to be as good as I could at UI/UX as well as as other aspects of design and also be a source of inspiration to others. I believe trying out different things makes one better at their craft. As a F<a target="_blank" href="https://medium.com/figma-africa/">igma Africa</a> Ambassador and design advocate, I also wanted to create, teach and share some of the cool things you can do with Figma besides designing and mocking up interfaces. So I started doing realistic isometric and 3d illustrations with Figma, such as this <a target="_blank" href="https://medium.freecodecamp.org/how-i-designed-a-popular-landmark-building-in-isometric-3d-using-figma-f059fe333459">popular building</a> in Nigeria and <a target="_blank" href="https://medium.freecodecamp.org/creating-realistic-3d-objects-in-figma-carton-box-example-f674c21c3452">this</a>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*4Ywzmq7Wz6IsOmNfIFRFpg.png" alt="Image" width="600" height="400" loading="lazy">
<em>Jollof Icons Isometric</em></p>
<p>The UI/UX field is quite wide and you simply can’t know it all. Learning continues every day on every new project/product, so I can’t also say I am an expert at it. But at the same time, I felt I should be able to test new waters, experiment and find other aspects of design and skills in technology I could pick up. After all, all these aspects of design and tech are interconnected one way or another.</p>
<h3 id="heading-the-impetus-to-begin">The impetus to begin</h3>
<p>In July this year, I got a new job and subsequently had to move to Lagos, Nigeria the following month — August. Without doubt, Lagos is the biggest tech hub in Nigeria and a sudden change in environment saw me overwhelmed with my “new community,” as I strove to adapt quickly while also trying to be on top of my game. Some of the best talent across Africa and the rest of the world can be found in Lagos. For me, it was a different ball game.</p>
<p>After achieving some level of stability at my new job and environment, I had to think back on some of my goals and projects I had always wanted to work on before the end of the year. Let me also add here that you have to always find time to work on projects on the side as this gives room for growth. This also makes it possible for you to become a better designer/developer and also double up on your interests and excitement to learn and do more.</p>
<p>I had always had these design ideas and concepts in my head — some of which I still haven’t been able to explore. However, I figured the best way to get them out was to design something. That prompted my decision to work on the icon pack.</p>
<p>Thinking I had already gotten more clarity on what I wanted to do, I spent days trying to figure out a style; something different. That was how I found myself in-between creating icons that can be used across different digital products and screens, creating something in the African context or just fleshing out all these design ideas and concepts in my head.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*_sA_oRihHMm26NXpSLCc4Q.png" alt="Image" width="600" height="400" loading="lazy">
<em>Jollof Icons 3d category</em></p>
<p>The first step was to get the domain name <a target="_blank" href="http://jolloficons.com">jolloficons.com</a>, to make myself “committed” to the project. It’s a psychological hack I deployed to make sure I started work on creating the icons.</p>
<p>I saw and loved what <a target="_blank" href="https://twitter.com/ninalimpi">Katerina Limpitsouni</a> and <a target="_blank" href="https://twitter.com/anges244">Aggelos Gesoulis</a> at <a target="_blank" href="https://undraw.co/">Undraw</a> were doing, same as Dave Gandy at <a target="_blank" href="https://fontawesome.com">fontawesome</a> and Vancura at VSCode. But I wanted to do something different, something ‘original’ to Africa. Though I couldn’t figure it out in time.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*3xR9EFz4ZjURYC2owCk4bQ.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Octoverse Report 2018</em></p>
<h3 id="heading-the-push-i-needed">The push I needed</h3>
<p>This year at the State of Octoverse Developer Conference in San Francisco, we saw Nigeria rise to the fourth fastest growing country in terms of the proliferation of organisations, repositories and contributions made by Nigerian Developers on Github.</p>
<p>There have also been concerns about us consuming Open source tools more than we produce, but things are now changing faster than we think, thanks to organisations like <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Andela</a> and <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Ingressive</a> who are nurturing tech talents and supporting the technology ecosystem.</p>
<p>I must equally mention some of our developer advocates, experts and mentors <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Aniedi Udo-Obong</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Hanson Johnson</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Prosper Otemuyiwa</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Christian Nwamba</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Ire Aderinokun</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Adewale Abati ♠</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Neo Ighodaro</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Samson Goddy</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Ada Nduka Oyom</a>, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Ridwan Olalere (Didi Kwang)</a> and <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Namnso Ukpanah</a> who are also at the forefront of building developer/designer talent and communities (GDG’s , Forloop Africa, Frontstack.io, Laravel Nigeria, Figma Africa etc) across Africa. And this is just to mention a few of the <em>badass</em> talents and organisations supporting the tech ecosystem here in Nigeria.</p>
<p>It’s just a matter of time, as we designers in Nigeria will soon have a lot of content and open source resources to share with the world, because we are already taking the bull by its horns and breaking boundaries.</p>
<p>There was a time the Figma Africa Design Advocate Lead, <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Namnso Ukpanah</a> — who is also a friend — was looking for experienced Designers versed in iconography that could share their knowledge with us via an AMA session on our Figma Africa slack channel. I remember it took a while before we could get someone. We soon had Vancura of the VSCode project come on our channel to share his experience and knowledge designing icons for the popular VSCode editor. It was an educative and interesting session.</p>
<blockquote>
<p><em>“Reject the tyranny of being picked. Pick yourself.”</em></p>
<p>― <strong>Seth Godin, <a target="_blank" href="https://www.goodreads.com/work/quotes/15271334">Poke the Box</a></strong></p>
</blockquote>
<p>I usually don’t like missing out on opportunities to share my knowledge and contribute to the tech community. So I was a little disappointed with myself and felt bad, quite honestly, that I had not worked on the Icon project all this while. I felt I would have probably been able to share my own experiences and knowledge with the design community while we waited to get someone more experienced for the AMA session. But since I hadn’t done it, there was no proof of my experience or knowledge designing any icon set. ?</p>
<p>All these fueled my desire to do more, and I soon started working on it. Designing the icons was no easy feat, especially when trying to achieve uniformity and consistency across the icon set.</p>
<h3 id="heading-building-the-icons">Building the icons</h3>
<p>As a big fan of rap music, I used to joke at work with my colleagues that I was going to release a rap album on Christmas day (Lmao! What?!) but somehow I felt so responsible and didn’t want to disappoint. So what did I do? I channeled my energy and resources into making sure I was able to push the first version of the icons on the 25th of December — which was supposed to be the official launch date of my “much anticipated” rap album ?.</p>
<blockquote>
<p><em>“For the things we have to learn before we can do them, we learn by doing them.”</em> ― <strong>Aristotle, <a target="_blank" href="https://www.goodreads.com/work/quotes/2919427">The Nicomachean Ethics</a></strong></p>
</blockquote>
<p>I had also designed a mock up of what the site would look like and shared it with some of my friends who were willing to help with building the site. Just a couple of days into December, I reflected on some of the goals and aspirations I had for the year — I had wanted to get into front-end development — and decided to take the challenge of building the site myself using a front-end framework.</p>
<p>I had already garnered experience doing front-end design so the only challenge was to be able to learn enough to get the site up even if it meant pushing back the Christmas day deadline I had set for myself. I now had to work on building something way simpler compared to what I had initially designed in the mockup.</p>
<p>So I picked up Vue.js and learnt a lot of new things on the go. Since it was an open source project, I thought it would be good to use as many open source resources as possible. I tried hosting with firebase but ran into some issues I couldn’t resolve on time — I was time conscious and eventually ended up using Github pages — which was another learning experience for me.</p>
<h3 id="heading-always-learning">Always learning</h3>
<p>They say the best way to learn is by doing.</p>
<p>Musicians try different styles, sounds and genres.</p>
<p>Developers try out different frameworks, technologies and programming languages.</p>
<p>Artists try different mediums and concepts.</p>
<p>Designers explore different concepts and aspects of design.</p>
<p>This is me trying to be a better designer.</p>
<p>This is me trying to contribute to Open Source.</p>
<p>Huge shoutout to <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Solomon Okwa</a> and <a target="_blank" href="https://www.freecodecamp.org/news/becoming-a-better-designer-and-contributing-to-open-source-with-jolloficons-2c2a47330a1e/undefined">Michael Akanji</a> who helped when I ran into some issues with vue.js and github while working on the project.</p>
<p>To everyone who has been a motivation in one way or the other, Thank you. Let’s do more, and let’s give them some sweet jollof ? (this rice isn’t red like our African jollof though) in 2019. ?</p>
<p>Happy Holidays!</p>
<h4 id="heading-updates-planned-for-2019"><strong>Updates planned for 2019</strong></h4>
<ul>
<li>Add more icons</li>
<li>Add Search functionality</li>
<li>Improve on the UI/UX of the site</li>
</ul>
<p>If you have any feedback, icon ideas, suggestions or contributions, please do drop a comment. You can also reach out to me on twitter <a target="_blank" href="https://twitter.com/GbMillz">GbMillz</a></p>
<p>If you like the project or find it interesting, give it some stars on github, link below. Thanks ?</p>
<p>Also visit <a target="_blank" href="https://jolloficons.com">jolloficons.com</a> to keep up to date with new icons for use in your projects.</p>
<p><a target="_blank" href="https://github.com/gbmillz/jolloficons"><strong>gbmillz/jolloficons</strong></a><br><a target="_blank" href="https://github.com/gbmillz/jolloficons">_Open source icons (3d, Abstract, Emojis, Isometric) for your projects. - gbmillz/jolloficons_github.com</a></p>
<p>Want be a part of our community? Join us on the <a target="_blank" href="https://figma-africa.slack.com">Figma Africa</a> Slack Channel</p>
<p>Here are the links to some of the resources that sped up my learning process and helped when building the site.</p>
<ul>
<li><strong>Vue.js</strong></li>
</ul>
<p><a target="_blank" href="https://www.youtube.com/watch?v=z6hQqgvGI4Y&amp;t=2921s">https://www.youtube.com/watch?v=z6hQqgvGI4Y&amp;t=2921s</a></p>
<ul>
<li><p><strong>Github pages</strong></p>
</li>
<li><p><strong>Official Vue.js Documentation</strong></p>
</li>
<li><strong>Stackoverflow</strong></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
