Blog
A collection of my thoughts, ideas and experiences. I write about various topics, including web development, technology and personal topics.
- Link to article
Prevent AI Bots from spamming your forms with honeypots
Learn how to implement a honeypot to protect your form from spam submissions by AI or regular bots.
- Link to article
Relative Links in Next.js: A Shortcut for Nested Routes
How to use relative links in Next.js <Link> component, with an example showing simpler navigation.
- Link to article
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 article
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 article
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 article
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 article
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 article
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.