A letter to Global brands: Conversational AI to your rescue! Why? Amazon will soon know more about your products than you do.

A letter to Global brands: Conversational AI to your rescue! Why? Amazon will soon know more about your products than you do.

Global Brands,

Wake up! Amazon will soon know more about your products than you do. You like it or not, they already know more about your customers, and now they are going after your products knowledge.. want to know How? Read on….

I will build my case at 3 levels. First, what is the consumer need that is driving Amazon to do this? Second, how Amazon is going about it and Third, what can you do about it now?

The retail need: Your customer wants to buy your product but before she does, she has questions about the product for which she must get an answer. I refer to ‘about the product’ questions. Does not matter what product you make and sell, (shoes, fashion, paints, furniture does not matter) this is universal – She needs to know more about the product and without answers, she will not buy. Forrester report states that a whopping 53% of retail customers will abandon the sale if she does not get quick answers to her question. The need is this acute – you lose 1 in 2 customers if you don’t address this. The challenge, however, is how do you know what questions she has especially if she is shopping online at your webshop. All you know is what she clicked, how much dwell time in specific product pages but no way you can engage her in a conversation to know what questions she had.. right? Only if you knew her questions, you could have given her the answers instantly – after all, it is your product and you know everything about it. Isn’t it?

Enter Amazon! They too sell your products and your customers flock there too. Amazon has recognized this consumer need but they have limited knowledge about your products. So what do they do? Amazon launches a Q&A feature on its product pages where your customer posts a question and then amazon is allowing crowdsourcing of answers from other customers and sellers. This is Gold mine of information and product data in the making – One, they know more about questions your customers ask on your products while you are still with your FAQ list. You might think that you have ‘Contact Us’ form on your Webshop and that is enough. But no, ‘Contact Us’ webform do not work anymore. (refer my colleague Prajwal Simha’s article on why your customers are rejecting ‘Contact Us’). Two, with answers coming from the crowd they are compiling a compelling product knowledgebase about your products that will become a competitive advantage over you very soon.. your customers will flock more to Amazon since Amazon knows more about your products than you do

What can you do? First, wake up! Leverage Conversational AI in your eCommerce strategy

You are sitting on all the data about your products that your customer will ever need. Second, look at tech options that can help you deliver this product knowledge to your customers whenever and wherever they need and the good news is that Conversational AI (or chatbots) can help you do this. Typically, I would assume, you associate chatbots to automate repetitive tasks and queries that can help you save costs, but the good news is that if your chatbot is part of a full-stack vertical AI solution for retail that understands your domain ontology and that can be trained easily on your enterprise product data.

How Conversational AI for retail and CPG can help your brands?

Conversational AI for retail and eCommerce (chatbots) can be very effective in not just answering product questions of your customers but also discovering new questions and updating your product catalog. The best part is that your artificial intelligence (AI) bot will start self-learning with more usage and the underlying machine learning algorithms will keep getting better with time and minimal effort from your team.

AskSid.ai help global brands solve this precise problem and we have done this successfully for leading global brands in Europe, Asia, and LATAM already. The outcomes have been staggering – 2X conversions, 10k unique new questions discovered and above all, for a specific brand, we delivered automation equivalent to adding 8 agents at 30% the cost. Interested to know more? Reach us at contact@asksid.ai and we will be happy to schedule a demo.

Thanks and best regards

The Sidlings @ AskSid.ai

Will Chatbots replace Apps?

Will Chatbots replace Apps

Will Chatbots replace Apps? Are Chatbots the new Apps?

The year 2008 when Apple launched the App Store, that brought revolution in digital experience. Everyone wanted a mobile app for their business and soon we had thousands of mobile app and hundreds of mobile app development providers. I have seen many mobile apps built by businesses but quickly taken out because they were not really serving the purpose and customers were not finding any value in having them. Why? Because mobile apps needed the enterprise data, embedded in multiple systems, to be made available in the form of lightweight APIs (something that did not exist), and that too in a certain structure. This in turn, meant that enterprises adopting mobile apps had to then invest significant time and money to prepare the data, build the APIs and then expose it. A costly mistake to jump in without the holistic understanding and more importantly without answering the question “Why my business needs a mobile app?”!

Fast forward a decade and we are seeing the same pattern emerge for new age digital experience – Conversational AI or Chatbots, targeted towards always-on digital native generation who loves more conversational experience than the old-world menu driven websites & mobile apps. Most businesses see this as an opportunity (and rightfully so) and want to capitalize. Wouldn’t it be great to serve your customers in an easy flexible conversational medium that can understand the intention of the customer and respond with contextually relevant answers in natural language? Sure it will be. But before you dive in and start building chatbots for your business, if we have learnt from the past and want to avoid our past mistakes, it is important to assess chatbot advantages and disadvantages and ask a few fundamental questions around your organization’s data readiness.

