Dec. 13, 2024 » Instawork Engineering » [Archived Version]
First, There Was The MonolithInstawork’s main product is implemented as a monolithic codebase using the Django framework. This choice has served us well from the founding of the company, and it exemplifies our guiding principle of “Respecting the Craft”:Develop deep expertise with a limited set of tools, and pick technologies carefully to solve a particular problemBy sticking with a monolith, engineers at Instawork need to develop expertise with only one language (Python) and one set of convent…
Read MoreSept. 17, 2024 » Instawork Engineering » [Archived Version]
IntroductionIn pursuing excellence within the digital automation landscape, visualizing and comprehending screen workflows can be a transformative capability. Introducing Screenchain, a pioneering Django web application that exemplifies how innovation can enhance understanding and efficiency in automated processes. This blog post delves into what Screenchain is all about, how it works, its benefits, and the challenges our QA team overcame to bring this tool to life.What is Screenchain?Screencha…
Read MoreJune 28, 2024 » Instawork Engineering » [Archived Version]
IntroductionStartups grow fast, and scaling infrastructure to keep up can be challenging. As companies expand, efficiency, scalability, and reliability become crucial for smooth operations and meeting market demands. This blog post will discuss how ProxySQL, an advanced MySQL proxy server, helped us manage our SQL traffic and connections as we scaled.The ProblemInstawork faced a critical growth stage two years ago that began to strain our infrastructure. As our traffic peaked, it led to too man…
Read MoreSept. 18, 2023 » Instawork Engineering » [Archived Version]
Using Appsmith to build Pelican — A Pro 360° DashboardAs 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 growin…
Read MoreJuly 12, 2023 » Instawork Engineering » [Archived Version]
At Instawork, we want to create economic opportunity for all workers, and not just those who speak English. To do so, language must not be a barrier; localization of the app to support the 14% Spanish speaking population in the United states is a key first step. However, Spanish is but one of many languages spoken across the globe; to truly achieve our objective, we need not one-off efforts, but instead a scalable process to localize the app for many regions and languages.Here, we’ll go over ou…
Read MoreMay 16, 2023 » Instawork Engineering » [Archived Version]
The Journey from Hack-a-thon to Production: Lessons LearnedAt Instawork, hackathons are a time-honored tradition. Every few quarters, our teams eagerly anticipate the chance to collaborate on experimental ideas, explore new technologies, and have a blast doing it. Over the years, many hackathon projects have become integral parts of our product, such as NFC-based clock in/out features, crowdsourcing staffing information, and our innovative Falcon tool.This was my first hackathon at Instawork an…
Read MoreSept. 24, 2022 » Instawork Engineering » [Archived Version]
It was March 2021. We were struggling to keep our start-up afloat. Stateoftheart.ai was a platform to facilitate AI research that we have been working on for over 2 years. The core team was Andres and Toño, PhDs from MIT leading us in terms of product and AI, me (Hugo) leading the overall technology, Lalo mostly guiding UI/UX and frontend efforts, and Jorge our more versatile engineer helping us in all fronts.As a team passionate for AI and Tech, our main motivation was to create something usef…
Read MoreMay 23, 2022 » Instawork Engineering » [Archived Version]
At Instawork, we use Celery to queue and process background tasks from our Django code. Typically, we want the tasks to be processed as quickly as possible. But sometimes we want a task to be processed at a specific point in the future. For example, we may want to send a reminder notification to our users 1 hour before the start of their shift. Celery offers a convenient way to do this by providing an eta or countdown value when queueing the task from Django. This seems like a perfect solution …
Read MoreFeb. 19, 2022 » Instawork Engineering » [Archived Version]
How can an engineering team maintain consistent conventions in a growing codebase? When working on new code, engineers add new patterns to improve productivity. But usually there’s no time to refactor older code to use the new pattern. Soon, there are multiple approaches to the same problem. This actually harms productivity as engineers debate the merits of the different patterns, spend time reimplementing their features, etc.https://xkcd.com/927/So what’s the solution? Use a codemod. A codemod…
Read MoreOct. 20, 2021 » Instawork Engineering » [Archived Version]
A tale of performance — ECS, Boto3 & IAMWhile going through NewRelic and looking at some of the worst offenders in terms of performance, we discovered some calls to S3 that were taking over 5000ms❗️This was alarming as our SLA for API/View response times was 250ms, and these network calls are destroying our KPIs. Through a series of experiments and iterations, we managed to bring the S3 access times down to 7ms, and learned some fascinating things about configuring Boto3 sessions and assign…
Read More