Personal Website
My personal website. It serves as a place to publish projects, writings, notes, development logs, data visualization, photography, etc.
I built this website with a focus on simplicity, performance, and a clean reading experience.
/photosI’ve changed some icons and narrow down the Stream post categorization
Also, dropped the idea category to simplify things since I have a Notes page.
Digital garden posts in /notes are now synced with my Obsidian vault. It’s stored in a separate private repository, linked via git submodules and updated using the Obsidian Git plugin.
The site is now running on Astro 6 🚀. Made a few tweaks to migrate from Astro 5:
Moved src/content/config.ts (old content collection) to the new src/content.config.ts. Also, now we import { z } from astro/zod instead of astro:content.
Removed @astrolib/seo because of compatibility issue with Astro 6.
28 collapsed lines
2026-03-26T13:35:38.020109Z Cloning repository...2026-03-26T13:35:38.697968Z From https://github.com/odhyp/odhyp.com2026-03-26T13:35:38.69854Z * branch 17ba1bde64cc7d69801e7adf9725a85af534c474 -> FETCH_HEAD2026-03-26T13:35:38.698666Z2026-03-26T13:35:38.732626Z HEAD is now at 17ba1bd refactor: update uses page2026-03-26T13:35:38.733003Z2026-03-26T13:35:38.801733Z2026-03-26T13:35:38.802168Z Using v2 root directory strategy2026-03-26T13:35:38.814951Z Success: Finished cloning repository files2026-03-26T13:35:41.134317Z Checking for configuration in a Wrangler configuration file (BETA)2026-03-26T13:35:41.134982Z2026-03-26T13:35:42.240986Z No Wrangler configuration file found. Continuing.2026-03-26T13:35:42.473427Z Detected the following tools from environment: npm@10.9.2, nodejs@22.16.02026-03-26T13:35:42.473838Z Installing project dependencies: npm clean-install --progress=false2026-03-26T13:35:44.705903Z npm error code ERESOLVE2026-03-26T13:35:44.706235Z npm error ERESOLVE could not resolve2026-03-26T13:35:44.706384Z npm error2026-03-26T13:35:44.706461Z npm error While resolving: @astrolib/seo@1.0.0-beta.82026-03-26T13:35:44.706523Z npm error Found: astro@6.0.82026-03-26T13:35:44.706555Z npm error node_modules/astro2026-03-26T13:35:44.706583Z npm error astro@"^6.0.8" from the root project2026-03-26T13:35:44.706621Z npm error peer astro@"^6.0.0" from @astrojs/mdx@5.0.22026-03-26T13:35:44.706714Z npm error node_modules/@astrojs/mdx2026-03-26T13:35:44.706754Z npm error @astrojs/mdx@"^5.0.2" from the root project2026-03-26T13:35:44.70679Z npm error 1 more (astro-expressive-code)2026-03-26T13:35:44.706828Z npm error2026-03-26T13:35:44.70688Z npm error Could not resolve dependency:2026-03-26T13:35:44.706926Z npm error peer astro@"^1.2.1 || ^2.0.0 || ^3.0.0-beta.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 || ^5.0.0" from @astrolib/seo@1.0.0-beta.82026-03-26T13:35:44.706981Z npm error node_modules/@astrolib/seo2026-03-26T13:35:44.70703Z npm error @astrolib/seo@"^1.0.0-beta.8" from the root project2026-03-26T13:35:44.707251Z npm error Conflicting peer dependency: astro@5.18.12026-03-26T13:35:44.707296Z npm error node_modules/astro2026-03-26T13:35:44.707338Z npm error peer astro@"^1.2.1 || ^2.0.0 || ^3.0.0-beta.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 || ^5.0.0" from @astrolib/seo@1.0.0-beta.818 collapsed lines
2026-03-26T13:35:44.707369Z npm error node_modules/@astrolib/seo2026-03-26T13:35:44.707435Z npm error @astrolib/seo@"^1.0.0-beta.8" from the root project2026-03-26T13:35:44.707541Z npm error2026-03-26T13:35:44.707583Z npm error Fix the upstream dependency conflict, or retry2026-03-26T13:35:44.707636Z npm error this command with --force or --legacy-peer-deps2026-03-26T13:35:44.707685Z npm error to accept an incorrect (and potentially broken) dependency resolution.2026-03-26T13:35:44.707722Z npm error2026-03-26T13:35:44.70776Z npm error2026-03-26T13:35:44.707796Z npm error For a full report see:2026-03-26T13:35:44.70792Z npm error /opt/buildhome/.npm/_logs/2026-03-26T13_35_43_047Z-eresolve-report.txt2026-03-26T13:35:44.708001Z npm error A complete log of this run can be found in: /opt/buildhome/.npm/_logs/2026-03-26T13_35_43_047Z-debug-0.log2026-03-26T13:35:44.767113Z Error: Exit with error code: 12026-03-26T13:35:44.767497Z at ChildProcess.<anonymous> (/snapshot/dist/run-build.js)2026-03-26T13:35:44.767818Z at Object.onceWrapper (node:events:652:26)2026-03-26T13:35:44.768276Z at ChildProcess.emit (node:events:537:28)2026-03-26T13:35:44.768397Z at ChildProcess._handle.onexit (node:internal/child_process:291:12)2026-03-26T13:35:44.773818Z Failed: build command exited with code: 12026-03-26T13:35:45.943035Z Failed: error occurred while running build commandI implemented a custom Head.astro component. SEO metadata is now handled via props passed through BaseLayout.astro for every pages.
I’ve added some new icons for Stream posts, with each tag represents the type of update.
Welcome to Stream, a new addition to the site.
This page host a chaotic stream of short notes, development logs (new features, bug fixes), experiments, ideas, and occasional life updates. Somewhere between a micro-blog and a dev log.