Blog

The product development checklist
On any given day, we all have a zillion ideas on how we could make our planet a better place. It could be something as noble as a crowdsourcing app to end hunger in America or something as innovative as ride sharing for a faster pizza. While some product ideas die a rightful death, especially the ones which have their genesis in a lot of beer and Super Bowl, some do actually make it past the ideation stage and venture into the realm of serious consideration.  Once here, your brainwave written on notes in your Iphone while jostling for a seat in a peak hour Metra begs the question: “What next?”  

Had Madonna been in her teens today (I would not have been alive, but I digress!), she would have sung the virtues of being a digital girl in digital world. However, a digital world requires digital dudes/ dudettes who can do digital stuff, like design, code, test, deploy, scrum and, most importantly, wing it and often, pivot. In other words, you need an all-star tech team with an A list technical co-founder.  

While your nephew who completed CS 101 might be a great place to start, chances are he might not have the repertoire to deploy a product in the market, unless of course your last name is Zuckerberg (in which case, your nephew who did CS 101 will be the best person to start, trust me!).  

For the rest of us, who do not have the family DNA to launch the next unicorn, here is a small checklist to ponder over in the “cofounder search”  stage of the project:

 
  1. Product development and go-to-market is HARD. Are you really serious or merely curious?
  2. If you are not a technical person yourself, do you have a technical co-founder? If yes, why is she in this? Do you both share the same vision regards the product’s trajectory?
  3. How does your team  deal with conflicts? Do most disagreements end in shouting matches or do you handle disagreements like mature adults (which often involves sulking for a couple of hours and then forgetting the issue at hand over some mild form of intoxication)?
  4. Does your partner have an experience reservoir of past successes and failures they can tap into, especially in times of crises?
  5. And most importantly, what does success look like to each one of you? Have you visualized it in granular, detailed terms or is success just a nebulous idea in your head? Is it 100 sticky users for your app or 10000 footfalls for your ecommerce store? Do you have a scale up plan ?
  6. Are you ready to give your venture at least a couple of years before it takes off?
 

Let’s be absolutely honest. For a new product to take off, it takes about a year to be revenue generating and three to be profitable. And that’s a best case!

  In all seriousness, product development is like having a baby. Fun to conceive, painful to deliver.

  And having been in the delivery business for a long time, here is a small checklist I came up with to help you go-to-market, in-time, within budget and with your sanity intact.

 
  1. System Architecture Analysis: This is the most important phase of product development where most of the heavy lifting happens. If a newbie, reach out to an expert. Else, reach out to an expert.  Period.
  2. UI/UX: Make sure your app works across different resolutions and devices (especially the latest variants from Apple and Google’s stable). Make sure your product is browser and device agnostic a.k.a it has a responsive design.
  3. Coding: Ensure that your dev team leaves behind bread crumbs: Have them comment the code. Use a Git repository to have access to the code at all times. Remember, your product’s source code is your biggest asset. Please make sure the only copy is not lying on a stranger’s device in downtown Bangalore. If necessary, have someone you know audit the code.
  4. Testing: If you product is an app, use crash analytics to ensure you get data points about when, where and how the app is crashing ( yup! Love hurts, life happens and apps crash, c’est la vie!) . This is extremely important, especially for the beta version. Do stress testing on the server side to ensure  your product can handle a high data throughput.
  5. Deployment: Use a cloud service which will have some kind of elastic computing so that you don’t fret about bandwidth, security and the like. AWS or Azure sound like the perfect option for this. Also, sign up for a monitoring service which will keep a tab of who is accessing your app. Have a mirror server instance ready in case your main server goes down/ gets hacked.
  6. Don’t wait to create a perfect product. It doesn’t exist. Instead, go-to-market, get feedback, iterate, repeat.
 

  My bad if I sounded too nerdy but product development is part science, part art, part frustration, part happiness, part anxiety, part confidence, part risks, part pivoting, part uncertainty, part failure,  part success.

  But what your product and your venture really are- they are a part of you.

  Your idea is your baby.

  And one day in the future, after a couple of years of dark circles and bucketloads of caffeine, the baby will grow up and begin walking by itself.

  That’s the part which makes the struggle worth it.

  Till then, happy sleepless nights and beautiful day dreams!

104 adminJanuary 29, 2020