Here are the top 5 questions that you must strive to answer for your business before attempting to build and launch your chatbot.

Top1: What is the use case I want to solve using chatbots? 

Don’t build chatbots because chatbot technology is the next exciting thing technology world has to offer and everyone is building one. Identify the problem or AI use case where conversational AI agents are the best option and then build one that solves for that specific problem. Or else it will be like putting the cart before the horse and you will end up being disappointed.

Top 2: What data will your chatbot app need and Do you have this data?

Driven by the use-case and customer journey you implement, this might vary from customer service data, orders data, product data, inventory data etc. Make sure you draw out the data map and assess whether this data exists within the organisation or not? It is quite common that you might not have all the data that will be needed and in these scenarios you must figure out alternate sources – either gather data from external public sources or generate your own data. (We will soon share in a different article some of the hacks we have figured out to generate your own data when it does not exist)

Top3: In what format should you provide it to your conversational AI?

Do you need to build APIs in a certain structure that will expose this data or Can you expose your existing data as raw extracts and the conversational app can intelligently make sense out of it? Look at building a full stack chatbot solution where the chatbot is wired to the backend data ingestion and data enrichment algorithms extremely tightly.

Top4: How to make sure that you are able to extract knowledge and insights from your chatbot  app and take these learnings to the other touchpoints?       

I will again recommend you to build a full-stack chatbot solution that comes with its own Analytics capability and getting insights from the context rich conversation data should be as simple as a click of a button. Remember, one of the primary business case chatbots deliver is that if designed properly, these AI applications can deliver unique precision marketing insights that even GA cannot deliver. The reason being that these insights are coming out of conversation data that typically contains a lot more customer context information than the web-click data on which your GA runs.

Top 5: How to break the I-C-E and how do you keep it up-to-date? 

ICE– Intent, Context and Entities are the defining building blocks of NLP (Natural language processing) and here is what each of them means for your business.

  • Intents – Intent in simple terms mean ‘the question behind the question’. It is about predicting the “intention” of your customer from the message she sent to your bot and the bot then responds accordingly. Deeper the intents understanding, richer will be the conversational experience for the end user. Shallow conversational apps will decipher 3-5 top-level intents while Vertical AI chatbots will be able to interpret and predict 50-100 intents that are specific to your business and your product category. Remember, in the world of conversational apps and virtual assistants, the most important aspect differentiating one solution from the other is the capability to predict the user’s Intent. Go for vertical AI apps that understands your domain ontology deeply and there-by the accuracy and depth of their intents prediction model will be far higher than the commonly available horizontal chatbot apps.
  • Context – This refers to the context in which your customer has sent the message. Is she trying to discover products when looking at a category or is she asking a question on the material when looking at a specific product? Finer the context, more engaging the conversational experience.
  • Entities – these are domain specific significant terms such as denier, pregnancy suitable, veins and scars, weight, plus size, etc which has a meaning in relation to your business and products. Wider the entities more relevant will be the conversational app response capabilities.

Success or Failure of your Conversational AI solution is fundamentally driven by the data preparedness of your organisation and answering the above questions upfront will help you to avoid the same mistakes we witnessed during the Mobile App era.

I look forward to your feedback, thoughts, brickbats – just reach me at dinesh.sharma@asksid.ai and let’s start a conversation.


Traditional Online Chatbot or Domain Specific Conversational AI? What can create a delightful customer experience online?

Want to create a delightful customer experience online? With Traditional Online Chatbot or Domain Specific Conversational AI Platform?

Differentiating customer experience starts from your website. If web-shop is the superstore for your brand – allowing prospective customers to walk-in, check out and purchase your products, wouldn’t you need your best salesperson to greet your customers, answer their product questions and assist in making a purchase, and in turn, delighting them? Precisely what Prajwal discussed in his last post “Why your brand should move beyond Contact Us?”

Just the concept of automating and scaling up one-to-one conversations using technology appealed to lots of brands and they tried to leverage Online Chatbots. This was in 2015. Naturally, most brands were thrilled when they implemented an Online Chatbot expecting that the experience will drive prospective users to make a purchase and save cost by handling customer service issues and FAQs.

But, despite the best of their intentions most of these traditional online chatbots (I call them chatbot 1.0) failed to deliver the user experience that was as seamless, delightful and efficient as they envisioned them to be.

Reasons why online chatbot 1.0 failed, while a vertical focussed conversational AI delivers the experience

1. The traditional online chatbots are not intelligent enough

Most traditional online chatbots work based on rule-based or decision-tree logic. This means the experience is limited to the thoughtfulness of the customer journey designed by the brand, and to the list of possible FAQs that the brand can come up with. Machine intelligence is driven by the data on which the chatbot is trained and often brands struggle to furnish enough relevant data needed for effective training. (refer what our CTO has to say regarding “relevant data” in our Curious Much Conversation talk series here)

The other aspect is the self-learning capability of the chatbot and most often traditional online chatbots miss this critical part. Wouldn’t it be naïve to expect your sales associate to increase his skills and win deals, handle customer queries without learning on what you got to offer?

“Intelligence is the ability to adapt to change.” Stephen Hawking

An employee becomes an asset when he or she masters your products or services through continuous learning. Likewise, Domain-specific conversational AI matures into an indispensable asset for businesses with its continuous learning capability. Learning for a Vertical AI Bot is not limited from its conversations alone with customers, but by enriching the product details from various other sources; managing future conversations efficiently. Capturing vertical/product specific Intents and customer contexts truly help the AI to mature into a Vertical AI.

2. Online Chatbot (1.0) fails to understand the context and intent.

To make the conversation more appealing for customers, management of context is of paramount importance. Pure-play chatbots can’t handle contextual information for an extended period. Losing track of conversations context means ending in frustrating conversation and disgruntled customers.

A Vertical focused conversational AI can have far richer conversations because of its ability to predict the intent of the users, apply the context, and recognize relevant entities that are meaningful to the brand’s domain and product category.

A common marketing narrative from traditional online chatbot players is that they are Vertical AI and that they can identify “intents” accurately. Peel through the layers and you will see the Intents library with 5-10 unique intents that are generic across industries. The true measure of a vertical conversational AI is the depth of unique intents relevant to the specific domain that it can identify and predict.

3. Switching over to human expertise when the technology fails – LIVE CHAT handoff

To achieve seamless conversational experience, being transparent is key. The shopper needs to know upfront that they are talking to a machine and an option to switch to an agent when in need exists. Additionally, a true domain-specific conversational AI should also be able to accurately predict when is the right time to switch to a human agent and this is where the self-learning capability of the AI makes a difference.

Domain-specific conversational AI can turn conversations into a pleasant one by handing over the conversation at the right moment to a human agent. Not just stop there, but also allow the individual agent to replay the conversation, make him aware of what the shopper did right before connecting to him and resume the conversation from exactly the place where AI switched over – all this in a seamless experience for the shopper.

In summary, domain-specific conversational AI platforms that understand your specific product segment or industry and comes pre-loaded with its own intelligence (intents library, entities library, etc) can help you jumpstart your journey towards creating a delightful customer experience.

Curious Much? Let me know your thoughts at curiousmuch@asksid.ai and let’s start a conversation.

Author: Joseph Mathew (Joseph.Mathew@asksid.ai)

Every Brand needs a digital product expert!

Every Brand needs a digital product expert!

Every Brand is in the business of making & selling a ‘Product’. Assuming you have made a ‘good product’ that meets a need in the market, what is that one fundamental core competency that you (as a brand) need, to sell more of your products? I believe, it is your ability to answer product questions asked by your customers at that zero moment of truth.

Think about the last time you (as a shopper) bought something from your favorite brand. You went into the brand’s store (physical or web), you looked around the assortment on display, found some relevant choices (with some struggle) and then while evaluating which one to buy, you had so many questions on these products – Questions that are to do with the product knowledge and those that can be answered only by a product expert from the brand. Was it easy for you to find those answers? If you were shopping at the store, probably it was relatively easier – you would have asked your questions to the store associate and hopefully (although not always) she knew the answer. What about when you were buying online?

Let’s take my example from last weekend. I needed to buy a new trimmer, I go to my favorite brand’s web-shop and I was welcomed with hundreds of options, loads of images and text information 90% of which I either did not need or I didn’t care. All I cared for was a trimmer that works for both head and beard, has the 2 specific attachments that I am used to and is waterproof. That, it was a struggle to get answers to my questions while I was wading through the different options, is an obvious understatement.  And till today I have not bought my trimmer!

