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.
- Astro
- React
- TypeScript
- Tailwind CSS
- Radix UI
- Lucide React
- Markdown
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.
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 APIsPosts live in:
content/blog-posts/en/
content/blog-posts/vn/Translations are split by locale:
lib/i18n/index.ts
lib/i18n/en.ts
lib/i18n/vn.ts- Code: GNU GPLv3 or later
- Blog posts and personal writing: CC BY-NC-ND 4.0
- Images and branding are © Aka Duy. All rights reserved unless stated otherwise.