HTCH

HTCH, building The Best Architect Collaborative Web Tool with Kestra

A screenshot of the user interface of Kestra's application

Introduction

HTCH is creating a new kind of architectural design collaboration tool. One with Architects at the heart. Architects and designers often have to manage huge files and handle different versions, with different file formats. It takes time and storage space. To solve those challenges and provide a modern approach to architects, HTCH rely on Kestra for orchstrating their new tool.

Technology Stack

Native three-dimensions architect files are not suited for the web. HTCH's mission is to create a collaborative web platform that can expose those models in an efficient way. They need to upload files to cloud storage and connect APIs together so their engine can process 3D models and expose them to their users.

To manage this complex data landscape, HTCH implemented a multifaceted technology stack:

  • Kafka: to send events between the web API where users collaborate and trigger Kestra flows to process data.
  • AWS S3: to store files and data in the cloud.
  • Discord: whenever a file transformation succeeds or fails, information is notified into a dedicated Discord channel.
  • Node & Python: to process and optimize files using the gtlf-transform library and some home made scripts.
  • Kestra: The orchestration layer that ties all the above technologies together, simplifying complex workflows and automations.
Kestra

Kestra

Produce

DiscordExecut...

CreateBucket

Python

Building an Efficient Web Platform

The core mission at HTCH is to transition native three-dimensional architectural files to a collaborative web platform, making these models accessible and efficiently managed. This goal necessitates the integration of diverse technologies to handle file uploads to cloud storage and API connections, allowing for the seamless processing and exposure of 3D models to users.

HTCH has built a strong technology stack. Kafka facilitates event communication between the web API and Kestra workflows, ensuring efficient data processing. AWS S3 serves as the cloud storage solution, housing files and data securely. Discord provides real-time notifications on file transformation outcomes, for immediate feedback loops. Node and Python are employed to process and optimize files, utilizing both the gtlf-transform library and custom scripts to prepare data for web consumption. Central to orchestrating these components is Kestra, simplifying and automating workflows to ensure smooth operation across systems.

Streamlining Operations with Kestra

HTCH's adoption of Kestra has been critical in enhancing its service offering. Kestra's event-trigger pattern enables automated workflows upon file uploads via the web browser. This system architecture maintains service decoupling while managing integrations through Kestra, promoting system coherence and efficiency. Moreover, Kestra's ease of installation and flexibility in connecting with S3 storage, executing custom scripts, and responding to Kafka events have expedited the development process, allowing HTCH to quickly achieve a production-grade project.

Future Enhancements and Optimizations

Satisfied with the current system architecture, HTCH is now refining its platform further. Plans include transitioning from Restack to AWS EC2 for Kestra deployment and optimizing costs without sacrificing functionality. This move will be accompanied by the integration of Postgres RDS for database management and continued use of S3 for internal storage, ensuring a streamlined and robust cloud-based Kestra installation. Additionally, the incorporation of Discord as a plugin within Kestra's ecosystem will enhance messaging integration, improving communication and system feedback.

By integrating Kestra into their workflow, HTCH has accelerated the development of their architectural design collaboration tool and also how they manage and process architectural data.

Getting started with Kestra

Start building with Kestra — Automate Everything Everywhere All at Once.

Read the docsGet started!