AuthorSiteContactRSS

A Complex and Non-Universal Blog

This site is an independently designed and developed, highly customized blog that only meets my personal needs.

This site uses the following technology stack:

CloudflareSupabaseSvelteKitRemixTiptapOpenAI

Core Features

The original intention of development, in addition to taking this opportunity to learn new technologies, is more importantly that the CMS on the market cannot fully meet my needs.

Multi-language
Multi-language is one of the original intentions of this site's design. Currently, there are Chinese, English, and Japanese content. Content other than Chinese is translated by AI and proofread by me.
Image Object Storage
Photography is also one of the features that distinguishes this site from general blogs. Due to the large amount of high-definition image storage and browsing requirements, the media storage of this site only supports object storage, easily supporting several Gb of image storage.
AI
Deep integration of AI, used to generate summaries, image descriptions, URL slugs, etc. There may be more applications in the future.
Front-end and Back-end Separation
The database, CMS, front-end, and media storage are all independent. Therefore, subsequent upgrades and refactoring will be easier.

Site Architecture

Using a serverless architecture, front-end and back-end separated. Deployed on Cloudflare.

Database: Most of the data is stored in Supabase, and a small amount of configuration information is stored in Cloudflare Workers KV. User authentication is done using Supabase Auth.
Admin Panel: Developed using SvelteKit and deployed on Cloudflare.
This Site: Developed using Remix, full-site SSR, and deployed on Cloudflare.
Edge Functions: A Cloudflare Workers is responsible for handling tasks such as image uploads, AI calls, and other third-party API calls to improve request success rates.

Although the CMS and this site are open source on GitHub, there is currently no preparation to make them publicly available as mature products. The deployment and configuration of this site are relatively complex, and it is not recommended to try without a technical background in front-end and back end.

李大毛