Header image

Success stories

The Recipe for a Perfect Shopify Store

07/08/2023

307

The Recipe for a Perfect Shopify Store

I’m not a chef, but I love food and like to think that using Shopify to build an online store is like cooking in a professional kitchen. The kitchen (Shopify) is equipped with state-of-the-art knives, ingredients and spices, and all the pots and pans you could ever need (don’t judge my lack of kitchen vocabulary!) These tools and ingredients are what Shopify and Shopify Plus make available to everyone in their ecosystem. Just sign in, grab a cutting board and some fresh herbs, then start cooking – er, I mean selling!

However, unlike a restaurant with a pre-determined menu from which everyone orders their meal, Shopify stores need to be one-of-a-kind, bespoke solutions.

For most recipes, there’s nothing stopping you from creating a Michelin-starred online store immediately. But what if your vision requires something a little different – something with a little more pizazz?

Unlike a restaurant with a predetermined menu, the same Shopify store can’t be reused for customers.

Like a flavorful new recipe, online businesses sometimes require unique, out-of-the-box ingredients or adjustments to create the perfect solution. That’s what SupremeTech does for our Shopify and Shopify Plus projects.

We provide the extra spice!

Shopify Store Recipe: Makuake Storefront

After working on Makuake’s admin page, we developed an understanding of their business model and demonstrated the ability to build a quality product. It was then that we were approached with a second opportunity: help develop the Makuake storefront. 

The way the storefront works is pretty simple. The merchant submits their business or project to the Makuake team, which approves it in the admin system. After review, the product can be listed and sold on the storefront. Easy.

Most of the features needed for this project were readily available through Shopify Plus public applications. However, after adding the necessary applications, we realized that a few key ingredients were missing.

Shopify Public Apps: Not Everything Needs to be Made From Scratch

We started by finishing the UI/UX of the storefront. This task was relatively easy; to stick with the gourmet kitchen theme, we were just slicing onions and cracking eggs. We implemented most of the UI/UX using Shopify Plus tools and received the desired images and themes from the client. We were able to use PageFly, one of Shopify’s public apps, to create the store’s landing page with ease. There is no reason to go to all the extra effort to build an app from scratch if a perfectly acceptable one already exists; sometimes canned tomatoes are better for the recipe than fresh ones.

Although this part of the project was not the most labor-intensive, it was incredibly valuable. After all, the beautiful UI/UX is what our end users see when they make a purchase, so it requires extra attention.

Makuake has a unique way of presenting its products on its Shopify Plus-powered store. Users can search for their favorite products by filtering by features or special tags attached to each product. Users can also search for the most recently added products, which is especially helpful for repeat customers of the Makuake store who want to keep up with the latest gadgets and inventions.

A Dash of Spice: Shopify Custom Solutions

A Dash of Spice: Shopify Custom Solutions

While the UI/UX was built using available Shopify tools, there was one particular challenge that could not be solved with those tools alone. Makuake Store is a wonderful platform that supports entrepreneurship. It gives people a way to sell their unique creations, including craft spirits and alcohol. However, like most parts of the world, Japan has a legal drinking age (20 and up). Therefore, Makuake Store needed a way to distinguish between age-restricted products and normal products.

The goal was to prohibit the purchase of age-restricted products with a credit card. We did this by adding a custom attribute to shopping cart items. This allows users to add different products to their shopping carts but prevents them from purchasing age-restricted products along with regular items. Not every online store sells age-restricted products, but in this case it was a necessary feature. Without it there would be no way to legally sell delicious craft spirits on the site.

Season to Taste: Shopify Development Allows for Trial and Error

One of the most significant technical challenges for this project was the product ranking list. Users can choose to view the most popular products for the week or month by clicking on the ranking list. The challenge, however, was to display only the top 20 ranked products out of a list of over 1,000 found in the admin server. This means that each time the API is called 1,000 products are processed but only 20 are displayed. Displaying the 20 products is not an issue, but the amount of load time is nearly 10 seconds. This is far too long to be waiting for a screen to load.