Custom Package Module -Magento 2
This article describes how Avion Technology, Inc developed a Custom Product Package Module for one of their Magento 2 projects. As mentioned in our earlier articles, we have a core team of both Magento 1.0 and Magento 2.0 developers. We have extensively worked in both migration and customization of Magento 2.0 websites.

How does Custom Product Package Module work?

This is the most crucial feature that we developed for the new version of the site. The new website has more than 45,000 products available for sale online. This is the set of features that allow site visitors to quickly and easily locate individual Product Category 1 and Product Category 2 products, as well as package both category products together to create customized products that they can then purchase at a discount.



The shopping wizard breaks the product search and selection process down into a Six-step process:
  • Choose your shopping path
  • Filter Product Category 1 (or Product Category 2) products
  • Select Product Category 1 (or Product Category 2) product
  • Filter Product Category 2 (or Product Category 1) products
  • Display summary
  • Add to cart

Step 1 – Choose your shopping path

  • At this stage of the process, the site visitor to choose how they want to shop for products. They can opt to start with Product Category 1, or Product Category 2.
  • The Product Category 1 and Product Category 2 leads them to further steps within the wizard, while the prebuilt packages option links the user to that category within the product tree.
  • In this module, all packages created through the shopping wizard has a default quantity of 4. The user cannot change this value during the package building process.
  • At this level, the user can click the appropriate module on the home page to then activate the controls (list of drop-down filters) that allow them to start the buying process.
    • The user must make at least one selection from these menus and then click the “Buy” button to continue to the next step.
    • The list of options available for each buying path is listed below:
      • Product Category 1
        • Attributes
      • Product Category 2
        • Attributes
    • The specific options available within each of these menus is driven by the individual attributes assigned and configured for each product.
    • In this module, the filters presented must be utilized in the order presented. Subsequent selections are disabled until the preceding menu has been used.

Step 2 – Filter/Select product

  • The user is presented with a list of products based on the selections that brought them to this step in the process.
  • In addition to displaying a list of applicable products, the user also has the opportunity to filter the product list further based on specific criteria for that set of products.
  • Users can view the resulting list of products on the same page along with the product details like image, name, brand, and price.
  • The attributes are displayed in a series of drop-down menus, including the filters as well as additional options.
  • The user can continue to filter the products until they reveal a list that contains a specific product that they are interested in purchasing.

Step 3 – Option to Buy or Continue

  • In this step, the user can view the product details of the product for which they have selected. User has an option to continue the buying process. (interested in either Product Category 1, or Product Category 2).
  • Various options are displayed depending on the user’s selection such as by Product Category 1, or Product Category 2.
  • Instead of showing details for both products in the resulting package, details for just one product are shown (either the initial Product Category 1 or Product Category 2, selection).
  • The pricing displayed here is for a set of 4 units (either Product Category 1 or Product Category 2).
  • Along with the price, the details for the initial product selection is also displayed in the module.
  • Shop by Product Category 1
    • Add products from Product Category 2 and get discount
    • This option advances the user to the next stage in the shopping wizard, allowing them to add products from Product Category 2 to the product selected from Product Category 1 and build their own “package.”
    • Users can filter / select products from Product Category 2 to add to their package.
    • Users can also directly buy the products from Product Category 1 by clicking on the “Add to Cart” button.
  • Shop by Product Category 2
    • Add products from Product Category 1 and get discount
    • This option advances the user to the next stage in the shopping wizard, allowing them to add products from the Product Category 1 to the product selected and build their own “package.”
    • Users can filter/select products from Product Category 1 to add to their package.
    • Users can also directly buy the products from Product Category 2 by clicking on the “Add to Cart” button.

Step 4 – Filter package product

  • In this step, the users can filter the available products to add to their package.
  • As an example, if the user has selected a product from Product Category 1, the initial list of products displayed to the user is filtered on the size attribute of their product choice.
  • The same filters outlined in step 2 above are displayed here, depending on which path the user has chosen.
  • Users can also change their selection in this step. They can start from the beginning of the package building process where they can update their initial product selection.
  • In this step, the user can also view the list of filters available for the second product.
  • The price shown at this step is the total price of the package.
  • The user can continue to manipulate the filters until they reveal a list of products that contains the product they want to add to their package. Once they click on a specific product, they are taken to the next step.

