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.
-
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.
-
Astro Serves Broken Images After Deployment Because the Asset Path Points at the Wrong Origin
Fix deployed Astro pages that load HTML but 404 their CSS, JS, or image assets from an incorrect public path.
-
Remix Reads `process.env` in a Route Loader but the Variable Is Undefined in Production
Fix route loaders and actions that work locally but lose environment values after deployment or adapter changes.