mikexxz
All posts

Why Build a Blog from Scratch

logo

This post was machine-translated from Chinese. Read the original

There are plenty of off-the-shelf blogging systems. With Hugo, Astro, or even a Notion page, you can go live in ten minutes. But the goal of this blog isn't "to have a blog." It's to walk through the entire Web stack, end to end.

There Is Only One Rule

If a feature can be outsourced, deliberately build it yourself:

  • Comments: stored and moderated by me, with commenters signing in through GitHub OAuth
  • Auth: admin login uses a session system I implement myself, rather than a third-party service
  • Search: full-text search with Postgres tsvector
  • Counting: view counts live in Redis

Roadmap

The project is split into six phases, and each one must be deployable by the time it ends:

  1. Frontend: design tokens, layout, homepage list, article page
  2. API: Hono + Drizzle + PostgreSQL
  3. Admin dashboard: login, editor, drafts and publishing
  4. Rendering and caching: ISR, notifying the frontend to revalidate on publish
  5. Comments, view counts, full-text search
  6. Engineering: Docker, CI, VPS deployment, logging and monitoring

The blog is the vehicle; learning is the goal.

What you're looking at now is the output of phase one: all the articles are still local mock data.

Comments

Delete this comment?

Its content will be removed. This can’t be undone.