Step 5 – Display summary

  • Once the user has selected both a Product Category 1 and Product Category 2 for their package, they can view a Package Summary that outlines the product details for all their selections.
  • The following information is displayed in this step:
    • Package Price
    • Product Name
    • Product Photo
    • Technical Specifications
    • Add to Cart
  • We have also integrated the Affirm Financing option in the module, which offers multiple financing options to the users.

Step 6 – Shopping cart

  • The product added by the user is to be displayed in the shopping cart.
  • The price reduction for the packaged product is displayed as a “package discount” line item in the cart.
  • The price of the package increases or reduces according to the pricing rules set by the Admin.

Why should you choose Avion?

We have a team of experienced Magento developers who have worked on many Magento projects involving both customizations and migrations. Our team is efficient in handling complex projects through which we can assist you in custom develop any modules required during the development of the website. Please do not hesitate to Contact Us, and you will be able to make your vision a reality and a dream come true.

Disclaimer:

Wherever any material is quoted as sourced from the published text with publishing rights vested in an individual, it is stated that it is a genuine quotation and no intention to claim it as our own.

98 adminJanuary 29, 2020 Youtube Video

Visual Recognition using IBM Watson
Artificial Intelligence (AI) is changing the system in which the world works- making business faster, more intelligent, and increasingly secure. Businesses are now focusing more on AI than earlier. From healthcare to banking, AI is, across all industries, along with pushing the innovation boundaries. AI is transforming the healthcare industry at an enterprise level. By 2024, AI in the U.S. healthcare market is set to surpass $10 billion according to a recent Global Market Insights report. Every business today struggles to understand and organize information quickly and accurately. Businesses want to work smarter and to do that you need to tap into your company’s greatest asset, namely, your data. However, extracting the full value out of your data is not always an easy task. First, you end up manipulating an extensive and sophisticated collection of tools that are used for finding and cleaning the data. Then you have to analyze and generate visualizations of that data to build and deploy machine learning models. Also, to add more about, these tools are often extremely time-consuming to manage independently and can be challenging to integrate into your system, which can hamper the workflow. Using IBM Watson studio, you can simplify the data projects with a streamlined process that allows extracting value and understandings from your data. This helps businesses to get smarter and faster by preparing and analyzing the data and sharing insights all in one place. We have recently worked on a healthcare project which comprises integration of Visual (Image) Recognition services offered by IBM Watson API.

How does IBM Watson Visual Recognition work?

Visual Recognition understands visual data. It can turn plenty of images into organized information using deep learning algorithms. Visual recognition can analyze any visual data (images and videos) like objects, scenes, colors, food, faces, and other content. It then displays the results containing keywords and information about the content. IBM Watson visual recognition has some built-in models which help you to recognize people, food, animals, plants, and many more. If you want to use these built-in models, then you need to gather the images that you want to analyze and test them against the built-in models to gain insights. IBM Watson also provides an option to create a custom model to use your own images. For the custom model, you need to prepare the images as the training data and organize them into positive and negative images. After that, you need to upload the examples to create and train a custom model then analyze images using your own model. As mentioned earlier,we (Avion Technology, Inc) has also worked on the integration and customization of IBM Watson Visual service API in a few of our projects. In one of the projects, the user can upload or capture an image of the tools placed in a tray with his phone. Each tray has pre-defined QR code to identify which tool it contains. When the user captures the image or uploads it, the image is sent to the API. The API analyzes the image and sends the response. The results include the total number of tools placed in the tray, and it also identifies if any tool is missing in the tray along with tool names.

Why should you choose Avion?

We have a team of experienced developers who have worked on the projects involving both integration and customizations of IBM Watson API. Please do not hesitate to Contact Us, and you will be able to make your vision a reality and a dream come true. Disclaimer: Wherever any material is quoted as sourced from the published text with publishing rights vested in an individual, it is stated that it is a genuine quotation and no intention to claim it as our own. Resources: https://www.ibm.com/watson https://www.ibm.com/watson/services/visual-recognition/ https://blog.gnshealthcare.com/why-ai-is-all-the-buzz#_ftnref1 https://www.researchgate.net/figure/Block-Diagram-Representing-the-Algorithmic-Process-Used-by-the-Visual-Recognition-Based_fig9_325885099 https://www.gminsights.com/industry-analysis/healthcare-artificial-intelligence-market https://www.researchgate.net/publication/325885099_A_Novel_Visual_Recognition-basedAuthentication_Model_Using_a_Hybrid_TrustTheme_to_Verify_Provider_Profilesfor_Enhancing_Information_Assurancein_Online_Healthcare

