
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>zhyd1997</title>
      <link>https://zhyd1997.dev/blog</link>
      <description>Exploring web development, software engineering, and tech insights</description>
      <language>en-us</language>
      <managingEditor>undefined (Adam Chang)</managingEditor>
      <webMaster>undefined (Adam Chang)</webMaster>
      <lastBuildDate>Sun, 02 Nov 2025 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://zhyd1997.dev/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://zhyd1997.dev/blog/better-auth-oauth2-callytics</guid>
    <title>Better Auth OAuth 2.0 with Callytics: A Better DX for OAuth Integration</title>
    <link>https://zhyd1997.dev/blog/better-auth-oauth2-callytics</link>
    <description>How Better Auth simplifies OAuth 2.0 integration in Next.js, eliminating the pain of manual callback and refresh token logic—featuring my Cal.com OAuth integration in Callytics.</description>
    <pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
    <author>undefined (Adam Chang)</author>
    <category>Better Auth</category><category>OAuth 2.0</category><category>Callytics</category><category>Cal.com</category><category>Next.js</category>
  </item>

  <item>
    <guid>https://zhyd1997.dev/blog/resolve-nextjs-build-oom-on-vercel</guid>
    <title>Fixing Next.js v14+ Build OOM on Vercel</title>
    <link>https://zhyd1997.dev/blog/resolve-nextjs-build-oom-on-vercel</link>
    <description>In March 2024, our Next.js project started failing to build on Vercel with out-of-memory (OOM) errors after we introduced the App Router. Traditional fixes like `NODE_OPTIONS` did not help, and debugging was difficult due to limited container memory and lack of tooling. By inspecting Next.js source code, tuning `experimental.cpus` and `webpackBuildWorker`, and disabling production source maps, we raised build success rates to around 80%—restoring stability to a complex, long-running project.</description>
    <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
    <author>undefined (Adam Chang)</author>
    <category>Next.js</category><category>Vercel</category><category>OOM</category><category>Performance</category><category>build-time</category>
  </item>

  <item>
    <guid>https://zhyd1997.dev/blog/cal-dot-com-eslint-pre-commit-hook</guid>
    <title>Fixing Cal.com ESLint Pre-commit Hook Failure with Turborepo</title>
    <link>https://zhyd1997.dev/blog/cal-dot-com-eslint-pre-commit-hook</link>
    <description>How I fixed the ESLint pre-commit hook failure in Cal.com with Turborepo in an hour.</description>
    <pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate>
    <author>undefined (Adam Chang)</author>
    <category>Cal.com</category><category>ESLint</category><category>Turborepo</category><category>Next.js</category>
  </item>

  <item>
    <guid>https://zhyd1997.dev/blog/cal-dot-com-sentry-vercel-oom</guid>
    <title>How I Helped the Cal.com Team Resolve a Sentry Integration That Crashed Vercel Builds</title>
    <link>https://zhyd1997.dev/blog/cal-dot-com-sentry-vercel-oom</link>
    <description>While helping the Cal.com team, I resolved a critical issue where Sentry’s Next.js integration caused Vercel builds to run out of memory. The root cause was the `withSentryConfig()` wrapper bloating server-side output during build. By removing it and replacing it with a lightweight `@sentry/cli` script for client-side source maps, we restored stable, fast, and memory-efficient builds—without losing Sentry’s error tracking.</description>
    <pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate>
    <author>undefined (Adam Chang)</author>
    <category>Cal.com</category><category>Sentry</category><category>Vercel</category><category>Next.js</category>
  </item>

  <item>
    <guid>https://zhyd1997.dev/blog/the-trip-to-the-maldives</guid>
    <title>The Trip to the Maldives</title>
    <link>https://zhyd1997.dev/blog/the-trip-to-the-maldives</link>
    <description>2 nights...</description>
    <pubDate>Fri, 28 Mar 2025 00:00:00 GMT</pubDate>
    <author>undefined (Adam Chang)</author>
    <category>travel</category>
  </item>

    </channel>
  </rss>
