My New Blog: A Journey of Refactoring and Evolution
My New Blog: A Journey of Refactoring and Evolution
This marks the second personal project I’ve completed in 2025. My plan for this year is to develop three personal projects using Golang, Rust, and Elixir. So far, I’ve finished a small project in Golang, and this blog rewrite leverages Rust and Next.js.
Why Rewrite the Blog?
My previous blog was built three years ago using Django and SQLite. While it was fully functional, its frontend design was basic and lacked refinement. With advancements in technology and my evolving aesthetic sense, I decided to embark on a complete overhaul of my blog.
Technology Stack
- Backend: For this rewrite, I chose the Rust
actix-webframework. Data is managed using Markdown files and Redis, eliminating the need for a traditional database. An async task periodically checks and updates data to ensure the blog content is always up-to-date. - Frontend: The frontend was rebuilt entirely using Next.js, featuring a cleaner and more streamlined design that delivers a smoother user experience.
- CI/CD: Both the Rust backend and the Next.js frontend are integrated with GitHub Actions for automated CI/CD, making the development process efficient and reliable.
Why Rust?
Compared to the Django and Flask frameworks I was previously familiar with, Rust development felt slightly slower at first. However, with the assistance of ChatGPT, the overall efficiency remained competitive. More importantly, Rust, alongside Golang, demonstrated significant advantages in the CI/CD pipeline, including faster builds and better runtime performance. This optimization allowed me to deploy the project on a more affordable VPS, reducing costs substantially.
Project Outcomes
The entire blog project—from backend API to frontend interface—was completed in under two days. Both the code structure and user experience represent a substantial improvement over the previous version.
Looking Ahead
My next personal project will be rewriting my personal website, which will be a purely frontend-focused endeavor.