206 adminJanuary 29, 2020

Custom Live Chat Module -CodeIgniter
This article describes how Avion Technology, Inc developed a Custom Live Chat Module for one of their PHP CodeIgniter projects. As mentioned in our earlier articles, we have a core team of PHP developers. We have extensively worked in both CodeIgniter and Laravel PHP web frameworks.

How does Custom Live Chat Module work?

This is the most important feature that we developed for one of our websites. The Users can search the Experts from the available list and get the guidance that they need via the live chat feature. The Users must pay a certain amount of fees to live chat with the Expert they like. We have integrated PayPal Express payment gateway for the payment functionality.



Users are asked to sign-up first before they can chat with the Expert. At the time of registering on the website, the Users must enter the payment information. Once the sign-up process is completed, the User will be able to select the Expert and can start the chat. Users have to pay per minute charges to chat with an Expert.

User can view complete details about the Expert before the chat. First two minutes of the chat is free. When the User finds the Expert and clicks to chat, a chat page opens, where the time is displayed in 00:00:00 format. When the Expert accepts the offer of the User, the chat process starts along with the timer. There is an interval time of only 1 minute for the Expert to accept the chat invite or the Expert needs to reply to the client’s question within that one minute. After one minute, a pop-up is displayed with the calculations and the chat is disconnected. The User and the Expert also receive notifications respectively. If the Expert does not accept or reject the chat request within two minutes, it goes to the Missed Chat section. The Expert can then contact the User once he is online.

When the User and Expert start the chat, the Admin gets a notification that a chat session has been started with the User and Expert. The amount is deducted from the Users account based on the chat duration and Expert’s rate. During the chat, the Expert cannot change the rate and the status from online to offline. During the chat, if the User’s account balance is about to finish, one minute before, the User and the Expert gets a notification accordingly and the User is offered to top up his account. The User cannot chat further until he adds the money in the account. Once the chat is over the User can view a pop-up to post the review for the Expert. The User and the Expert can view chat history.

Why should you choose Avion?

We have a team of experienced developers who have worked on many PHP- CodeIgniter and Laravel projects. Our team is efficient in handling complex projects through which we can assist you in custom develop any modules required during the development of the website. Please do not hesitate to Contact Us, and you will be able to make your vision a reality and a dream come true.

Disclaimer:

Wherever any material is quoted as sourced from the published text with publishing rights vested in an individual, it is stated that it is a genuine quotation and no intention to claim it as our own.

281 adminJanuary 29, 2020

Avion Technology, INC is now Certified Minority-Owned Business!
We are proud to announce that Avion Technology is now a Certified Minority Business Enterprise (MBE). On July 31, 2019, Chicago Minority Supplier Development Council (CMSDC) nationally certified Avion Technology, Inc as an MBE. Click here to view the certificate.

We are proud to be a part of more than 1100+ such MBEs in the Chicagoland area and hope that our journey thus far helps other minority entrepreneurs in their journey.

700+ projects, 100+ team members, over 10 technologies, four continents. And now a certified MBE. Life keeps getting better. 

And now a little plug for Avion Technology:

We provide services in Product Incubation, Digital Transformation, White Labeled Programming, and Digital Marketing. Our technology suite includes- Mobile Technologies (iOS and Android), Web Technologies such as PHP (including Content Management Systems like Joomla, WordPress, and Magento), Java, .NET, Browser Technologies such as JavaScript, Node, Angular and React and Databases (MySQL, Oracle, Postgres, and Mongo).

We are well versed with emerging technologies like AI and Blockchain and also specialize in Amazon Alexa, BLE, AWS, Google Cloud, Internet of Things (IoT) and If This Then That (IFTTT)

We thank you for your continuous business and support for the last 12 years.

Without you, we would not have come this far.

Interested in learning more about Avion Technology, please visit www.aviontechnology.net. Also, please do not hesitate to Contact Us for any new ideas or business requirements and you will be able to make your vision a reality and a dream come true.

362 adminJanuary 29, 2020