We tried several different solutions to reduce the loading time of the ranked list, and we finally managed to reduce the time from 10 seconds to 5 seconds. We were able to do this by implementing pagination and breaking a large amount of information into smaller, bite-sized chunks. 

There is also a rankings page on the Makuake storefront home page, but it only displays the top 5 products in a banner. As with the full rankings page, the long load times were detrimental to the overall user experience of the store. However, because the banner is on the home page, long load times are even more inexcusable. The longer the user has to wait for the information to load, the more likely they are to lose interest or click away from the page altogether.

“A Shopify store is rarely seasoned to perfection on the first try.”

Again, we tested several different methods to speed up the process of loading the ranking banner. We found that when the banner took 5 seconds to finish loading, the rest of the page was also backed up. No one likes to look at a bland, white screen when trying to quickly browse products in an online store. 

After some trial and error, we decided to apply the lazy loading technique to the banner. No matter what, the banner would take some extra time to load. Therefore, we used this technique to load the banner last and avoid having an unloaded page below it. 

A Shopify store is rarely seasoned to perfection on the first try. Most of the time, all you need is a little extra salt. However, sometimes you need to add more acidity or sweetness to create a perfectly balanced creation. Although the Makuake storefront was not a project chock-full of difficulties, finding and implementing the perfect set of solutions required time and patience. 

After about half a year of development, we completed and released the storefront. The constant trial and error may have been tedious at times, but the end product was well worth it.  At the end of the day, customer, or user, satisfaction with their experience is what truly matters.

Create a Shopify online store users will love!

Project Technical Stack

  • Programming languages: JavaScript, liquid
  • Server & Databases: Shopify
  • Applications connected via APIs: Shopify Storefront’s API, 3rd party app’s API

Contact us to get custom solutions for your Shopify business. We offer custom development services to streamline your store management and more!

Related Blog

is react native good for mobile app development

Knowledge

