Applied online, and received an email nearly 3 weeks later asking me to complete a take-home assignment. As another reviewed mentioned, the ask was huge at first glimpse, and once I started working on it, I realized it was impossible to complete in the 3-4 hour time frame they wanted.
You are to implement the web application for a home automation light controlling system. The backend API was already built, but to use it, you have to integrate it into your front-end code. The front-end logic was incredibly complex, and in reality, would likely require a dedicated team of developers to build over a period of weeks.
Requirements include developing and documenting a solution, adding automated tests at different levels, and adding integration tools to help with development productivity. You also have to create the mobile version from a desktop wireframe (they do not provide a mobile design). You also have to make a variety of assumptions regarding how the app works, and document those assumptions. They don't want this on GitHub, so you have to send them a zip file. And please do this in 3-4 hours.
I then got an [unhelpful] email that stated that I didn't meet their criteria, and that I lacked creative solutions. As the other reviewed mentioned, I found this very hard to believe because my solution addressed all of the requirements. It had bugs and needed improvement, but I don't know how "creative" you can get for something like this. Especially in 3-4 hours.
I would advise anyone thinking of applying here to not do so. Save your time. It feels like they're just looking for free labor with an assignment of this magnitude.
Interview questions [1]
Question 1
You are in charge of implementing the web application for a home automation light controlling system. Each light bulb, potentially on different rooms, is paired up with a single device that can turn the light on or off and control its brightness. The app should be able to control the brightness, toggle each light on/off, and change the name. You are expected to make a variety of assumptions, and document everything clearly in the readme. A desktop wireframe is included, but you are expected to adapt it for mobile. The completed assignment should work in a Docker container that will run your application on port 8000. Use our component library in your app, and feel free to open any issues if you run into problems with this library. You may use our proxy API to test your front-end against. You are expected to deliver documentation, automated testing at different levels, and integration with tools to aid development productivity, such as linters. Do this in 3-4 hours.