Migrating from Magento 1.x to Magento 2.x
Now it is the end of July 2019, almost less than a year to upgrade your existing Magento 1.x store to the latest Magento 2.x. According to BuiltWith, total 192,784 live websites are using Magento in which 65,018 Magento websites are in the US. In this article, we will focus on the necessity and steps towards the migration of your existing Magento 1.0 store to the latest Magento 2.0. Avion has extensive experience in both migration and customization of Magento 2.0 websites.

Why Upgrade from Magento 1.0 to Magento 2.0?

Magento has stopped the release of any new features in the Magento 1.x versions as of now, excluding the security updates.

As per the blog published by Magento, they will stop the official support for the Magento 1.x versions and stop releasing new security updates after June 2020. All the customizations that you will do on your Magento 1.X version will need to be replicated within the Magento 2.X version.

Is it worth migrating?

To remain ahead in the competitive world, you need an eCommerce platform that is both scalable and robust. Magento 2 is the one that has the functionality to provide engaging and seamless buying experiences for the client. And this is often one thing that Magento 2 offers in plenty. It provides you with a secure foundation that also has the scalability and flexibility to let your business succeed.

Apart from the scalability and flexibility, there are various advantages of migrating to Magento 2 like more user-friendly checkout, enhanced Security, more responsive on mobile devices, improved customization, more SEO friendly, simplified and smooth product upload, advance reporting, future improvements, and releases.

Why Redevelopment? Planning the migration.

At Avion, we treat the migration process as a platform switch. Magento has changed its architecture completely; the layouts, modules, and extensions their architecture is completely different. They have also introduced a lot of technologies like Knockout.js and Less CSS. There is no easy and quick switch like simply pressing the upgrade button, and it is done . It requires a lot of planning and organizational buy-in.

Migrating the website from Magento 1.x to Magento 2.x is as good as developing the website from scratch. The modules need to be re-built, themes are not portable, so we must re-write the themes; the structure of layouts is different, and also the plug-in architecture is different.

During the migration planning process, our Project Managers prepare a thorough plan which has the strategy and the goals laid out clearly with the expected objectives. They make sure that they know the inside out of the project from ground level to the top level. The plan also includes how to re-factor the existing process and improve it to increase the efficiency of the new store. Decide what you need to keep – remove all unwanted extensions which you do not need. Check the stuff you did not implement in Magento 1 and explore the new features available in Magento 2. This helps in providing better customer experience along with the added security.

Understanding the Magento 1 to Magento 2 Migration Process



As far as the migration process is concerned, it can take plenty of time and effort as this process is pretty complex and has a lot of customizations. This is where we (Avion Technology) can assist you as your development partner. The following four steps you need to consider to migrate your website:
  1. Theme Migration
  2. Extension Migration
  3. Customizations Migration
  4. Data Migration

Theme Migration

You will need to develop a new theme for Magento 2 as direct migration of Magento 1 theme is not feasible. You can hire a team of designers and developers to re-create the current theme, or you can take advantage of this opportunity to re-design the complete store with new and attractive layout.

Extension Migration

You cannot use any existing Magento 1.x as they are non-transferrable due to code conflicts. There are many extensions available in the Magento marketplace which are compatible with Magento 2.X. If certain extensions are not available then you can get the extension custom developed.

Customizations Migration

Magento provides a Code Migration Toolkit to support you with the code customization process. This process is tricky, and you will need technical knowledge to confirm the custom code is migrated successfully and works efficiently.

Data Migration

Magento provides a Data Migration Toolkit to support you with the data migration process. This is the most vital step and requires considerable knowledge of Magento 2 Database Migration. The client information and store data are important for a company. This process is complex as it involves the migration of the existing clients, orders, products, and store settings.

Why should you choose Avion?

We have a team of experienced Magento developers who have worked on many Magento projects involving both customizations and migrations. Our team is efficient in handling complex projects through which we can assist you to migrate your existing Magento 1.x store to Magento 2.x successfully. Please do not hesitate to Contact Us, and you will be able to make your vision a reality and a dream come true.

Disclaimer:

Wherever any material is quoted as sourced from the published text with publishing rights vested in an individual, it is stated that it is a pure quotation and no intention to claim it as our own.

Resources:

https://trends.builtwith.com/shop/Magento https://devdocs.magento.com/guides/v2.3/migration/migration-overview-how.html https://www.cmarix.com

174 adminJanuary 29, 2020 Youtube Video

