About the author

10 years in the industry · shipping ideas into live products

Liam

Liam

Independent developer Liam, with 10 years across product, engineering, testing, design, and operations. From the blog frontend and admin to NestJS API, then three-brand watermark mini programs, Android / iOS apps, edge video-parse, and Leek Assistant — designed and shipped end to end. This site records tech and life, and showcases the product matrix built by hand.

About this site

Xiaobailong Blog is a live personal content-and-tools ecosystem — not a single-page template. Nuxt SSR for readers, Vite+ admin for ops, NestJS for data, realtime, and jobs; the same Monorepo also powers three watermark WeChat mini programs (Xiaobailong / Qishui / Doubao), Android / iOS apps, EdgeOne video-parse, and Leek Assistant. Reading, bookmarks, guestbook, chat, search, and donations live together — creation, tools, and connection in one TypeScript workspace.

Features

From reading to interaction — all in one place

Articles Markdown rendering, table of contents, dark mode, and RSSBookmarks Curated sites and tools organized by categoryBlogroll Friend links with fellow bloggers who share and recordGuestbook Public messages and replies with the author and visitorsChat room Realtime text, images, and AI assistant — sign in to joinSupport WeChat / Alipay donations to support ongoing writingSearch Full-text search across post titles and contentRSS Subscribe to latest posts via feed.xml

Roadmap

From skeleton to interaction and side apps — shipped in phases

  1. 01

    Foundation

    pnpm Monorepo with Nuxt web, NestJS API, and Admin — unified TypeScript and shared types

  2. 02

    Content

    Posts, tags, bookmarks, blogroll, and guestbook — reading and discovery as daily entry points

  3. 03

    Launch

    Docker Compose production, HTTPS, search, and RSS — a stable public site

  4. 04

    Interaction

    Sign-in, realtime chat, donations, and moderation — closer links between visitors and author

  5. 05

    Tool matrix

    Three-brand watermark mini programs, Android / iOS apps, video-parse, and Leek Assistant joined the same repo

Projects

Blog stack and side products maintained in this Monorepo

Blog frontend

apps/web

Nuxt 4 SSR — posts, bookmarks, blogroll, guestbook, chat, and donations (PC + H5)

Nuxt 4SSRPC + H5
Open site

Admin

apps/admin

Vite+ + Element Plus — content ops, RBAC, mini-program and donation logs (PC ≥1280px only)

Vite+Element PlusRBAC
Open admin

NestJS API

apps/api

Unified REST / WebSocket / job queues for the blog, mini programs, and desktop app

NestJS 12Prisma 7WebSocket

Watermark-remover mini programs

apps/wx-x

uni-app x multi-brand packages — parse short-video / image share links and save watermark-free media; tools and mutual-visit included

Watermark remover mini program QR code

Video link parse

apps/video-parse

Hosted on EdgeOne Pages, proxied by the API for mini program / App parsing

EdgeOne PagesAPI Proxy

Leek Assistant

apps/fund-desktop

Electron desktop fund watchlist — download Windows / macOS builds on this page

v0.1.4ElectronWindows / macOS

Market data comes from public sources for reference only and is not investment advice. Investing involves risk.

Tech stack

pnpm TypeScript Monorepo — blog web, admin, NestJS API, plus mini program / App / video-parse / desktop

Blog frontend

Nuxt 4.5.2Vue 3.5.43Nuxt UI 4.11Tailwind CSS 4.3Pinia 4.0md-editor-v3 7.1Socket.io Client 4.8

Admin

Vite+ 1.1.0Vue 3.5.43Element Plus 2.14Pinia 4.0Axios 1.20md-editor-v3 7.1

API & data

NestJS 12.1Prisma 7.10MySQL 9.0Redis 8.10Socket.io 4.8RabbitMQ 4.3Kafka 4.3Aliyun OSS SDK 6.23

Side apps

uni-app xEdgeOne PagesElectron 44.7Android / iOS App 1.2.5

Engineering

pnpm 12.6TypeScript 6.0@blog/sharedVite+ 1.1.0 (vp check)Vitest 5.0Docker Compose

Architecture

Decoupled multi-client stack on a single Docker Compose host with blue/green — Caddy for HTTPS; API / Web / MySQL / Redis / MQ / Kafka run in containers; mini program and desktop share NestJS API and @blog/shared

  1. Clients

    • Nuxt 4.5 SSRReading & interaction (PC + H5)
    • Admin SPAContent ops & RBAC (PC only)
    • uni-app x MPThree-brand watermark WeChat mini programs
    • Android / iOS App 1.2.5Watermark Android / iOS app
    • Electron 44Leek Assistant (Electron)
  2. Edge & infrastructure

    • 云服务器Production Linux host running Compose
    • CaddyHTTPS reverse proxy · Admin static · vhosts
    • Docker ComposeOrchestration · api/web blue-green
    • OSS CDNMedia via Aliyun OSS + CDN
    • EdgeOneVideo-parse edge functions (not on-host)
  3. Compose containers

    • api-blue / greenNestJS 12 container · REST / WS / queues
    • web-blue / greenNuxt 4.5 container · SSR blue-green
    • Admin 静态Caddy serves admin-current static
    • RabbitMQ 4.3Compose network · watermark / crawl jobs
    • Kafka 4.3Compose network · API request log stream
  4. Data & shared

    • MySQL 9.0Compose network · not public
    • Redis 8.10Compose network · cache / tokens / online
    • OSSImages & attachments
    • @blog/sharedCross-app DTOs / constants

Request flows

  • Browser → Caddy → web-blue/green (Nuxt SSR) → api-blue/green (NestJS)
  • Browser → Caddy static Admin → api-blue/green (JWT Bearer)
  • Mini program / App → Caddy → NestJS; video-parse on EdgeOne, proxied by API
  • Desktop → NestJS fund-desktop API (public quotes; optional Redis / MySQL via API)

Start exploring

Record and share here

Read the latest posts, leave a message, or connect with the author