Skip to content

Repository files navigation

Website status

Description

My personal portfolio and blog website.

I write blogs here and share updates about my personal projects.

Since I also publish blog posts here, many of my GitHub contributions may come from updates to this repository.

Stack & Tools

  • Astro
  • React
  • TypeScript
  • Tailwind CSS
  • Radix UI
  • Lucide React
  • Markdown

Privacy

This website does not use cookies or advertising trackers.

No user accounts are required, and no personal information is intentionally collected through forms.

Blog polls store the selected poll option and poll ID in Cloudflare D1. To reduce vote spam, the API stores a salted hash derived from technical request data such as IP address, User-Agent, and poll ID. Raw IP addresses are not stored in the poll database.

The website is hosted using GitHub Pages and Cloudflare. These providers may temporarily process technical information (such as IP addresses, browser information, or request metadata) as part of delivering and securing the website.

Structure

src/pages/           Astro routes
src/layouts/         shared document and metadata
components/          UI and page components
content/blog-posts/  markdown blog posts
lib/blog-posts.ts    blog parser/helpers
lib/i18n/            translations
styles/globals.css   shared styles
public/              static assets
workers/             Cloudflare APIs

Blog posts

Posts live in:

content/blog-posts/en/
content/blog-posts/vn/

Translations

Translations are split by locale:

lib/i18n/index.ts
lib/i18n/en.ts
lib/i18n/vn.ts

License

Releases

Packages

Used by

Contributors

Languages