The product development checklist
On any given day, we all have a zillion ideas on how we could make our planet a better place. It could be something as noble as a crowdsourcing app to end hunger in America or something as innovative as ride sharing for a faster pizza. While some product ideas die a rightful death, especially the ones which have their genesis in a lot of beer and Super Bowl, some do actually make it past the ideation stage and venture into the realm of serious consideration.  Once here, your brainwave written on notes in your Iphone while jostling for a seat in a peak hour Metra begs the question: “What next?”  

Had Madonna been in her teens today (I would not have been alive, but I digress!), she would have sung the virtues of being a digital girl in digital world. However, a digital world requires digital dudes/ dudettes who can do digital stuff, like design, code, test, deploy, scrum and, most importantly, wing it and often, pivot. In other words, you need an all-star tech team with an A list technical co-founder.  

While your nephew who completed CS 101 might be a great place to start, chances are he might not have the repertoire to deploy a product in the market, unless of course your last name is Zuckerberg (in which case, your nephew who did CS 101 will be the best person to start, trust me!).  

For the rest of us, who do not have the family DNA to launch the next unicorn, here is a small checklist to ponder over in the “cofounder search”  stage of the project:

 
  1. Product development and go-to-market is HARD. Are you really serious or merely curious?
  2. If you are not a technical person yourself, do you have a technical co-founder? If yes, why is she in this? Do you both share the same vision regards the product’s trajectory?
  3. How does your team  deal with conflicts? Do most disagreements end in shouting matches or do you handle disagreements like mature adults (which often involves sulking for a couple of hours and then forgetting the issue at hand over some mild form of intoxication)?
  4. Does your partner have an experience reservoir of past successes and failures they can tap into, especially in times of crises?
  5. And most importantly, what does success look like to each one of you? Have you visualized it in granular, detailed terms or is success just a nebulous idea in your head? Is it 100 sticky users for your app or 10000 footfalls for your ecommerce store? Do you have a scale up plan ?
  6. Are you ready to give your venture at least a couple of years before it takes off?
 

Let’s be absolutely honest. For a new product to take off, it takes about a year to be revenue generating and three to be profitable. And that’s a best case!

  In all seriousness, product development is like having a baby. Fun to conceive, painful to deliver.

  And having been in the delivery business for a long time, here is a small checklist I came up with to help you go-to-market, in-time, within budget and with your sanity intact.

 
  1. System Architecture Analysis: This is the most important phase of product development where most of the heavy lifting happens. If a newbie, reach out to an expert. Else, reach out to an expert.  Period.
  2. UI/UX: Make sure your app works across different resolutions and devices (especially the latest variants from Apple and Google’s stable). Make sure your product is browser and device agnostic a.k.a it has a responsive design.
  3. Coding: Ensure that your dev team leaves behind bread crumbs: Have them comment the code. Use a Git repository to have access to the code at all times. Remember, your product’s source code is your biggest asset. Please make sure the only copy is not lying on a stranger’s device in downtown Bangalore. If necessary, have someone you know audit the code.
  4. Testing: If you product is an app, use crash analytics to ensure you get data points about when, where and how the app is crashing ( yup! Love hurts, life happens and apps crash, c’est la vie!) . This is extremely important, especially for the beta version. Do stress testing on the server side to ensure  your product can handle a high data throughput.
  5. Deployment: Use a cloud service which will have some kind of elastic computing so that you don’t fret about bandwidth, security and the like. AWS or Azure sound like the perfect option for this. Also, sign up for a monitoring service which will keep a tab of who is accessing your app. Have a mirror server instance ready in case your main server goes down/ gets hacked.
  6. Don’t wait to create a perfect product. It doesn’t exist. Instead, go-to-market, get feedback, iterate, repeat.
 

  My bad if I sounded too nerdy but product development is part science, part art, part frustration, part happiness, part anxiety, part confidence, part risks, part pivoting, part uncertainty, part failure,  part success.

  But what your product and your venture really are- they are a part of you.

  Your idea is your baby.

  And one day in the future, after a couple of years of dark circles and bucketloads of caffeine, the baby will grow up and begin walking by itself.

  That’s the part which makes the struggle worth it.

  Till then, happy sleepless nights and beautiful day dreams!

310 adminJanuary 29, 2020

Get a Quote

Starting a project is just a few steps away...