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.