Hello, I'm Benjamin 👋
A curious software engineer based in Skopje, North Macedonia, solving engineering problems, building products people use, and sharing what I learn along the way.
-
Deno Fails to Resolve an npm Package Imported Without the `npm:` Prefix
Show why Deno treats bare npm specifiers differently and how to import packages with the right resolver rules.
-
Cloudflare Workers Reject a Second Read with `TypeError: body used already` After `request.text()`
Fix Workers handlers that consume a request body twice and learn when to clone or cache the parsed data.
-
ESLint Fails with `Parsing error: Cannot read file tsconfig.json` After Switching to Flat Config
Explain why ESLint can no longer find the TypeScript project file and how to point the parser at the right path.
-
Vercel Builds a Next.js App with `process.env` Undefined in Client Code
Show why browser bundles cannot read server-only env vars and how to separate build-time, server, and client values.
-
Turborepo Keeps Rebuilding the Same Package Because a Task Writes Into Its Own Input Directory
Stop a watch loop caused by generated files landing inside a task's watched inputs and triggering endless rebuilds.
-
Electron Fails with `ipcRenderer is undefined` When the Preload Bridge Is Not Exposed Through `contextBridge`
Explain why a renderer cannot see `ipcRenderer` under context isolation and how to expose only the API you need.
-
Remix Sends a Form Submission to the Wrong Route Because the `action` Path Is Relative
Fix Remix forms that post to an unexpected sibling route when a relative action path resolves against the current URL.
-
Express Leaves `/api/users` Unreachable When the Router Mounts After the Catch-All
Show why a later catch-all route shadows mounted Express routers and how to order middleware so nested routes resolve correctly.
-
React Native Metro Rejects an Image Import with "Requiring unknown module" for a File Outside the Project Root
Explain why Metro fails on image imports that resolve outside the bundle root and how to restructure or alias the asset path.
-
Next.js Hydration Mismatch: CSS Module Class Names Render Differently on Server and Client
Fix hydration errors caused by mismatched CSS Module class names between server-rendered HTML and client hydration.