Work often involves a lot of repetitive and time-heavy tasks. For example, at OpenCraft we automate the decommissioning of unneeded servers, the preparation of monthly invoices for our employees, and tasks like sending reminders about project and sprint planning. Since most of these tasks require following a step by step procedure, we work carefully to establish good procedures, and then automate these procedures. Doing these tasks manually takes a lot of time, but by instructing a computer on how to perform these tasks (therefore automating them), we save time.
By automating (almost) everything that can be automated, OpenCraft team members are liberated from mundane and tedious tasks. Accordingly, we can instead focus on challenging work that requires creativity and critical thinking.
Automation not only makes the workspace more enjoyable, but also improves quality, productivity, and security.
Automating tasks improves the quality of our code. One of the most common methods of automation is continuous integration/deployment. Here at OpenCraft, we use continuous integration to ensure that every change made on our maintained repositories is tested. This approach guarantees that every time we change the code, the previous features we added still work, bugs we've fixed before remain fixed, and the quality of the code stays high.
By identifying the issues in the changes early, results can be delivered without any unexpected failures.
Automating routine tasks also improves security. Executing such tasks manually can become boring quickly. When the person is no longer focused on the task at hand, the risk of human error usually increases. Such errors can have a serious impact on security when updating configuration files or applying updates or patches.
Ocim is our hosting platform which makes managing configurations, patches, updates, and customizations easy through automated deployments. Automated deployments help run a number of procedures that ensure proper security on the hosted applications.
Another common method of automation is monitoring for errors or attacks on deployments and alerting team members about those incidents. OpenCraft combines multiple tools to notify the team of any incident, instantly. This way we can address serious issues quickly, and minimize downtime. Since we are a fully remote company with team members all over the world, this means that our team can work around the clock to resolve issues.
Automating tasks results in increased productivity. By automating all tasks that don’t require critical thinking, team members can focus on complex tasks that cannot be solved by machines. Meanwhile, the tiresome work is getting done, without wasting the members’ time... nor our clients' budgets!
Automation also reduces the repetitive act of jumping from task to task (we call it "context switching"), which keeps us more focused.
The benefits of automation are various, including improvements in quality of work, productivity, and security. Even though some time has to be set aside for automating work, it is definitely worth the investment!
Want to learn more about how we work at OpenCraft? You can check out our public handbook. Or get in touch — we’d love to talk with you.
Photo by Eric Krull on Unsplash
Note: we no longer offer our Pro & Teacher Plan
A few months ago we decided to rebuild our Open edX instance manager frontend to provide more customization options and features to our Pro & Teacher plan subscribers and trial users.
We needed to go from a simple registration form (shown below) to a full user console with theme customizations, LMS previews and other features.

From the start, the main goals of the project were: implement a new user console to allow users to self-service and enable our developers to work on the newer technologies that the platform is transitioning to.
We’ve opted for a decoupled implementation between the frontend and the backend using React and a REST API.
Changes made to the backend took form mostly as APIs to the new frontend, but we had to add some deployment hooks to allow passing custom configuration to the instance in provision time. drf-yasg handled the automatic generation of documentation.
The new frontend was built from scratch using React and Typescript. A TypeScript API client was generated using the backend's automatic documentation, using Swagger Codegen and saving us lots of development time.
While building the console, we leveraged a lot of features contributed over the years to the platform:
After a few months of implementation, we finally deployed our brand new user console:
Feel free to try it out on https://console.opencraft.com, and you can even deploy your own from the source code! The entire instance manager is open source software and can be found at: https://github.com/open-craft/opencraft, and if you want to dig deeper, you can follow the PR trail on the implementation.
There’s still lots of improvements to be worked on and bugs to be fixed, so if you have any suggestions, feel free to create an issue on the repository or comment below.