<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/nmiayd3q1" -->

---
title: I Spent 8 Hours Proving I Was Wrong | daily.dev
description: A developer attempts to migrate a Next.js application from Vercel to Cloudflare and Netlify, spending 8 hours adding edge runtime exports and debugging...
canonical: https://daily.dev/posts/nmiayd3q1
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I Spent 8 Hours Proving I Was Wrong | daily.dev
og:description: A developer attempts to migrate a Next.js application from Vercel to Cloudflare and Netlify, spending 8 hours adding edge runtime exports and debugging...
og:url: https://daily.dev/posts/nmiayd3q1
og:image: https://api.daily.dev/og/posts/NMIaYd3q1.png
og:image:alt: Post cover image
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I Spent 8 Hours Proving I Was Wrong

**[All NextJS](https://daily.dev/sources/allnextjs)** · [@georgeongoro](https://daily.dev/georgeongoro) · 1 upvotes · 0 comments

## Summary

A developer attempts to migrate a Next.js application from Vercel to Cloudflare and Netlify, spending 8 hours adding edge runtime exports and debugging mysterious failures. After encountering white screens on Cloudflare and random 404s on Netlify, they return to Vercel where everything works immediately. The experience reveals that while Next.js claims platform agnosticism, it's deeply optimized for Vercel's infrastructure—features like ISR, image optimization, and edge middleware expect Vercel's specific implementation. The lesson: choosing Next.js means choosing Vercel, as the framework's design creates a gradient of friction that makes migration technically possible but practically painful.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ongoro.top/devops-deployment/i-spent-8-hours-proving-i-was-wrong>

## Similar posts on daily.dev

- [Vercel: The anti-vendor-lock-in cloud](https://daily.dev/posts/vercel-the-anti-vendor-lock-in-cloud-onmol0gkh) · Vercel · 49 upvotes · 4 comments
- [I'm 12. This morning I fought two hosting providers. My app survived both.](https://daily.dev/posts/i-m-12-this-morning-i-fought-two-hosting-providers-my-app-survived-both--idkuxfs1o) · DEV · 2 upvotes · 0 comments

---

Tags: [#cicd](https://daily.dev/tags/cicd), [#nextjs](https://daily.dev/tags/nextjs), [#cloudflare](https://daily.dev/tags/cloudflare), [#vercel](https://daily.dev/tags/vercel), [#edge-computing](https://daily.dev/tags/edge-computing)

[View this post on daily.dev](https://daily.dev/posts/nmiayd3q1)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/nmiayd3q1","headline":"I Spent 8 Hours Proving I Was Wrong","text":"Shared: I Spent 8 Hours Proving I Was Wrong","url":"https://daily.dev/posts/nmiayd3q1","datePublished":"2026-02-11T05:48:40.607Z","dateModified":"2026-02-11T05:48:40.613Z","author":{"@type":"Person","name":"George Ongoro","url":"https://daily.dev/georgeongoro","image":"https://media.daily.dev/image/upload/s--jXl_MleY--/f_auto/v1779359556/avatars/avatar_JCfNZtLPNzTFifdLCBjRk?_a=BAMAMiWQ0","description":"Full-Stack Engineer | Go & TypeScript | Shipping production software, open-source CLIs, and systems","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":6310}},"image":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"sharedContent":{"@type":"WebPage","url":"https://api.daily.dev/r/MbzpeNe8P"},"isPartOf":{"@type":"WebPage","url":"https://daily.dev/squads/allnextjs","name":"All NextJS"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"All NextJS","item":"https://daily.dev/squads/allnextjs"},{"@type":"ListItem","position":3,"name":"I Spent 8 Hours Proving I Was Wrong"}]}
```

