41554 blogs · [ { "id": "01a087b0-1d7f-71cc-81f3-66c84fd1fd33", "title": "Using Claude Code to fix our most-reported bug", "url": "https://www.nikolailehbr.ink/blog/fixing-a-react-raf-leak-with-claude/", "published_at": "2026-06-25T02:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c850b081d1", "title": "Redirecting off-campers.com to vanever.com", "url": "https://www.nikolailehbr.ink/blog/redirect-off-campers-to-vanever/", "published_at": "2026-01-08T12:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c850d3a732", "title": "Why font format order matters in @font-face declarations", "url": "https://www.nikolailehbr.ink/blog/font-face-declaration-order/", "published_at": "2025-10-08T18:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c851664b93", "title": "Prevent AI Bots from spamming your forms with honeypots", "url": "https://www.nikolailehbr.ink/blog/prevent-form-spamming-honeypot/", "published_at": "2025-09-29T08:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c851e152f6", "title": "Relative Links in Next.js: A Shortcut for Nested Routes", "url": "https://www.nikolailehbr.ink/blog/relative-linking-nextjs/", "published_at": "2025-08-25T20:50:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c8524163d3", "title": "How to Load Files as ArrayBuffer in Vite", "url": "https://www.nikolailehbr.ink/blog/load-files-as-arraybuffer-vite/", "published_at": "2025-08-11T20:15:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c8533361ed", "title": "How to set up a table of contents in MDX", "url": "https://www.nikolailehbr.ink/blog/mdx-table-of-contents/", "published_at": "2025-08-04T08:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c853faf389", "title": "Set up path aliases and type checking in MDX with TypeScript", "url": "https://www.nikolailehbr.ink/blog/enhance-mdx-typescript/", "published_at": "2025-07-28T08:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c8548417c6", "title": "How to generate a robots.txt file in React Router 7 and Remix", "url": "https://www.nikolailehbr.ink/blog/robots-txt-react-router-7/", "published_at": "2025-07-21T00:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c855521704", "title": "Make your button look like an actual button", "url": "https://www.nikolailehbr.ink/blog/realistic-button-design-css/", "published_at": "2025-07-14T09:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c855582441", "title": "Tailwind CSS v4 tips every developer should know", "url": "https://www.nikolailehbr.ink/blog/tailwindcss-v4-tips/", "published_at": "2025-07-08T00:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c8564940d9", "title": "How to generate a Sitemap in React Router 7 and Remix", "url": "https://www.nikolailehbr.ink/blog/sitemap-react-router-7/", "published_at": "2025-07-01T00:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c856ef7f82", "title": "The missing guide to fonts in React Router 7 and Remix", "url": "https://www.nikolailehbr.ink/blog/fonts-remix-react-router-7/", "published_at": "2025-06-18T00:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c857273ea9", "title": "Sending thousands of Emails with Deno and Postmark", "url": "https://www.nikolailehbr.ink/blog/batch-mails-deno-postmark/", "published_at": "2025-06-06T00:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c8579890a1", "title": "Tailwind CSS v3 tips every developer should know", "url": "https://www.nikolailehbr.ink/blog/tailwindcss-v3-tips/", "published_at": "2024-04-19T00:00:00+00:00" }, { "id": "01a087b0-1d7f-71cc-81f3-66c8587c6522", "title": "Modern Syntax Highlighting with Shiki in Next.js 14", "url": "https://www.nikolailehbr.ink/blog/syntax-highlighting-shiki-next-js/", "published_at": "2024-02-04T00:00:00+00:00" } ] posts Claim your blog
Back to nikolailehbr.ink
Blog · corpus.blog/blogs/nikolailehbr.ink/posts

nikolailehbr.ink

nikolailehbr.ink

2026

2025

2024