lkmail.me

Blog

Écrits sur le code, l'architecture et la vie.

lkmail Update 1.20_1: Tooling Quirks, VS Code Security, and Env File Consolidation

Resolving environment variable collisions between Next.js and Cloudflare, and silencing VS Code JSON schema security warnings.

lkmail Update 1.20_2: The Final eval() Boss and Masterclass in AI Prompting

Defeating the hidden eval() trap in gray-matter on Cloudflare Workers, and how to write better AI prompts to prevent Edge-runtime deployment bugs.

lkmail Update 1.20_3: Edge Runtimes, the File System, and Static Generation

Why Node.js fs fails on Cloudflare Workers, how to read Next.js build logs, and implementing generateStaticParams for Edge-safe MDX blogs.

lkmail Update 1.20_4: The Final Next.js Edge Gotcha (Force Static)

Locking down Next.js dynamic routing on Cloudflare Workers using dynamic = 'force-static' and dynamicParams = false to bypass the fs module.

lkmail Update 1.20_5: OpenNext Caching and Defeating the SSG 404

Why statically generated Next.js pages return 404s on Cloudflare, and how to configure OpenNext static asset caching for a pure SSG architecture.

lkmail Update 1.20_6: The Invisible Wall Between Build Time and Runtime

Why environment variables work locally but fail in production, and how to configure Cloudflare Build Secrets for Next.js SSG.

lkmail Update 1.20: The App Router vs. The Content Layer (And MDX i18n)

Fixing Next.js routing conflicts, architecting a bilingual file-system for MDX, and building a strongly-typed Blog Index.

lkmail Update 1.19_1: Cloudflare Workers, the eval() Trap, and React Markdown

Debugging silent failures in Next.js on Cloudflare Pages by migrating from next-mdx-remote to react-markdown to bypass V8 Isolate eval() restrictions.

lkmail Update 1.19: Mastering the SMTP2GO API Integration

A deep dive into our SMTP2GO API specifications, tracking features, unsubscribe management, and Cloudflare secret rotation.

lkmail Update 1.18: The UI Strategy – Shadcn, Aceternity, and Magic UI

How to combine Shadcn/ui for accessible foundations with Magic UI and Aceternity for micro-interactions, while adhering to the KISS principle.

lkmail Update 1.17: GitHub API Integration and Cloudflare Secrets

Securely managing environment variables with Wrangler CLI and fetching live portfolio data using the GitHub GraphQL API.

lkmail Update 1.16: Implementing the MDX Blog Architecture

Turning markdown into React components by building a custom local MDX parser and dynamic Next.js 16 blog routes.

lkmail Update 1.15: Optimizing Next.js Image Sizes for Peak Performance

How to resolve Next.js Image warnings and maximize CDN performance by mapping Tailwind CSS classes to the sizes attribute.

lkmail Update 1.14: Building the MDX Parsing Architecture

Why we chose local MDX files over a headless CMS for the lkmail blog, and how to implement it using Next.js 16.

lkmail Update 1.13: Centralizing External Links

Improving maintainability and avoiding hardcoded values by abstracting external URLs into a centralized routing dictionary.

lkmail Update 1.12: Eradicating Markdown Artifacts in Next.js Links

How hidden AI markdown formatting can break external links in Next.js, and the clean-up applied to our Footer component.

lkmail Update 1.11: Footer Refinements and Formatting Enforcement

Streamlining the application footer for a focused professional identity and enforcing strict Markdown formatting for AI blueprints.

lkmail Update 1.10: Hydration Strictness and Assembling the Home Page

Refining Next.js hydration suppression syntax and officially launching Phase 2 by assembling the localized Home page.

lkmail Update 1.9: The Definitive Hydration Mismatch Body Patch

Why applying suppressHydrationWarning to the body tag is the official Next.js solution for next/font/google and browser extension mutations.

lkmail Update 1.8: Conquering Hydration Mismatches in Next.js 16

How to fix React hydration mismatch errors on the <body> tag caused by next/font/google and browser extensions.

lkmail Update 1.7: Global Layout Injection and Artifact Clean-up

How to properly mount global UI components like Navbars and Footers in the Next.js 16 App Router using the root localized layout.

lkmail Update 1.6: Translated SEO Routes and E-E-A-T Optimization

Implementing fully localized route paths in Next.js 16 to maximize international SEO and E-E-A-T using a centralized route dictionary.

lkmail Update 1.5: Foundational Code Blueprints and Phase 1 Completion

Wrapping up Phase 1 of the lkmail architecture by enforcing strict component separation and establishing AI-proof code blueprints.

lkmail Update 1.4: File Structure Refinement and Base Components

How to properly structure a Next.js 16 App Router project, including shadcn/ui configuration and isolating React Server Components.

lkmail Update 1.3: Bulletproof Next.js Initialization with Cloudflare CLI

How to initialize a Next.js 16 project for Cloudflare Workers using the official Cloudflare CLI to guarantee OpenNext compatibility.

lkmail Update 1.2: Strict pnpm Enforcement and Code Clean-up

Why enforcing a strict package manager (pnpm) and cleaning up code artifacts is essential for maintaining a pristine Next.js 16 architecture.

lkmail Update 1.1: Building a Lightning-Fast Next.js 16 Foundation

A chronological guide on how I built the initial architecture for lkmail using Next.js 16, Tailwind CSS v4, and Cloudflare OpenNext.