Date: 05-Sep-2025


Deploy my own blog finally

Love at first sight

I came across khuedoan.com while scheming through Leptos documentation. His simple yet efficient, thus elegant solution is what I have been looking for:

  • Converting markdown to HTML helps to focus on content rather than juggling with syntax.
  • Simple architecture fits right to the needs of a personal blog.
  • His implementation also helps to speed up understanding of the application life cycle (from development to deployment).

However, contradictorily, such simplicity did make me scratch my head and think twice, "I want to learn full-stack, not just creating content!". It was time to search for another solution.

Searching for a definitive solution

I then stumbled on this book: FullStack Rust with Axum from Martin Fabio. I did not follow closely what he wrote in the book. The reason was that Martin introduced HTMX into his stack, while I have decided that Leptos is my true soul mate. Still, his gold-standard guidance, especially in architecture and industry best practices, is something I cannot help but praise. I jumped around between chapters, gluing up parts with his demonstration to complete what you are currently looking at.

Teachers of tomorrow

Of course, generative AIs are my sifus, holding my hand and guiding me over this entirely new rocky realm. Sadly, if you expect to "vibe code" the entire project with several simple prompts, please prepare to get yourself fall into a great despair. In spite of being a true fan, I am proud that I have brought both ChatGPT and Claude into many unstoppable iterative processes where they cannot figure out what to do next.

The reasons are:

  • Rust and Leptos are the future, promising but not yet mature.
  • Many Rust crates are not even in their stable versions yet, so breaking changes will always be a part of the game.
  • Dependencies do not always guarantee backward compatablity (especially in beta version under fast pace developement)
  • The Leptos framework is rising, yet can hardly be found in production.

Your best guess?

  • At the time this blog is built, available solutions are really scarce. Please, take a look at the repo awesome-leptos ans start counting to confirm my statement.
  • Material exposure is limited to AI models.
  • Even if there are, they might not function under the fast-paced progress of the Rust-lang and Leptos framework.

Why walk on such an unpaved path?

To be honest, I am not a trained SWE. I do not earn my bread and butter from the discipline. My spark of love for cutting-edge technologies simply comes from my absolute abhorrence of legacy tech debt I have encountered in my daily jobs. When I finally chose Rust and Leptos as my companions to explore full-stack development, it just felt right. Yeah, it clicked. Hopefully, I will keep feeling this good while learning new things.

What are gains?

Here and there, looking at my project, you will find elements inspired by Khue's solution. However, beyond the front-end impression, a deeper look into my project's structure (like yin-yang to his) would undoubtedly intimidate beginners taking their first steps into the realm of full-stack development. Soldiers, when you progress to see how LEGO pieces are placed and know how to connect the dots, you will start thanking Martin for his way of "complexity". Yeah, I blame him for that.

From my point of view, my over-engineered project is no different from a newbie's gains on their first day at the gym with a world-class trainer.

Recently, I had a small conversation with an old friend. He chooses to live simply and avoids anything that would complicate his life. I nodded and told myself I should follow his advice. Yet, over this learning journey, I have gained more than just the knowledge I have been seeking. I came to appreciate complexity - the "right" complexity. Gems, you need to hike the extra mile across the hills to see what I really mean.

Why is this important?

Fully launching a personal website with industry-grade architecture is a significant milestone for me personally. I could not agree more with an old Chinese proverb: "A journey of a thousand miles begins with a single step." Indeed, the hardest part is to get started. Over time, more features will be added as I deepen my knowledge in full-stack development with the latest industry practices. I will update them regularly as the project expands further. Stay tuned.

For more details on technical discussion, please visit the repo.