Using Appsmith to build Pelican — A Pro 360° Dashboard

Shivansh Tiwari
Instawork Engineering
8 min readSep 18, 2023

--

As the saying goes, “with great power comes great responsibility”, when you build a powerful platform like Instawork that caters to the needs of millions of professionals and businesses, it comes with the responsibility to ensure their needs and issues are addressed promptly and effectively, ultimately leading to enhanced user experience and successful resolution of their enquiries.

So, who takes on this responsibility?

Instawork’s ever growing team of Community Operation agents play a crucial role in promptly addressing inquiries and providing guidance to the professionals and partners. Pros can navigate our in-app Help Desk to self service their issues, but if the problem they are facing is more nuanced, they can reach out to our Community Operations team via chat. Our CommOps agents have a deep understanding of the product and our users, and are able to provide fair resolutions to all parties involved in a timely manner.

Reducing Contact Rate with Top-of-the-Funnel Solutions

Previously, we at Instawork have made efforts to ensure that the professionals can solve most of their problems themselves, either by utilizing the help desk which contains FAQs for most of their queries, or ensuring that the product is simple and intuitive enough for them to understand the information that we are providing, and figure out the solution to their concern. The key metric that we have been tracking for this is average contact rate. Whenever a professional reaches out to us, we immediately initiate tracking the handling time as soon as the query is attended to by an agent. However, it is important to note that any time during which the ticket is put on snooze is not included in the calculation of Average Handling Time (AHT). Our agents might choose to snooze a ticket for a multitude of reasons, such as waiting for a response from the professional, requiring assistance, and much more.

Problems with the Current Workflow

When Instawork was at a smaller scale, we utilized Django’s admin pages for our agents to resolve customer issues. This was a low-effort solution that provided fast and reliable access to the latest information. However, as the organization and product scaled over the years, more complex workflows emerged, such as tracking, verification, and fraud detection. It became apparent that the Django admin pages were not designed to handle these workflows. As a result, when investigating a ticket, our agents found themselves juggling through numerous pages to extract key details, as well as checking internal tools for location tracking and profile information.
Navigating through a sea of tables and columns to find key information can be a daunting task for even the most seasoned support agents. It’s like searching for a needle in a haystack, while also juggling a dozen other tasks. This not only leads to high average handling times but also creates a steep learning curve for new agents. At Instawork, we believe that as the product grows, team size and product can not scale 1:1 as it is not sustainable. Thus, we need to focus on this problem and ensure that we reduce the average handling time for the incoming tickets.

Introducing Pelican — A 360° View Tool built using Appsmith

Pelican is like the glue that brings together all the pieces of the puzzle. It creates an information layer on top of some key internal tools which agents use to find information and take decision regarding a ticket, making it easy for agents to access all the relevant information they need to resolve a ticket. We’ve made sure that the information flow follows the user’s story, making it easy to understand the context and the issues at hand.

Why Pelican?
The spirit of pelicans is generous because it gives graciously without expecting anything in return. But other than that, pelicans are humble birds in general as well. They’re peaceful creatures that avoid hurting others at all costs and will only hunt to have enough to eat and feed their young.

This signifies usage for CommOps, a team thats fighting against odds and trying to ensure our pros are getting all their issues resolved when everything else fails.

Pelican is also designed with User Experience (UX) and information architecture in mind. We’ve made it intuitive and easy to use, ensuring that agents can perform all the relevant actions from Pelican itself. This saves time and eliminates the need for agents to remember the names of tables and columns where they can find information.

So the next time a ticket comes in, our agents can sit back, relax, and let Pelican do the heavy lifting. After all, every superhero needs a sidekick, and Pelican is the perfect partner for our CommOps agents!

Why did we pick Appsmith

Appsmith is a low-code platform that empowers developers to build custom web applications with ease. With a drag-and-drop interface, pre-built UI components, and access to APIs and databases, Appsmith makes it possible for developers of all levels to rapidly create and deploy sophisticated web applications.

Our decision to utilize Appsmith for the initial development of Pelican was based on the need for a prompt and efficient solution to test our hypothesis around average handling time reduction and platform usability. With Appsmith’s help, we were able to expedite the development process and validate our assumptions as quickly as possible. The positive outcomes that we were able to extract very quickly have convinced us to double down on our investment and work towards building a comprehensive set of workflows for Pelican and utilizing various approaches to solve the overall problem statement of reducing the average handling time.

With these Appsmith features, our Pelican took flight!

Workflow Research and Optimization

