Thermify Dashboard

For this project, I was tasked with designing an internal application to streamline the team’s workflow in managing their 3D printer farm. The dashboard was built using Docker, Django, Python, JavaScript, WebSockets, and RESTful APIs. This technically focused project aimed to combine powerful UI elements with a simple user experience, allowing the application to handle the complex tasks in the background while improving overall efficiency for the team.

Analysis

The team was previously managing each printer through individual tabs, leading to inefficiency and constant tab-switching.

The Problem
The Goal

The solution is to create a unified dashboard that pulled real-time data from all printers into one central location.

User Pain Points

Operational Manager

  • Eliminate the need for switching between tabs to streamline printer management.

  • Request for an integrated file manager feature for easier file handling and access.

  • Reduce unnecessary “Are you sure?” confirmation prompts—one confirmation is sufficient.

User Research

CEO

  • Real-time printer status and data are crucial for better oversight and decision-making.

  • Ability to control and monitor each printer from the dashboard for improved operational efficiency.

  • Login system must authenticate seamlessly against the company’s LDAP server for secure access.

Lead Engineer

  • Prioritise a clean, simple UI that enhances usability and reduces cognitive load.

  • Ensure the dashboard is responsive and performs well even with a large number of printers.

  • Have the appliation communicate clearly with the user and create documentation.

To better understand the team's needs and challenges, I conducted team interviews to identify their pain points and gather insights on how the current workflow could be improved. This research helped shape the design decisions, ensuring the final application addressed the real issues the team was facing.

Wireframe

I began the design process by creating an initial wireframe to explore how all the necessary information could be effectively centralised on one dashboard. This early layout focused on identifying key components, such as the need for an "Add Printer" form, allowing users to easily integrate new printers into the system. The wireframe served as a foundation for understanding the information hierarchy and layout, helping to ensure that all critical data and controls would be easily accessible and well-organised within the single interface.


View in Figma

Review

Printer Card

  • Request for a miniature file manager on each individual printer card to manage files more efficiently.

  • The "bed ready" button idea was well received, preventing prints from starting too soon.

  • Using my initiative to push for incorporating real-time status updates was appreciated.

Feedback

Add Printer

  • The "Add Printer" feature empowers users with full control over adding new printers to the system.

  • Triggering the creation of a new printer card on the dashboard when a printer is added, ensuring a seamless integration.

  • It''s reccommended that I include thorough error handling and restrictions for form inputs.

Overview

  • The logic is well-structured and organised, ensuring a smooth user experience across the dashboard.

  • The UI strikes a clean, minimalistic design while still delivering essential information and control at a glance.

  • Critical to the success of the overview page is the ability to quickly identify any issues or printer statuses, helping users prioritise tasks effectively.

After presenting the initial wireframe to the team, I opened up a discussion to gather feedback on the logic and structure of the app’s blueprint. This collaborative feedback session allowed us to fine-tune the user flow and ensure that the design met the team's functional requirements and expectations.

Architecture

Before writing any code, I prefer to visualise how each component interacts within the application. Using FigJam, I map out the architecture to identify potential bottlenecks and issues early in the process. I believe thorough preparation is key to delivering projects efficiently and on time. I also enjoy the creative challenge of piecing together the structure of an application, ensuring everything works seamlessly.

Final Product

Next Stages

Now that the application is live and fully functional for managing 3D printing workflows, the next step is to refine the overall design and further enhance its capabilities. Planned improvements include visual indicators, such as colour changes when a print is in progress or when temperatures fluctuate, as well as a filament run-out detection feature. The feedback so far has been overwhelmingly positive, significantly improving the team's satisfaction with the printing process.