+0

    Is React Native Good for Mobile App Development? A Simple Guide

    Mobile app development has evolved rapidly, and developers often find themselves faced with the decision of choosing the right framework for their projects. Among the various options available, React Native has gained significant popularity. But is React Native really a good choice for mobile app development? Let's break it down in simple terms. Understanding React Native React Native 101: React Native is an open-source framework developed by Facebook that allows developers to build mobile applications using the familiar syntax of React, a popular JavaScript library for building user interfaces. The key advantage? You can write your code once and run it on both iOS and Android platforms, saving time and effort. Find out more about the general pros and cons of using React Native for web app development. When to Choose React Native 1. Prototyping and MVPs: If you're in the early stages of app development and need to quickly validate your ideas, React Native is a solid choice. Its rapid development capabilities make it ideal for creating prototypes and minimum viable products (MVPs) that can be tested on both iOS and Android platforms. 2. Limited Development Resources: For teams with developers skilled in JavaScript, React Native provides a familiar environment. This is particularly advantageous if you have a smaller team or a tight budget, as it allows you to leverage existing skills rather than investing in learning platform-specific languages. 3. Content-Driven Apps: Apps that heavily rely on displaying content, such as news apps or social media platforms, can benefit from React Native's efficiency. The framework's ability to handle complex UIs and its performance optimization make it suitable for content-centric applications. 4. Apps Requiring Regular Updates: React Native's hot reloading feature makes it an excellent choice for apps that require frequent updates. Developers can make changes on the fly without disrupting the user experience, making it easier to implement improvements and fix bugs promptly. 5. Small to Medium-Sized Apps: While React Native can handle large-scale applications, it truly shines in the development of small to medium-sized apps. Its simplicity and efficiency make it an excellent fit for projects where a lightweight framework is preferred. Considerations and Limitations 1. Complex Animations and Graphics: While React Native is excellent for most UI interactions, highly complex animations and graphics might benefit from a more native approach. In such cases, a blend of React Native and native modules might be necessary. 2. Platform-Specific Requirements: If your app heavily relies on platform-specific features, you might find yourself writing native modules or components. While React Native tries to be a one-size-fits-all solution, there are instances where platform-specific code is unavoidable. 3. Learning Curve for Native Modules: When dealing with complex functionalities or integrations, you might need to dip into native modules. This could require knowledge of Swift or Java, adding a bit of a learning curve for developers primarily familiar with JavaScript. Conclusion In the ever-expanding landscape of mobile app development, React Native stands out as a versatile and efficient framework. Its cross-platform capabilities, along with a plethora of benefits, make it a compelling choice for many projects. However, like any tool, it's crucial to understand its strengths and limitations. So, is React Native good for mobile app development? Absolutely, especially when it aligns with your project requirements and development goals. For rapid prototyping, cross-platform compatibility, and content-centric applications, React Native proves to be an excellent companion. As with any development decision, it's about finding the right tool for the job, and React Native certainly deserves a spot in the toolbox.

    15/01/2024

    337

    Knowledge

    +0

      15/01/2024

      337

      Is React Native Good for Mobile App Development? A Simple Guide

      pros and cons of using react native in web app development

      Knowledge

      +0

        Pros and Cons of Using React Native in Web App Development

        As a seasoned React developer navigating the dynamic landscape of web app development, the choice of frameworks can significantly impact project outcomes. React Native, originally designed for mobile app development, has increasingly found its way into the realm of web applications. Let's dissect the pros and cons of employing React Native in web app development with a straightforward lens. Pros of using React Native **1. Cross-Platform Development:** React Native's hallmark is its ability to facilitate cross-platform development. This is a game-changer for web apps seeking a unified codebase for both desktop and mobile experiences. The advantages are evident in projects like Facebook's own Ads Manager, where a shared codebase expedites development and maintenance. **2. Reusable Components:** The component-based architecture of React Native isn't just for show. It promotes code reusability and consistency across different parts of your web app. For instance, a custom UI component developed for a specific feature can seamlessly find its way into other sections, ensuring a uniform look and feel. **3. Familiarity with React:** For developers well-versed in React, the transition to React Native for web app development is remarkably smooth. The ability to leverage existing knowledge and skills in JavaScript and React principles expedites the learning curve, fostering a more efficient development process. **4. Community Support:** The React Native community is robust, offering a plethora of resources, libraries, and third-party tools. For web app developers, this translates into an abundance of solutions and best practices readily available. A supportive community ensures that challenges are met with collective knowledge and innovation. Cons of using React Native **1. Limited Access to Native Modules:** While React Native provides access to a wide array of native modules, it may lack support for certain platform-specific features. For example, if your web app requires intricate functionalities deeply rooted in native capabilities, relying solely on React Native might present limitations. **2. Web-Specific Performance Challenges:** React Native, initially designed for mobile environments, may not seamlessly translate to optimal performance in web browsers. Rendering complex UIs and handling animations can pose challenges, as the framework's strengths lie more in the mobile app domain. **3. Learning Curve for React Native Web:** Despite React Native's familiarity for React developers, adapting it for web app development involves a learning curve. Navigating the nuances of React Native Web, the library extension for web applications, might require additional effort. This could potentially impact development timelines. **4. Limited Ecosystem for Web:** While React Native boasts a mature ecosystem for mobile development, its offerings for web app development are relatively nascent. Developers might encounter scenarios where specific web-related functionalities are not as well-supported or documented as their mobile counterparts. Navigating the Decision Scenario 1: Building a Cross-Platform App with Unified Codebase Consider React Native for a project where a cross-platform web app with a unified codebase is a priority. For instance, an e-commerce platform aiming for consistency across desktop and mobile interfaces could benefit significantly from React Native. Scenario 2: High Dependency on Platform-Specific Features If your web app heavily relies on platform-specific features or demands high-performance graphics, consider evaluating alternatives. Directly using native frameworks or exploring hybrid solutions tailored for web might be more suitable. Scenario 3: Leveraging Existing React Skills for Web Development If your team is well-versed in React and wishes to leverage existing skills for web app development, React Native becomes a pragmatic choice. This is particularly relevant for projects where a rapid development cycle is crucial. Conclusion: In the nuanced landscape of web app development, React Native brings both advantages and challenges. Its cross-platform capabilities and code-sharing benefits can be instrumental in specific scenarios, while considerations such as performance optimization and access to native features must be weighed. Ultimately, the decision to use React Native for web app development hinges on project requirements, development goals, and the unique characteristics of the application. A pragmatic approach involves assessing the strengths and limitations outlined here, aligning them with the project's needs, and making an informed decision that best serves the development objectives.

        14/01/2024

        362

        Knowledge

        +0

          14/01/2024

          362

          Pros and Cons of Using React Native in Web App Development

          flutter for cross platform app development

          How-To

          Knowledge

          +0

            Optimizing Flutter for Seamless Cross Platform App Development

            Flutter, the dynamic cross-platform app development framework from Google, offers a plethora of features that simplify the development process. However, to truly harness its potential, optimization is key. In this article, we'll explore how you can optimize Flutter for cross platform app development in a simple and easy-to-understand manner. 1. Efficient Widget Management: Keep it Neat and Tidy Widgets are the building blocks of Flutter apps. To optimize your cross-platform development, organize your widgets efficiently. Consider breaking down complex UIs into smaller, reusable widgets. This not only enhances code readability but also makes maintenance and updates a breeze. Think of widgets as Lego pieces; the more organized they are, the easier it is to construct your app. 2. Leverage Flutter's Hot Reload: Instant Gratification, Real-time Results Flutter's Hot Reload feature is a developer's best friend. Use it liberally! Hot Reload allows you to see immediate results as you make changes to your code. This not only speeds up the development process but also facilitates quick iterations and experimentation. It's like having a superpower – changes take effect on the spot without the need for a full app restart. 3. Optimize Images and Assets: Trim the Digital Fat Images and assets play a crucial role in app development, but they can also contribute to increased app size. Optimize your images by compressing them without compromising quality. Consider using tools like ImageOptim or TinyPNG to reduce file sizes. This not only improves app performance but also ensures faster download times for users. 4. Mindful Memory Management: Keep it Light Efficient memory management is essential for a smooth app experience. Flutter helps in this regard, but developers should still be mindful. Avoid unnecessary memory allocations, release resources when they're no longer needed, and keep an eye on memory leaks. By keeping your app's memory footprint in check, you ensure that it runs smoothly across various devices. 5. Use Platform Channels Wisely: Bridging the Gap Flutter's platform channels enable communication between Dart (Flutter's programming language) and native code. While powerful, use them judiciously. Excessive use of platform channels can lead to increased complexity and potential performance bottlenecks. Prioritize Flutter's built-in capabilities, and only resort to platform channels when necessary for accessing native features. 6. Adopt Code Splitting: Divide and Conquer for Faster Loading Code splitting is a nifty technique that involves breaking down your app's code into smaller, manageable chunks. This can significantly reduce initial load times, especially for large applications. By loading only the code necessary for the current screen, you ensure a faster and more responsive user experience. 7. Responsive Design for Varying Screen Sizes: One Size Does Not Fit All Optimize your app's user interface for different screen sizes and orientations. Flutter provides responsive design features that allow your app to adapt gracefully to various devices. Utilize flexible layouts and test your app on different screen sizes to ensure a consistent and user-friendly experience for all users. 8. Update to the Latest Flutter Version: Stay on the Cutting Edge Flutter is an ever-evolving framework, and staying up-to-date with the latest releases is crucial. Each new version comes with performance improvements, bug fixes, and new features. Regularly updating your Flutter framework ensures that you benefit from optimizations made by the Flutter team, keeping your app in top-notch condition. In conclusion, optimizing Flutter for cross-platform app development is all about efficient coding practices, resource management, and staying attuned to the framework's evolving capabilities. By organizing your code, leveraging hot reload, optimizing assets, and adopting responsive design, you can ensure that your Flutter app delivers a seamless experience across various platforms. So, dive into the world of Flutter with these optimization tips, and watch your cross-platform app development journey flourish. Happy coding! Check out a case study which SupremeTech apply Flutter to build cross platform app for a blockchain product.

            13/01/2024

            248

            How-To

            +1

            • Knowledge

            13/01/2024

            248

            Optimizing Flutter for Seamless Cross Platform App Development

            react components and architecture in reactjs development services

            Knowledge

            +0

              Understanding React Components and Architecture in ReactJS Development Services

              React has emerged as a powerhouse, thanks to its component-based architecture. If you're a newcomer or someone looking to deepen your understanding of React components, you're in the right place. Let's break down the fundamentals of React's component-based architecture in plain and simple terms. What Are React Components? At its core, React is all about components. But what exactly is a component? Well, think of a component as a reusable building block for your user interface. It's like LEGO bricks for web development. Each component represents a specific part of your application's UI, encapsulating its functionality and appearance. Read more about React Component Lifecycle phases. There are two main types of components in React: Functional Components and Class Components. Functional components are concise and focused solely on rendering UI, while class components have additional features like state and lifecycle methods. In recent versions of React, the introduction of Hooks has made functional components the preferred choice for many developers. The Component-Based Architecture Now, let's dive into the heart of React's magic—its component-based architecture. Unlike traditional frameworks, where you build pages, React encourages you to break down your UI into small, reusable components. This modular approach brings several advantages to the table. 1. Reusability: Components are like building blocks that you can use and reuse across your application. Need a button? Create a button component. Want to display a user profile? Craft a profile component. This reusability not only saves time but also promotes a consistent and maintainable codebase. 2. Maintainability: Since each component is responsible for a specific part of the UI, making changes or fixing issues becomes a breeze. You don't have to scour through a massive codebase to find what you're looking for. Just locate the relevant component, make your adjustments, and you're done. 3. Scalability: As your application grows, the component-based architecture scales effortlessly. New features can be implemented by adding new components without disrupting existing functionality. It's like adding more LEGO pieces to your creation—your structure remains stable, and you can keep expanding. 4. Collaboration: Component-based development is a dream for collaborative projects. Different team members can work on different components simultaneously without stepping on each other's toes. This division of labor enhances productivity and fosters a smoother development process. 5. Testing and Debugging: With components, testing becomes more granular and focused. You can isolate and test each component independently, ensuring that it behaves as expected. If an issue arises, pinpointing the problem is more straightforward, making debugging less of a headache. Anatomy of a React Component Let's break down the basic structure of a React component: In this simple example, we have a functional component (MyComponent) and a class component (MyClassComponent). Both achieve the same result—a heading inside a div. The difference lies in their syntax and additional features offered by class components. Conclusion In a nutshell, React's component-based architecture is a game-changer in the world of web development. By breaking down your UI into modular, reusable components, you gain advantages in terms of reusability, maintainability, scalability, collaboration, and testing. Whether you're a beginner or a seasoned developer, understanding and embracing this approach can elevate your React game. So, the next time you're building a web application with React, think of it as assembling a digital LEGO masterpiece—one component at a time. Happy coding!

              12/01/2024

              231

              Knowledge

              +0

                12/01/2024

                231

                Understanding React Components and Architecture in ReactJS Development Services

                Post banner imagePost banner image
                Customize software background

                Want to customize a software for your business?