Blog
A collection of my thoughts, ideas, and experiences. I write about various topics, including web development, technology, and personal topics.
- Link to article1 min read
How to Load Files as ArrayBuffer in Vite
How to load files like fonts as ArrayBuffers in Vite, with an example for embedding custom fonts when using Satori or @vercel/og for dynamic OG images.
- Link to article4 min read
How to set up a table of contents in MDX
Learn how to automatically extract a structured table of contents from MDX posts using rehype plugins, Vite, and TypeScript.
- Link to article4 min read
Set up path aliases and type checking in MDX with TypeScript
Improve DX and reliability in your MDX + TypeScript setup using two small but powerful configuration changes.
- Link to article6 min read
How to generate a robots.txt file in React Router 7 and Remix
Learn how to dynamically generate a robots.txt file for your React Router 7 or Remix app with environment-based rules and automatic sitemap integration.
- Link to article6 min read
Make your button look like an actual button
A simple guide to creating buttons that feel interactive, using nothing but modern CSS techniques inspired by real-world materials and lighting.
- Link to article12 min read
Tailwind CSS v4 tips every developer should know
Looking for ways to improve your development with Tailwind CSS v4? Discover tips and tricks from workflow optimizations to common design patterns.
- Link to article5 min read
How to generate a Sitemap in React Router 7 and Remix
Learn how to automatically generate a sitemap.xml file for your React Router 7 or Remix app using minimal configuration with this step-by-step guide.
- Link to article10 min read
The missing guide to fonts in React Router 7 and Remix
Learn how to self-host fonts, integrate Fontsource, style with Tailwind CSS, and boost performance using preloading.
- Link to article8 min read
Sending thousands of Emails with Deno and Postmark
Learn how we efficiently send over 37k notification emails with detailed logging and error handling.
- Link to article12 min read
Tailwind CSS v3 tips every developer should know
Looking for ways to improve your development with Tailwind CSS v3? Discover tips and tricks from workflow optimizations to common design patterns.
- Link to article14 min read
Modern Syntax Highlighting with Shiki in Next.js 14
Learn how to implement Shiki for modern and performant syntax highlighting in your React and Next.js projects with this comprehensive step-by-step guide.