At AskSid.ai we help brands solve this specific problem. Our vision is to organize and enrich product knowledge in a way that makes shopping easy and convenient, inspiring every consumer to buy. With 2 global brands as our customers and after going live in 14 European countries with multiple channels, it is clear that consumers have product questions and without the answers, they will simply not buy. And therefore, at AskSid.ai we firmly believe that every brand (regardless of what product you make) needs a digital product expert who understands the domain ontology, is available online across channels & 24×7 addressing product questions of your consumers. Beyond our 2 customers who are pioneering the way forward in this regard, the most recent example is none other than BMW who launched their digital product expert last week as an in-car personal assistant helping BMW drivers with any questions on their car. (https://techcrunch.com/2018/09/06/bmw-launches-a-personal-voice-assistant-for-its-cars/?utm_source=Direct)

I am excited at the pace in which this new trend is fast emerging. On one side I see global brands embracing this opportunity not just to improve conversions but also to discover insights from product questions consumers ask which often leads to multi-faceted and cross-functional impact on marketing, new product innovation and promotions. On the other side Vertical AI technology is finding a new meaning and thanks to the investment and focus from biggies such as Microsoft in laying out the foundation technology layer, Vertical AI in its truest sense is already becoming a new normal.

If you would be interested to learn more about what we do or share some of your perspective on the above, I welcome you to reach me via our website www.asksid.ai or my email sanjoy.roy@asksid.ai

Why conversational AI is crucial to move your brand beyond “contact us”?

Why conversational AI is crucial to move your brand beyond “contact us”?

According to Business Standard, digitally influenced spending in emerging markets alone will be around $4 Trillion by 2022. What does this mean to global brands? Quite simply it means that they need to re-invent their consumer engagement strategy. Solely depending on having a website that is commerce-enabled might not be enough to capture a significant share of this online spending and brands who understand this will emerge as the future winners.

Also, It’s no secret that in recent times, the face of e-commerce has undergone immense changes too. Many brands have set up shops online (barring exceptions such as Chanel who still don’t believe in ‘online’) and the consumers are relieved by the fact that it’s possible to buy ANYTHING while sitting on their couch or traveling to work. With this new way of shopping where convenience precedes everything else, the old school ways of “popping into a store” and availing the assistance of the sales representative is fast becoming a thing of the past. But, the same product questions one would ask at a store still remain to be answered. This is where the “Brand-Consumer” interaction is undergoing a lot of changes and the Brand must re-invent its engagement strategy if it has to survive.

What if there was a capable and reliable way for the brand to stay in touch with every customer 24×7? Sort of like a digital store representative on the website (or other channels), an expert on all the products that the brand offers and ready to guide the customer attenuated to his/her needs?

One way to achieve this is to tap into the ocean of Artificial Intelligence potential that is only growing every minute. An intelligent chat or voice interface that understands the intention of the consumer and that makes the journey of the user a lot less tedious. From product discovery, Q&A about various products, taking customer service requests and most importantly, let a customer service representative have a conversation with the customer whenever required. A platform like this has been proven to make the brand more accessible, reliable and helpful to the end-user. Saving best for the last, deriving insights from the conversations to improve the user journey as well as the brand’s understanding of what the customer needs also forms the core of the system.

We at AskSid.ai help brands realize that such personalized communication with the end-users at scale is the key and insights which arise from that are invaluable – be it new product ideas, enriching the product catalog with additional information or also at times smart replenishment of high demand SKUs. And finally, It’s proven to directly have a positive impact on conversions (2X in some instances)!

Curious Much? Let me know your thoughts at CuriousMuch@asksid.ai and let’s start a conversation.

Author: Prajwal Simha (Prajwal.Simha@asksid.ai)

Can AI make your business far more intelligent?

Can AI make your business far more intelligent?


In today’s hyper-driven consumer market, using AI right can be a daunting task. According, to a recent Gartner survey, 37% of organisations are still looking to define their AI strategies, while 35% are struggling to identify suitable use cases. Take for instance the experience paradigm shift, where B2B became the new B2C, and attention, became the new currency ––where your customers are increasingly looking for, if not expecting a personable, authentic, and seamless experience, for every interaction, across devices, on the go.

Can AI and machine learning enhance your digital brand and product experiences?

Can AI help your customers discover products faster?

Can AI drive up conversions and ultimately boost sales?

According to a recent survey of global brands, only 4% of respondents had deployed AI. AI can do a lot more than just help your business move smart.

Learn. Learn. Learn: Leveraging the availability of data
Data is where it all starts. The interconnectedness, like a child, the machine keeps learning. Now more than ever, companies like yours need to react quicker, best using data, from all prior customer service interactions, calls, and feedback, to visual data, so you can better deliver what your customer is looking for. And it’s no surprise that customers are delighted when they find exactly what they are looking for.

FACT: Data is one of the cornerstones of any AI process. AskSid.ai skims through every available product data source –– to ensure that your customers have a great experience finding the right product, and your teams have access to precision marketing insights, closing the gap between discovery and checkout.

Deploying AI’s competitive advantage NOW!

Gartner estimates that by 2020, deploying Virtual Customer Assistance (VCA) technology will be a priority for more than 30% of global brands. At AskSid.ai we believe that these VCA deployments will not be just to address order related or delivery related questions but can be used more strategically towards answering product questions from customers accelerating their path to conversions.

FACT:For a leading European woman fashion brand selling premium hosiery garments, AskSid.ai answers questions ranging from “Are there push buttons at the crotch?“, “Will these hide my veins and scars?” to “I don’t know my size, can you help?”. As the questions get curiouser and curiouser, it’s easy to see why the customer experience is being consistently rewired, and evolved. Overall, AskSid.ai consistently answers more than 1000 product questions and discovers more than 400 new and unique questions a month allowing this brand to continuously enrich its product catalog while ensuring a differentiated online experience for its customers.

Dispelling the myths: It is difficult to deploy AI now!

There is a common belief that to deploy AI, brands and their teams require a long-term commitment and immense hard work that can be a strain on their current existent resources. In addition, the cost will go through the roof, making the ROI story daunting for the brand. AskSid.ai addresses these issues, dispelling myths, so brands like yours can adopt the best technologies that Artificial Intelligence companies of today offer. From that sense, it is really a game-changer and has recently completed two end-to-end AI platform deployments within just 4-6 weeks per brand. Further, if you are a brand with presence in multiple markets, new country rollout after the initial onboarding is done in a matter of days.

Here is what a Global Fortune 500 brand had to say about AskSid.ai “we found working with the AskSid team a really positive experience. AskSid quickly got up to speed with what we were trying to achieve, creating an excellent user journey that demonstrated our brand is the most helpful brand and improving the conversion of our website. The pace to launch was fantastic with development from top-line user journey to live tool in approximately six weeks. Post-launch and throughout the team were highly responsive to any requests with new use cases developed at pace and their team quickly felt like an extension of our own team”

The magic lies in the platform architecture that is highly scalable, secure and algorithms that can handle multiple languages and multiple channels. That’s really the best of AI SAAS. For more information about the platform and how we do things so fast and at such scale, please reach us at www.asksid.ai. We will love to start a conversation!

The Hidden Opportunity: intelligence is needed everywhere

By 2020: 20% of citizens in developed nations will use AI assistants to help them with an array of everyday, operational tasks. 3

Right now, the most common mistake business leaders make with Enterprise AI is to focus on automation rather than on augmentation of human decision making and interactions and the varied applications of artificial intelligence. According to a Vice President of a renowned global research firm, we need to look at how we are using technology today during critical interactions with customers — business moments — and consider how the value of those moments could be increased.

Take for instance AskSid.ai platform component Switch-Sid that hands off the customer conversation to a human agent at the right time to close a sale. Basically, the VCA works hard to engage 100% of the website traffic and seamlessly lands warm and qualified leads to agents to convert as is evident from the Fortune 500 brand in UK where this is already operational.

Many Marketeers have not yet realised the full potential of AI-based virtual customer advisors, including chatbots. The ability to sense what the customer needs and serve exactly that – that’s intelligence. The revolution has begun! AskSid.ai helps brands achieve their larger goals, going beyond ROI –– enabling enterprise to save money, grow revenue, increase operational efficiency, innovate products, personalise the experience, deliver delight and most importantly, be in the business of being far more intelligent. 

Curious Much? Drop us a note at contact@asksid.ai or visit our website www.asksid.ai and let’s start a conversation!



1. ‘The new wave of artificial intelligence whitepaper’, Avery, 2018

2. ‘Build the AI Business Case’, Gartner, Feb 2018

3. ‘Predicts 2017: Artificial Intelligence report’, Gartner, 2017

India’s AI startups are at a tipping point

India’s AI startups are at a tipping point

By: Malavika Velayanikal

There’s a growing pipeline of high-caliber founders – who have “been there, done that” – taking the startup plunge with artificial intelligence (AI) and machine learning (ML) tech in India. On the other hand, startups with shallow applications of AI are quickly finding out that investors and clients alike have become more discerning.

For example, Zoogaad raised US$500,000 back in 2014 to provide personalized news powered by AI. But, unlike Toutiao in China, it did little to push the boundary beyond Google alerts and had to shut down.

At the other end of the spectrum is Bangalore-based SigTuple, which ticks most of the boxes for the new wave of promising AI startups coming out of India. SigTuple applies AI-powered analytics to visual medical data, such as blood smear slides that go under a microscope. This improves the speed and accuracy of diagnosis.

The startup’s founders had worked together at American Express’s big data lab. One of them is SigTuple’s chief scientific officer Tathagato Rai Dastidar, a computer science Ph.D. who was the director of the Amex lab. So they had the competence and experience to become deep-tech entrepreneurs.

A younger startup in Bangalore, AskSid, has chosen to focus on women’s fashion. Its AI-powered bot helps brands get into meaningful conversations with their customers while helping them shop online. After successful pilots, topline brands like Wolford have deployed the bot in multiple countries. AskSid’s founders come with rich corporate experience from India’s IT industry.

Read the complete article on Tech in Asia

My Top 10 learnings: Building multi-tenant, SaaS, micro-services system for diverse tenants

My Top 10 learnings: Building multi-tenant, SaaS, micro-services system for diverse tenants


Designing and building a multi-tenant SaaS system to support diverse tenants is a challenging task. Added to that, with a micro-service architecture, it makes the system difficult to maintain. We at AskSid, have been building (it’s never “built”) such a system, which supports tenants of different kinds along with their multiple markets and languages. The velocity of customizations and enhancements is very high and has been increasing while the quality stays world class and uncompromisable.

The 2 biggest challenges we face in building such systems are

1. Cost of provisioning a new tenant

Once tenant’s data and integrations are available, onboarding of tenant may require changes at multiple places and human effort needs to be expended for manual activities. This introduces some delays before the system actually starts serving the tenant.

2. Incapability or cost of customizations

As the cliched saying goes, “Customer is the King”. More often than not, tenants request customizations on the top of existing services offered. In such situations, the system may not be capable or may have to bear the cost in terms of time and effort to accommodate the customization.

It is this constant trade-off between speed and cost that makes it difficult at times to architect, provision, and run such a system.

From the perspective of an ideal SaaS system, it is practically impossible to build a 100% reusable multi-tenant system which can accommodate tenants of different kinds. Hence, we need to take a hybrid approach, where some parts of the system are completely reusable and other parts handle the tenant-specific functionalities.

Here are some practices we can follow, to increase the flexibility, velocity, and quality of SaaS system development:

1. Identify domains and form verticals of your tenants

Data and business logic are what software systems comprise of. The data model and business logic of the system differ tremendously per domain of tenant. To serve tenants from different domains, it is necessary to have your data model and business logic written for domains if not for each tenant.

2. Flexible data models

Data modeling is the first and most important step in software designing. In multi-tenant systems, you need to mold multiple tenants’ data into a single model. It also should allow future customization and new features. Flexibility should be kept in mind while modeling the data.

3. Containerization and CI/CD

Containerization of apps and CI/CD has become a de facto standard in micro-service based systems. They tremendously improve the efficiency of development by speeding up the testing and reducing the probability of issues occurring due to external elements.

4. High automation

Automation is the key to increase the velocity of change and maintain world-class quality. Any human-involved and repetitive activity becomes the candidate for getting automated. Keep a watch for such scope of automation and act whenever you spot any opportunity.

5.Externalizing and centralizing the configurations

Even the tenants of the same domain may have differences in system behaviors. To support such differences, having just the constants in your configuration file is not sufficient. Any change-prone behaviors, feature switches or tuning values should be moved to configuration files. To achieve faster releases, move your configurations out of your container images. Centralizing all the configuration at the single place will help developers get a single view of all configurations.

6.Admin apps for you and tenants

Have an Admin app, with a bare minimum UI (jazz it up over time), which can be used for anything and everything that is needed to be done by an admin to keep the system running. This can include user management, tenant management, job management, system’s maintenance activities etc.

Enabling your customers to do self-service is a key goal of any SaaS system and factoring admin ease of use upfront can go a long way in increasing adoption of your system.

7. Cloud IaaS & Container orchestration for auto-scaling and deployments

Using cloud VMs and container orchestration tools like Kubernetes reduces the DevOps efforts significantly. It enables the system to auto scale in the time of load and simplifies micro-service to micro-service communication with internal DNS capabilities.

8. Data transformations and integrations

Provisioning of new tenants brings with it the need of integration with their own systems and data in unique structure and formats. The data need to be fetched and transformed to make it usable for your multi-tenant system. Tenant-specific customizations and transformation into the tenant-agnostic model can be carried out here so that the core multi-tenant components work on single data model.

9.Good isolations for tenant’s data

In multi-tenant systems, there are multiple ways you can store tenant’s data with the ability to differentiate them by the tenant. These ways are multiple databases, multiple schemas, and discriminator fields. The isolation required to have freedom of different schemas, backups, access controls can be provided only by the first 2 approaches. Apart from databases, in brokers, caches as well, the highest level of isolation should be chosen for efficiency.

10. High monitoring and tests

Multi-tenant SaaS systems generally grow large (with respect to the number of components) and become complex to maintain over time. This can be made easier if admins are given the ability to track everything that is happening in the system, in both business and technical aspects. Any significant business events should be tracked by raising such events to a broker. Technical events such as errors, performance, resource utilization etc. can be tracked by means of application logs or any monitoring solutions. Dashboards provide visualizations and alerts which help admins identify, debug critical issues, derive patterns from user behaviors in real time. Automated tests for user interfaces and integrations help identify issues early

To sum up, make design decisions & tradeoffs on common and tenant-specific customizations to hosted apps, data models, and code logic for your tenants with the goal to have the higher velocity for tenants provisioning, ability to customize without impact,  and quality in delivering services.

Interested to learn more on how we are building such a world-class and complex system at AskSid.ai? Reach out to us at curiousmuch@asksid.ai and let’s start a conversation.

Author: Bhushan Vadgave (bhushan.vadgave@asksid.ai)

My Top 10 learnings from Designing Conversational Systems and Chatbots

My Top 10 learnings from Designing Conversational Systems and Chatbots


”In the old days, we didn’t write the way we talk because there was no mechanism to reproduce the speed of conversation. But texting and instant messaging changed that—and a revolution has begun.”


The truth is that conversational systems and AI have shaken the marketing and technology worlds because they brought the focus back to the customer. Adoption of these systems may be difficult but, in most cases, it is necessary.

Why? … Because, through a conversational system, we get a unique opportunity to design a highly personalised user experience which is available in very few other user-facing systems.

Designing such a system involves automation, personalisation, and ideation of the experience and expertise of the domain to make the system powerful.

Below are my top 10 learnings which must be kept in mind while designing a conversational system:

1. Decide the Journey of the chatbot:

The journey of the bot is key to a successful conversation – It must be intelligent, intuitive, flexible and easy for the user. The message structure, sentences, questions, and compliments must be planned in the flow with a deep understanding of the user problem that the bot is supposed to solve. Plan both guided as well as free flows throughout the journey. Differentiate your conversation experience by designing it to fit your customer’s journey.

2. Remembering the User Context:

This is actually one of the most important aspects of conversational design. Try not to lose user’s context throughout the conversation and be able to refer to it at any point later on – the user will fall in love instantly if you can deliver on this one. The underlying platform architecture and deep knowledge of the industry domain are the two critical success factors that decides how easy or how difficult this can be during implementation.

3. Align to the User:

Bot should be smart enough to align itself to the user’s style. This is key to personalisation. For example, if user sends emojis, the bot should respond with emojis; If user is using exclamation a lot, the bot should also use exclamations. This is a bit difficult if one attempts it at the beginning itself but with time it can be achieved.

4. Give a Personality:

As Vittorio Banfi from Botsoceity puts it – “The personality of your chatbot is like the colour of your website. You can NOT pick a colour”. A common problem in giving personality to the chatbot is that a company always has more than one customer avatars. Does that mean you will have two completely different chatbots within one company? It would be a better idea to ask the users who they are or where they came from and thereby adjusting their experience accordingly. The truth is, like every customer and all human beings, chatbot too needs a distinct personality.

5. Learn and Adjust:

There is no perfect conversation in this world because the “perfection” varies with perception. There is always scope to learn from misunderstandings and adjust the conversational system. The key to a good conversation is how your bot learns and fixes it’s mistakes. Train your bot how to self learn and adjust by building it into various dialogs and providing a dependable knowledge base on which it can fall back on. Using ‘disambiguation’ to train the bot can help a lot in building a successful conversational system.

6. Design with Scale in mind:

Make sure the code base, the conversation flow, messages, and personalisation are built for the future. Think about how the same system can be used by another set of users and different languages in various markets.

7. Switch to human:

Whilst AI is still in its infancy, the chatbots will undoubtedly have problems. Thus, having a fallback to real people can help and delight you and your customers at the same time.

8. UI smooth as butter:

The face of your bot is the UI. Any experience you design for your system is heavily dependent on the user interface it is presented on. The UI for your bot must be clean, fast, interactive and easy to work with. Ease of use may be invisible, but its absence surely isn’t.

9. Fail fast:

In a conversational system, failing fast is very important. Failing in this system will not be the technical errors or bugs but any unexpected flows which leads to an abrupt end that must be adjusted instantly.

10. Design for multiple channels:

keep in mind that messaging platforms are proliferating at a rapid pace. You have Facebook messenger, Skype, web that supports bot technology today and surely Whatsapp, WeChat and many more will follow soon. Your conversation design should be such that when you switch to new channels, you don’t need to rewrite the code or redesign the conversation experience.

In summary, Want your users to fall in love with your bot? Make your bot fall in love with your users.
Curious to know more about how we do things at AskSid.ai? Reach out to me at curiousmuch@asksid.ai and lets start a conversation…

Author: Puneet Joshi (puneet.joshi@asksid.ai)

10 Tips for becoming a better Software Engineer

10 Tips for becoming a better Software Engineer


!!Programmer, Developer, and Software Engineer!!

Below are the commonly associated definitions with the terms Programmer, Developer, and Software Engineer.

1. Programmers turn clearly defined solutions into the code, and all beginners start out with the aim to become a programmer. As the saying goes: everyone can become a programmer.
2. Developers take this further – they can code and design solutions and mostly focus on solving real-world problems. All developers are programmers, but not all programmers are developers.
3. Software engineers, on the other hand, see the big picture and have a deep understanding of how code and programming languages work, so they specialise in designing good solutions that are scalable. Suffice to say, all software engineers are developers, but not all developers are software engineers.

My TEN (10) tips to become a better Software Engineer

1. Write it out before you code

Keep a habit of scribbling out the algorithm/pseudo-code before you actually convert the solution into code. Writing by hand can also help you plan your code before you move it to the computer. You can save a lot of time if you write out which functions and classes you will need, as well as how they will interact. Although more time consuming, this restriction will mold you into a more fundamentally sound developer.

2. Keep a checklist of tasks

When you are implementing a feature, its always good to split the bigger tasks into smaller and clearer tasks which are individual logical units and can be tested individually. Keep a list of such small achievable tasks and keep ticking against them once you complete it. This will give you a boost and motivate you to keep ticking more boxes. The checklist can be either in a book or in any software (like Google Keep).

3. Follow proper version control techniques

Follow a proper version control strategy by creating develop, feature, master branches and having proper access policies set-up. Discuss this with your mentors if this has not been set-up. Whenever you start coding make sure you pull the latest version of the codebase and then start. Keep committing/pushing your code after a logical piece or functionality is complete. Don’t keep your codebase in an uncommitted state for a long time. Always test your code in the local machine before committing it to version control. However small the change may be, at the time of pushing code make it a habit to check the diff of the modified files, this will help you track changes that you had not anticipated and will avoid unnecessary bugs.

4. Constant Refactoring

Code refactoring is the process of changing the source code without modifying it’s functional behaviour, in order to improve the code readability and improve the maintainability by reducing the complexity of the code, as well as improving the code extensibility. Failure to perform refactoring can result in the accumulation of technical debt which the developer has to pay at a later point in time. Trust me, no developer would like to be in that situation. Developers often shy away from touching the code that is already working for a long time. The problem arises when a requirement comes to enhance the existing feature. If the code is not in the proper form for it to be easily extended then its a developer hell. So, to avoid such situations, the pro-tip is to always look for areas in your code which can be improved. If you cannot find it yourself then reach out for help in your team.

5. The code does not self-document

Feel free to leave comments in your code giving explanations why you made certain choices. This will help future learners since not everyone will know why you wrote your code in a particular manner. Do not leave comments that explain obvious coding behavior as they might become irrelevant. Proper code comments will improve the maintainability of the codebase.

6. Ask Google

Not all the problems you encounter will have an obvious solution. Always ask Google, there are probably millions of developers who have come across the same problem that you are in and they also have found out a solution for it. So, do not spend too much time looking out for the solution all by yourself. A lot of developers under-appreciate the degree which googling things is a part of a programmer’s job. Sometimes my job is more about knowing how to search for something than actual programming.

7. Always reach out for help

Programming is actually a social activity. I would not be as good of a programmer as I am now if I didn’t have other’s help. Each of my friends are good in certain areas so whenever I have a problem, I know which friend to ask. I also help them out in return when they have a problem. This is really the only way to get things done. What may seem like an immovable bug or an unlearnable topic could be quickly alleviated by a fresh pair of eyes or a new interpretation of the subject. So do not program in silos, always discuss and progress.
You can also follow Pair Programming technique at times. Pair programming is a technique that involves two developers working on one computer to complete a task. The two developers switch between being the “driver” and the “navigator.” The “driver” writes the code, while the “navigator” helps guide the problem solving and reviews the code as it is written. Switch frequently to get the benefit of both sides. Pair programming has many benefits, it gives you a chance to not only have someone review your code, but also see how someone else might be thinking about a problem. Being exposed to multiple ideas and ways of thinking will help you in problem-solving when you got back to coding on your own.

8. Remember that Technology Always Changes

I like to think of myself as a programmer first and a language-ist second since there will be a day when all of the programming languages we use right now won’t be used anymore. For example, if I started in the 80s, I would be using certain forms of assembly code that are all gone now for the most part. This will happen to all technologies no matter how good or bad. There will be a day when no one uses Java anymore. That said, there is a broad paradigm that programming languages fall into, and there’s sort of a family tree for programming languages.

So, if you know a language that is similar to another one, it can be very easy to pick that language up. For example, Python and Ruby are almost the same programming language. It’s true that, culturally, there are huge differences. However, other than that, they’re almost the exact same thing, so learning one when you know the other is very easy. So do not associate yourself to any technology or programming language and treat them as just tools that will help you in solving a problem at hand.

9. Remember that it is OK to have bugs in your code

We often see a lot of bugs reported in the functionality that we developed, which means most of the time, we’re failing. If all of our programs were feature complete and we didn’t have any bugs, programming wouldn’t even be a thing. Just the fact that we are programming means we either don’t have many features yet, or our software has problems. So, in some ways, you’re always failing as a programmer. This is a weird mindset to get into, but you just have to be okay with things not being perfect and not working; it’s literally our job. Programming is long-term process and in the journey, you will face new obstacles all the time. Keep a habit to record the mistakes that were committed so that you do not commit the same going forward, following which shows you are constantly learning and upgrading yourself as a developer.

10. Always find out ways to automate repetitive tasks

There will often be tasks which you do on a more frequent basis. Like running a set of commands or performing certain activities, which involve you switching between multiple applications/programs/screens, which eat up most of your time. It is advisable to convert these time taking daily activities to be automated in some way either through scripts or simple programs which can be run with a single click or command. This will save your time and you can focus on more interesting tasks and not worry about the routine and mundane tasks.

You definitely should have the mindset that is commonly associated with that of a software engineer and start thinking big.

Curious Much? Let me know your thoughts at CuriousMuch@asksid.ai and let’s start a conversation.

Author: Nitish Deshpande (nitish.deshpande@asksid.ai)