Aug. 20, 2021 » Instawork Engineering » [Archived Version]
There can be some strong opinions on the built-in signals available in Django and whether or not they should be used, but we’ll skip that here and instead focus on some basics of how best to use them and avoid some common pitfalls.For the uninitiated, signals are synchronously (this will be important later) firing events that trigger handlers. There are a few common built in ones, we’ll be discussing post_save and pre_save signals that are triggered whenever a Django model is saved.Infinite Loo…
Read MoreOct. 7, 2019 » Instawork Engineering » [Archived Version]
Using Django, Intercooler, and MercurePhoto by Marc-Olivier Jodoin on UnsplashIn a previous post, I described how Instawork doubled our web development productivity by abandoning React and embracing server-rendered pages enhanced with Intercooler.js. A standard React/Redux setup requires a lot of duplicated work; logic has to be written once on the server (as the source of truth), and a second time on the client (for local state management). By doing all UI rendering in our Django codebase, we …
Read MoreMay 28, 2019 » Instawork Engineering » [Archived Version]
Improving UI performance with Django’s Prefetch ObjectAs an engineer at Instawork, it’s my responsibility to make sure our web UI loads quickly to provide a great user experience. It can be hard to keep a page fast as we add features and display more information. I recently worked on such a page, which gave me an opportunity to learn about Django’s tools for optimizing database query performance.A core feature of Instawork is connecting our business partners with qualified hospitality professio…
Read MoreFeb. 19, 2019 » Instawork Engineering » [Archived Version]
At Instawork we have multiple different environments (test, development, staging, production) and we have quite a few different Django…Continue reading on Instawork Engineering »
Read MoreOct. 24, 2018 » Instawork Engineering » [Archived Version]
About a year ago, Instawork started experimenting with a new product called Gigs. Gigs lets restaurants and caterers fill on-demand shifts with pre-qualified dishwashers, cooks, and servers from Instawork’s network of professionals. Our MVP was little more than a Google form to request shifts. This worked OK in the early days, but as the product took off, it became clear we needed a web dashboard for managers to view and edit their gigs.Our existing web dashboard (a hiring app for full time job…
Read MoreApril 3, 2018 » Instawork Engineering » [Archived Version]
“Birds flying away” by elPadawan / CC BY SAOver the last few months, the Instawork engineering team has been moving our AWS infrastructure from manually deployed EC2 instances to an Elastic Container Service (ECS) cluster managed with CI/CD. The benefit is clear: as our engineering team and traffic grow, automated deployments and auto-scaling free us up from worrying about dev-ops and allow us to focus on product improvements.The core functionality of ECS works really well:We push a new Docker …
Read More