I have more than 10 years of experience with web technologies, but I’m a Rust newbie currently learning the language. Working in the Data/AI engineering domain, I extensively use Python (handling data and models) and TypeScript/JavaScript (to build apps integrated with AI models).
While my exposure to languages like C, C++, Haskell, Java, and Scala was primarily academic or as a hobby, I found myself drawn to Rust. And to learn Rust better, what better than to embark on a project?
It’s been some time since I wanted to try HTMX, too, so it’s the perfect occasion to dive in Rusty waters while catching the HTMX wave: let’s build a ChatGPT clone with Rust, HTMX, and my favorite styling framework, TailwindCSS.
It’s already at least my 4th ChatGPT clone with different technologies, as it’s a great Hello World project to evaluate a tech stack for the Web.
After reviewing web frameworks in Rust, particularly Actix and Axum, I leaned towards Axum. While I lacked prior experience, Axum's approach resonated with me. It offered intuitive ways to navigate code samples and important functionality implementation like: