Ryan Florence
Table of content
the react router guy goes ai
Ryan Florence co-created React Router and Remix. if you’ve built a React app in the last decade, you’ve probably used code he wrote. React Router is installed millions of times monthly. Remix pushed React toward server-side rendering and web platform fundamentals. Florence is credentialed, influential, and—importantly—not an AI hype person. so when he talks about AI coding, people listen.
Florence’s entry into AI-assisted development was pragmatic, not evangelical. Remix development involves coordinating complex interactions between server rendering, client hydration, data loading, and nested routes. that’s a lot of boilerplate and mental overhead. AI tools promised to handle the tedious parts. he tried them.
the result: measured enthusiasm. AI coding assistants are genuinely useful for React development—autocompleting component structures, generating route configurations, writing data loaders—but they’re not magic. Florence uses cursor , claude code , and GitHub Copilot regularly. they accelerate his workflow. they don’t replace understanding React or the web platform.
what ai gets right (and wrong) about react
Florence observed that AI is excellent at React patterns because React has massive training data. every tutorial, Stack Overflow answer, GitHub repo, and blog post contributes to the model’s understanding. ask an AI to write a form with validation or a data-fetching hook, and it’ll produce decent code. the patterns are well-established.
where AI struggles: understanding your specific codebase architecture, existing abstractions, and team conventions. it generates generic React code, not the React code your team would write. if you’ve built custom hooks for data fetching or established naming conventions, the AI won’t automatically follow them unless you provide extensive context.
Florence’s approach: use AI for scaffolding and boilerplate, then edit for consistency. let the AI generate the component skeleton, data loader, and test file. then review, refactor, and align with your architecture. this is faster than writing from scratch but slower than pure autocomplete enthusiasts claim. the productivity gain is real but bounded.
he also noted that AI coding changes how you learn frameworks. traditionally, you’d read documentation, build example projects, internalize patterns, then apply them. with AI, you can generate working code before understanding it. that’s efficient for shipping features but potentially harmful for mastery. Florence worries about developers who can prompt AI to build Remix apps but couldn’t explain how data loading works.
the framework design question
Florence’s unique perspective: he designs frameworks that millions of developers use. AI changes framework design priorities. if AI can generate verbose code reliably, maybe frameworks should optimize for AI readability instead of human terseness. explicit patterns over clever abstractions. clear data flow over magic.
Remix already leans this direction—collocated loaders, explicit data dependencies, minimal client-side state. that explicitness makes Remix code easier for AI to generate and understand. compared to older React patterns (global state, useEffect chains, implicit data flow), Remix’s conventions are more “AI-friendly.” Florence didn’t design it that way intentionally, but the alignment is notable.
this raises a question for framework authors: should you optimize APIs for human developers or AI agents? the answer is probably “both,” but the trade-offs differ. humans prefer concise APIs that minimize boilerplate. AI agents don’t care about verbosity—they care about clear patterns and unambiguous semantics. if AI becomes the primary code generator, framework design incentives shift.
Florence hasn’t published formal positions on this, but his talks and podcasts explore the tension. frameworks like svelte and solid prioritize DX and compiled output. Remix prioritizes web platform alignment and server-client boundaries. which approach works better with AI assistance? unclear. maybe both, for different use cases.
teaching in the ai era
Florence teaches React through workshops, courses, and conference talks. AI coding tools complicate pedagogy. do you teach React fundamentals first, then introduce AI tools? or do you teach with AI from the start and backfill understanding? he’s experimenting with both.
his current stance: fundamentals still matter. you need to understand component composition, state management, and data flow before AI assistance is useful. otherwise, you’re copying code you can’t debug when it breaks. but once you have fundamentals, AI accelerates dramatically. the value curve is nonlinear.
this aligns with steve yegge ’s CHOP philosophy but with more emphasis on foundational knowledge. Florence isn’t arguing against AI coding—he’s arguing that AI amplifies what you already know. if you don’t know much, AI amplifies confusion. if you understand React deeply, AI eliminates boilerplate and lets you focus on architecture.
he’s also adapted his teaching materials. examples now include “here’s how AI would generate this” alongside “here’s how I’d write it manually.” that dual approach helps students understand both what AI produces and why you might modify it. the goal is developing judgment, not just execution speed.
the remix + ai workflow
Remix development with AI follows a pattern: describe the feature, let AI generate the route file with loader/action/component, review the generated code, refactor to match your abstractions, write tests (often AI-assisted), deploy. this workflow is faster than manual coding but still requires developer oversight at every step.
Florence emphasizes the “review and refactor” phase. AI-generated Remix code often works but isn’t optimized. the loader might fetch more data than needed. the component might not use Remix’s built-in optimization features. actions might not handle edge cases. experienced developers catch these issues during review. inexperienced developers ship them.
this creates a skill gradient: senior developers use AI to move faster without quality loss. junior developers use AI but produce lower-quality output because they don’t recognize what to fix. that gap matters for hiring, team structure, and code review processes. Florence hasn’t solved this—he’s observing it in real-time with his team and students.
why florence matters
Ryan Florence represents the “framework author using AI” perspective, which is distinct from both “AI startup founder” and “developer using AI tools.” he understands abstractions, API design, and long-term maintainability. his takes on AI coding come from maintaining large-scale open-source projects and teaching thousands of developers.
his measured stance—AI is useful, not revolutionary—provides counterbalance to hype. Florence uses AI daily and still emphasizes fundamentals, code review, and understanding. that’s a sustainable position. it acknowledges AI’s value without discarding traditional engineering practices.
his work on Remix also influences how other frameworks think about AI integration. next.js added AI-powered features. astro explored AI component generation. framework authors watch what Florence builds because Remix often predicts broader React ecosystem trends. if Remix integrates AI features deeply, others will follow.
the long view
Florence isn’t betting against AI or fully betting on it. he’s integrating AI tools where they provide value and ignoring the hype cycles. that pragmatism reflects his position: established framework author who doesn’t need to chase trends to stay relevant. Remix’s success depends on building excellent full-stack web apps, not riding the AI wave.
that said, Florence is actively exploring AI’s potential. Remix could add AI-powered route generation, intelligent data prefetching, or automated performance optimization. the framework is well-positioned for AI integration because its conventions are explicit and learnable. whether Florence pursues that direction depends on whether it makes Remix genuinely better, not whether it’s trendy.
in a field full of hot takes and polarized positions, Ryan Florence offers nuance: AI coding is valuable, frameworks might adapt, fundamentals still matter, let’s build good software regardless of the tools. that’s the attitude that built React Router. it’ll probably work for navigating the AI transition too.
→ related: steve yegge | siddharth bharath | steve ruiz