Instawork is a large and complex product, and thus requires a monumental effort to understand the nuances of all the existing workflows. We accomplished this by

  • Conducted shadow sessions with CommOps agents to comprehend complex workflows and customer issues.
  • Gained insight into common user pain points and developed solutions accordingly.
  • Strategically divided and prioritized shadow sessions based on individual workflows.
  • Analyzed average handling time (AHT) and number of tickets for each workflow to determine priorities.
  • Improved support processes and user experience by focusing on workflows with higher AHT and ticket volume.
  • Iteratively built other workflows while measuring impact and adjusting approach based on feedback and metrics.
  • Removed redundant actions and steps taken by agents to solve a particular workflow ticket

Fetching information and performing actions

Even though Appsmith makes building UI components a breeze, our agents need to be equipped with the freshest and finest intel about our professionals and platform. After all, they’re not just making small talk — they’re making crucial decisions like reactivating a pro which impacts the lives of our pros, who quite often rely on Instawork for making a living. That’s why we need an API workflow with spot-on authentication that keeps the riff-raff out.

We implemented a hybrid approach for retrieving information, using direct SQL queries on a replica database for workflows with stable schemas and Django APIs for workflows subject to frequent schema and rule changes. By utilizing this method, we were able to optimize performance and efficiency and speed of development for each workflow type.
We developed Django APIs with relevant authentication classes which ensure that only authorized agents can perform actions, thereby preventing unauthorized access to sensitive information.

One crucial factor to consider is that while replica lag may not be a significant issue most of the time, it is critical to handle situations where an outage affects the replica database gracefully. If these scenarios are not handled appropriately, it could lead to disastrous actions by the agents and trigger a domino effect of failures. Therefore, it’s crucial to have a contingency plan in place for such situations. In the future, we aim to migrate our data fetching workflows entirely to Django APIs to prevent such occurrences. This move will enhance the reliability and resilience of our system and ensure uninterrupted service delivery to our users.

The Impact of Pelican

We’ve made our comm ops workflows fly with Pelican! We have achieved significant success in improving our comm ops workflows by deploying two Pelican workflows that handle ‘no show’ and ‘worker status related tickets. These workflows have directly impacted worker payments, bonuses, activation/deactivation state, and status on the platform. As a result, we have reduced the average handling time of these tickets by approximately 37%!

Of course, our agents are still getting the hang of the tool, but the success we’ve seen so far has us eager to keep building workflows on Pelican. By leveraging its automation capabilities, we can free up our agents’ time and improve the efficiency and accuracy of our processes. Pelican is our new wingman, and we’re confident that it’ll help us soar higher and faster towards our goals!

Now, when we talk about reduction in AHT, it can not be done only with the help of a tool like Pelican. It has to be a combination of solving a lot of problems, mostly upstream fixes and automation.

Our learnings while building Pelican

While building the tool, we realized that it is absolutely necessary to have a defined set of rules and processes for how a ticket is handled by the agent. If the organization does not have these rules, it becomes very difficult to build a standard solution for agents which meets all of their needs. It is also important to ensure that every agent is aware about the source of truth of any information, as a given piece of information can appear in multiple places.

Another set of learnings from our side revolve around using a low code tool for building a product like Pelican. While low code tools have revolutionised software development by reducing the need for manual coding, they are not without their shortcomings.

One significant drawback is the limited customization options offered by such tools, which may constrain the developer’s UI/UX creativity and makes it very difficult to align the tool with the company’s overall design system. We have also faced some issues while trying to integrate git with Appsmith and merging the changes into main branch for production release, but Appsmith’s support and engineering team have been very proactive in responding to our issues and resolving them as soon as possible.

Using a low-code tool also restricted reusability of various pieces of code, queries and API calls as they did not support using them across pages. They have been working on this and we have conducted feedback sessions with the team for this feature, and we hope to utilise this in future to reduce our code and component duplication!

Conclusion

We can confidently say that Pelican is more than just a bird with a large beak. It’s a powerful tool that has helped us transform our customer support process and deliver exceptional experiences to our users. The results we’ve achieved so far have been nothing short of amazing, and we’re excited to continue pushing the boundaries of what’s possible.

So while this may be the end of our blog post, it’s only the beginning of our efforts. We’re excited to continue exploring the possibilities of Pelican and other innovative tools, and to keep pushing the boundaries of what’s possible in the world of customer support. Together with our superhero agents and their sidekick Pelican, we’re confident that we can deliver exceptional experiences to our users, time and time again.

--

--